@velora-dex/widget 0.0.13 → 0.0.15

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 (570) hide show
  1. package/dist/components/ui/accordion.js +0 -10
  2. package/dist/components/ui/accordion.js.map +1 -1
  3. package/dist/components/ui/badge.js +0 -10
  4. package/dist/components/ui/badge.js.map +1 -1
  5. package/dist/components/ui/button.js +0 -10
  6. package/dist/components/ui/button.js.map +1 -1
  7. package/dist/components/ui/card.js +0 -10
  8. package/dist/components/ui/card.js.map +1 -1
  9. package/dist/components/ui/counter.js +0 -10
  10. package/dist/components/ui/counter.js.map +1 -1
  11. package/dist/components/ui/dialog.js +0 -10
  12. package/dist/components/ui/dialog.js.map +1 -1
  13. package/dist/components/ui/drawer.js +0 -10
  14. package/dist/components/ui/drawer.js.map +1 -1
  15. package/dist/components/ui/dropdown-menu.js +19 -35
  16. package/dist/components/ui/dropdown-menu.js.map +1 -1
  17. package/dist/components/ui/header.js +0 -10
  18. package/dist/components/ui/header.js.map +1 -1
  19. package/dist/components/ui/input.js +0 -10
  20. package/dist/components/ui/input.js.map +1 -1
  21. package/dist/components/ui/select.js +0 -10
  22. package/dist/components/ui/select.js.map +1 -1
  23. package/dist/components/ui/skeleton.js +0 -10
  24. package/dist/components/ui/skeleton.js.map +1 -1
  25. package/dist/components/ui/sonner.js +0 -10
  26. package/dist/components/ui/sonner.js.map +1 -1
  27. package/dist/components/ui/switch.js +0 -10
  28. package/dist/components/ui/switch.js.map +1 -1
  29. package/dist/components/ui/tooltip.js +0 -10
  30. package/dist/components/ui/tooltip.js.map +1 -1
  31. package/dist/components/ui/vaul/browser.js +0 -10
  32. package/dist/components/ui/vaul/browser.js.map +1 -1
  33. package/dist/components/ui/vaul/constants.js +0 -10
  34. package/dist/components/ui/vaul/constants.js.map +1 -1
  35. package/dist/components/ui/vaul/context.js +0 -10
  36. package/dist/components/ui/vaul/context.js.map +1 -1
  37. package/dist/components/ui/vaul/helpers.js +0 -10
  38. package/dist/components/ui/vaul/helpers.js.map +1 -1
  39. package/dist/components/ui/vaul/index.js +1 -11
  40. package/dist/components/ui/vaul/index.js.map +1 -1
  41. package/dist/components/ui/vaul/use-composed-refs.js +0 -10
  42. package/dist/components/ui/vaul/use-composed-refs.js.map +1 -1
  43. package/dist/components/ui/vaul/use-controllable-state.js +0 -10
  44. package/dist/components/ui/vaul/use-controllable-state.js.map +1 -1
  45. package/dist/components/ui/vaul/use-position-fixed.js +0 -10
  46. package/dist/components/ui/vaul/use-position-fixed.js.map +1 -1
  47. package/dist/components/ui/vaul/use-prevent-scroll.js +0 -10
  48. package/dist/components/ui/vaul/use-prevent-scroll.js.map +1 -1
  49. package/dist/components/ui/vaul/use-scale-background.js +0 -10
  50. package/dist/components/ui/vaul/use-scale-background.js.map +1 -1
  51. package/dist/components/ui/vaul/use-snap-points.js +0 -10
  52. package/dist/components/ui/vaul/use-snap-points.js.map +1 -1
  53. package/dist/components/web3/AccountButton.js +0 -10
  54. package/dist/components/web3/AccountButton.js.map +1 -1
  55. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js +0 -10
  56. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  57. package/dist/components/web3/ConnectWallets/index.js +0 -10
  58. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  59. package/dist/components/web3/ConnectWallets/privy/button.js +0 -10
  60. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  61. package/dist/components/web3/ConnectWallets/privy/connectRunner.js +0 -10
  62. package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
  63. package/dist/components/web3/ConnectWallets/privy/iframe.js +0 -10
  64. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  65. package/dist/components/web3/ConnectWallets/privy/provider.js +0 -10
  66. package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
  67. package/dist/components/web3/ConnectWallets/walletIcons.js +0 -10
  68. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  69. package/dist/components/web3/providers.js +0 -10
  70. package/dist/components/web3/providers.js.map +1 -1
  71. package/dist/components/widget/AppHeader/ActivityButton.js +0 -10
  72. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  73. package/dist/components/widget/AppHeader/AppHeader.js +0 -10
  74. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  75. package/dist/components/widget/Details/DetailWithTooltip.js +0 -10
  76. package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
  77. package/dist/components/widget/Details/DetailWithValueList.js +0 -10
  78. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  79. package/dist/components/widget/Details/DetailWithValueListExpandable.js +0 -10
  80. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  81. package/dist/components/widget/Details/SwapDetailsExpandable.js +0 -10
  82. package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
  83. package/dist/components/widget/Dialog/ConnectWalletDialog/ConnectWalletDialog.js +0 -10
  84. package/dist/components/widget/Dialog/ConnectWalletDialog/ConnectWalletDialog.js.map +1 -1
  85. package/dist/components/widget/Dialog/DialogRoot.js +0 -10
  86. package/dist/components/widget/Dialog/DialogRoot.js.map +1 -1
  87. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +0 -10
  88. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  89. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js +0 -10
  90. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  91. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +0 -10
  92. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  93. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js +0 -10
  94. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  95. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js +0 -10
  96. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  97. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +0 -10
  98. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  99. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +0 -10
  100. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  101. package/dist/components/widget/Dialog/dialogByType.js +0 -10
  102. package/dist/components/widget/Dialog/dialogByType.js.map +1 -1
  103. package/dist/components/widget/Dialog/state/dialogAtom.js +1 -12
  104. package/dist/components/widget/Dialog/state/dialogAtom.js.map +1 -1
  105. package/dist/components/widget/Drawer/index.js +0 -10
  106. package/dist/components/widget/Drawer/index.js.map +1 -1
  107. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +1 -1
  108. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  109. package/dist/components/widget/Drawer/state/useDrawerControls.js +36 -36
  110. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  111. package/dist/components/widget/Dropdown/DropdownWithItems.js +0 -10
  112. package/dist/components/widget/Dropdown/DropdownWithItems.js.map +1 -1
  113. package/dist/components/widget/Icon/CheckIcon.js +0 -10
  114. package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
  115. package/dist/components/widget/Icon/ChevronIcon.js +0 -10
  116. package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
  117. package/dist/components/widget/Icon/DeltaIcon.js +0 -10
  118. package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
  119. package/dist/components/widget/Icon/EllipseIcon.js +0 -10
  120. package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
  121. package/dist/components/widget/Icon/InfoIcon.js +0 -10
  122. package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
  123. package/dist/components/widget/Icon/MarketIcon.js +0 -10
  124. package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
  125. package/dist/components/widget/Icon/SliderIcon.js +0 -10
  126. package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
  127. package/dist/components/widget/Informative/Informative.js +0 -10
  128. package/dist/components/widget/Informative/Informative.js.map +1 -1
  129. package/dist/components/widget/Line/Line.js +0 -10
  130. package/dist/components/widget/Line/Line.js.map +1 -1
  131. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js +0 -10
  132. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  133. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js +0 -10
  134. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  135. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +0 -10
  136. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  137. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js +0 -10
  138. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  139. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +0 -10
  140. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  141. package/dist/components/widget/PoweredBy/PoweredBy.js +0 -10
  142. package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
  143. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js +0 -10
  144. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  145. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js +1 -12
  146. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  147. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +0 -10
  148. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  149. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +0 -10
  150. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  151. package/dist/components/widget/SelectToken/SelectTokenButton.js +0 -11
  152. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  153. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js +0 -10
  154. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  155. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +2 -13
  156. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  157. package/dist/components/widget/SwapModeSwitcher/state/swapModeAtom.js +3 -15
  158. package/dist/components/widget/SwapModeSwitcher/state/swapModeAtom.js.map +1 -1
  159. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +2 -13
  160. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  161. package/dist/components/widget/SwapRate/SwapRate.js +0 -10
  162. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  163. package/dist/components/widget/TokenBadge/TokenBadge.js +0 -10
  164. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  165. package/dist/components/widget/TokenInput/EmptyInput.js +0 -10
  166. package/dist/components/widget/TokenInput/EmptyInput.js.map +1 -1
  167. package/dist/components/widget/TokenInput/index.js +0 -10
  168. package/dist/components/widget/TokenInput/index.js.map +1 -1
  169. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js +0 -10
  170. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  171. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +0 -10
  172. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  173. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +0 -10
  174. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  175. package/dist/components/widget/TradeOverview/Step.js +0 -10
  176. package/dist/components/widget/TradeOverview/Step.js.map +1 -1
  177. package/dist/components/widget/TradeOverview/Stepper.js +0 -10
  178. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  179. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js +0 -10
  180. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  181. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +0 -10
  182. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  183. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js +0 -10
  184. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
  185. package/dist/components/widget/TradeOverview/TradeComplete/index.js +0 -10
  186. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  187. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +0 -10
  188. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  189. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +0 -10
  190. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  191. package/dist/components/widget/TradeOverview/TradeDetails.js +0 -10
  192. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  193. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +0 -10
  194. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  195. package/dist/components/widget/TradeOverview/TradeOverview.js +0 -10
  196. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  197. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js +0 -10
  198. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  199. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js +0 -10
  200. package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
  201. package/dist/components/widget/TradeOverview/VerticalDash.js +0 -10
  202. package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
  203. package/dist/components/widget/TradeOverview/steps.js +0 -10
  204. package/dist/components/widget/TradeOverview/steps.js.map +1 -1
  205. package/dist/components/widget/TradeOverview/tradeFlowContext.js +0 -10
  206. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  207. package/dist/components/widget/TradeParameters/DeltaParameter.js +0 -10
  208. package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
  209. package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js +0 -10
  210. package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
  211. package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js +0 -10
  212. package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
  213. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js +0 -10
  214. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  215. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js +0 -10
  216. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  217. package/dist/components/widget/TradeParameters/TradeParameters.js +0 -10
  218. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  219. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +0 -10
  220. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  221. package/dist/components/widget/TradeParameters/state/constants.js +0 -10
  222. package/dist/components/widget/TradeParameters/state/constants.js.map +1 -1
  223. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js +2 -13
  224. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
  225. package/dist/components/widget/TradeParameters/state/deltaParamAtom.js +3 -15
  226. package/dist/components/widget/TradeParameters/state/deltaParamAtom.js.map +1 -1
  227. package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js +2 -13
  228. package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js.map +1 -1
  229. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js +3 -15
  230. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
  231. package/dist/components/widget/Warning/InsufficientBalanceMessage.js +0 -10
  232. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  233. package/dist/components/widget/Warning/Warning.js +0 -10
  234. package/dist/components/widget/Warning/Warning.js.map +1 -1
  235. package/dist/components/widget/Warning/WarningMessage.js +0 -10
  236. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  237. package/dist/components/widget/WrapEth/WrapEthContent.js +0 -10
  238. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  239. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js +0 -10
  240. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  241. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js +0 -10
  242. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  243. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +0 -10
  244. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  245. package/dist/components/widget/YouGet/YouGet.js +0 -10
  246. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  247. package/dist/hooks/gas/config.js +0 -10
  248. package/dist/hooks/gas/config.js.map +1 -1
  249. package/dist/hooks/gas/useGasPrices.js +0 -10
  250. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  251. package/dist/hooks/gas/utils.js +0 -10
  252. package/dist/hooks/gas/utils.js.map +1 -1
  253. package/dist/hooks/getCode/query.js +0 -10
  254. package/dist/hooks/getCode/query.js.map +1 -1
  255. package/dist/hooks/getCode/useIsAccountContract.js +0 -10
  256. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  257. package/dist/hooks/getCode/useIsContractAtAddress.js +0 -10
  258. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  259. package/dist/hooks/permit/hooks/useGetPermitInfo.js +0 -10
  260. package/dist/hooks/permit/hooks/useGetPermitInfo.js.map +1 -1
  261. package/dist/hooks/permit/hooks/useGetSafePermitInfo.js +0 -10
  262. package/dist/hooks/permit/hooks/useGetSafePermitInfo.js.map +1 -1
  263. package/dist/hooks/permit/hooks/usePermit1Nonce.js +1 -12
  264. package/dist/hooks/permit/hooks/usePermit1Nonce.js.map +1 -1
  265. package/dist/hooks/permit/hooks/useSignArbitraryTypedData.js +0 -10
  266. package/dist/hooks/permit/hooks/useSignArbitraryTypedData.js.map +1 -1
  267. package/dist/hooks/permit/hooks/useSignPermit.js +0 -10
  268. package/dist/hooks/permit/hooks/useSignPermit.js.map +1 -1
  269. package/dist/hooks/permit/hooks/useSignTokenFromPermit1.js +0 -10
  270. package/dist/hooks/permit/hooks/useSignTokenFromPermit1.js.map +1 -1
  271. package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.js +0 -10
  272. package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.js.map +1 -1
  273. package/dist/hooks/permit/hooks/useTokenFromPermitInfo.js +0 -10
  274. package/dist/hooks/permit/hooks/useTokenFromPermitInfo.js.map +1 -1
  275. package/dist/hooks/permit/hooks/useTryToSignPermit1.js +0 -10
  276. package/dist/hooks/permit/hooks/useTryToSignPermit1.js.map +1 -1
  277. package/dist/hooks/permit/utils/abi.js +0 -10
  278. package/dist/hooks/permit/utils/abi.js.map +1 -1
  279. package/dist/hooks/permit/utils/constants.js +0 -10
  280. package/dist/hooks/permit/utils/constants.js.map +1 -1
  281. package/dist/hooks/permit/utils/construct.js +0 -10
  282. package/dist/hooks/permit/utils/construct.js.map +1 -1
  283. package/dist/hooks/permit/utils/detect.js +0 -10
  284. package/dist/hooks/permit/utils/detect.js.map +1 -1
  285. package/dist/hooks/permit/utils/domainSeparator.js +0 -10
  286. package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
  287. package/dist/hooks/permit/utils/encodeArgs.js +0 -10
  288. package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
  289. package/dist/hooks/permit/utils/trySignPermit1.js +0 -10
  290. package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
  291. package/dist/hooks/permit/utils/utils.js +0 -10
  292. package/dist/hooks/permit/utils/utils.js.map +1 -1
  293. package/dist/hooks/sdk/useGetContracts.js +0 -10
  294. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  295. package/dist/hooks/sdk/useSpender.js +0 -10
  296. package/dist/hooks/sdk/useSpender.js.map +1 -1
  297. package/dist/hooks/swap/prices/delta/bridge/utils.js +0 -10
  298. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  299. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +0 -10
  300. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  301. package/dist/hooks/swap/prices/delta/orders/utils.js +0 -10
  302. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  303. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js +0 -10
  304. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +1 -1
  305. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +0 -10
  306. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  307. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js +0 -10
  308. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  309. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +0 -10
  310. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  311. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js +0 -10
  312. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  313. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js +0 -10
  314. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  315. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +0 -10
  316. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  317. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js +0 -10
  318. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  319. package/dist/hooks/swap/prices/usePricesParams.js +0 -10
  320. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  321. package/dist/hooks/swap/prices/useSwapPrices.js +0 -11
  322. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  323. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +0 -10
  324. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  325. package/dist/hooks/swap/tradeFlow/common/errors.js +0 -10
  326. package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
  327. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +2 -13
  328. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  329. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +2 -11
  330. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  331. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +2 -13
  332. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  333. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +2 -11
  334. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  335. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js +0 -10
  336. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  337. package/dist/hooks/tokens/allowance/useTokenAllowance.js +0 -10
  338. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  339. package/dist/hooks/tokens/balances/queries.js +0 -10
  340. package/dist/hooks/tokens/balances/queries.js.map +1 -1
  341. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +0 -10
  342. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  343. package/dist/hooks/tokens/balances/useInvalidateTokenData.js +0 -10
  344. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  345. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js +0 -10
  346. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  347. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js +0 -10
  348. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  349. package/dist/hooks/tokens/balances/useTokenBalance.js +0 -10
  350. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  351. package/dist/hooks/tokens/prices/queries.js +0 -10
  352. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  353. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js +0 -10
  354. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  355. package/dist/hooks/tokens/prices/useTokenPrices.js +0 -10
  356. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  357. package/dist/hooks/tokens/useNativeToken.js +0 -10
  358. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  359. package/dist/hooks/tokens/useTokenLists.js +0 -10
  360. package/dist/hooks/tokens/useTokenLists.js.map +1 -1
  361. package/dist/hooks/tokens/useTokensByAddress.js +0 -10
  362. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  363. package/dist/hooks/tokens/useTokensFromAcross.js +0 -10
  364. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  365. package/dist/hooks/txs/mutations/useApprove.js +0 -10
  366. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  367. package/dist/hooks/txs/mutations/useDepositWeth.js +0 -10
  368. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  369. package/dist/hooks/txs/mutations/useSendTx.js +0 -10
  370. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  371. package/dist/hooks/txs/queries/useAwaitTx.js +0 -10
  372. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  373. package/dist/hooks/useAvailableCrosses.js +0 -10
  374. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  375. package/dist/hooks/useBridgeInfo.js +0 -10
  376. package/dist/hooks/useBridgeInfo.js.map +1 -1
  377. package/dist/hooks/useCurrentChain.js +0 -10
  378. package/dist/hooks/useCurrentChain.js.map +1 -1
  379. package/dist/hooks/useDebouncedInputState.js +0 -10
  380. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  381. package/dist/hooks/useGlobalDeltaEnabled.js +0 -10
  382. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  383. package/dist/hooks/useIsCrosschainPossible.js +0 -10
  384. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  385. package/dist/hooks/useMinViemClient.js +0 -10
  386. package/dist/hooks/useMinViemClient.js.map +1 -1
  387. package/dist/hooks/useSDK.js +0 -10
  388. package/dist/hooks/useSDK.js.map +1 -1
  389. package/dist/hooks/useSlippage.js +0 -10
  390. package/dist/hooks/useSlippage.js.map +1 -1
  391. package/dist/index.d.ts +1 -0
  392. package/dist/index.d.ts.map +1 -1
  393. package/dist/index.js +0 -11
  394. package/dist/index.js.map +1 -1
  395. package/dist/lib/constants/delta.js +0 -10
  396. package/dist/lib/constants/delta.js.map +1 -1
  397. package/dist/lib/constants/index.js +0 -10
  398. package/dist/lib/constants/index.js.map +1 -1
  399. package/dist/lib/constants/time.js +0 -10
  400. package/dist/lib/constants/time.js.map +1 -1
  401. package/dist/lib/constants/weth.js +0 -10
  402. package/dist/lib/constants/weth.js.map +1 -1
  403. package/dist/lib/ipfs.js +0 -10
  404. package/dist/lib/ipfs.js.map +1 -1
  405. package/dist/lib/queryClient.js +0 -10
  406. package/dist/lib/queryClient.js.map +1 -1
  407. package/dist/lib/utils/delta.js +0 -10
  408. package/dist/lib/utils/delta.js.map +1 -1
  409. package/dist/lib/utils/dexes.js +0 -10
  410. package/dist/lib/utils/dexes.js.map +1 -1
  411. package/dist/lib/utils/explorer.js +0 -10
  412. package/dist/lib/utils/explorer.js.map +1 -1
  413. package/dist/lib/utils/fee.js +0 -10
  414. package/dist/lib/utils/fee.js.map +1 -1
  415. package/dist/lib/utils/formatFiatPrice.js +0 -10
  416. package/dist/lib/utils/formatFiatPrice.js.map +1 -1
  417. package/dist/lib/utils/formatTokenBalance.js +0 -10
  418. package/dist/lib/utils/formatTokenBalance.js.map +1 -1
  419. package/dist/lib/utils/index.js +0 -10
  420. package/dist/lib/utils/index.js.map +1 -1
  421. package/dist/lib/utils/price.js +0 -10
  422. package/dist/lib/utils/price.js.map +1 -1
  423. package/dist/lib/utils/priceImpact.js +0 -10
  424. package/dist/lib/utils/priceImpact.js.map +1 -1
  425. package/dist/lib/utils/rate.js +0 -10
  426. package/dist/lib/utils/rate.js.map +1 -1
  427. package/dist/lib/utils/removeZeroDecimals.js +0 -10
  428. package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
  429. package/dist/lib/utils/slippage.js +0 -10
  430. package/dist/lib/utils/slippage.js.map +1 -1
  431. package/dist/lib/utils/toDecimal.js +0 -10
  432. package/dist/lib/utils/toDecimal.js.map +1 -1
  433. package/dist/lib/utils/toasts.js +0 -10
  434. package/dist/lib/utils/toasts.js.map +1 -1
  435. package/dist/lib/web3/privy/config.js +1 -11
  436. package/dist/lib/web3/privy/config.js.map +1 -1
  437. package/dist/lib/web3/wagmi/config.js +1 -11
  438. package/dist/lib/web3/wagmi/config.js.map +1 -1
  439. package/dist/lib/web3/wagmi/constants.js +0 -10
  440. package/dist/lib/web3/wagmi/constants.js.map +1 -1
  441. package/dist/lib/web3/wagmi/transports.js +0 -10
  442. package/dist/lib/web3/wagmi/transports.js.map +1 -1
  443. package/dist/lib/web3/wagmi/utils.js +0 -10
  444. package/dist/lib/web3/wagmi/utils.js.map +1 -1
  445. package/dist/styles.css +5 -265
  446. package/dist/styles2.css +256 -0
  447. package/dist/test/TestButton.d.ts +2 -0
  448. package/dist/test/TestButton.d.ts.map +1 -0
  449. package/dist/test/connect/AccountDisplay.js +0 -10
  450. package/dist/test/connect/AccountDisplay.js.map +1 -1
  451. package/dist/test/connect/App.js +0 -10
  452. package/dist/test/connect/App.js.map +1 -1
  453. package/dist/test/connect/ConnectWallet.js +0 -10
  454. package/dist/test/connect/ConnectWallet.js.map +1 -1
  455. package/dist/test/connect/WagmiProfile.js +0 -10
  456. package/dist/test/connect/WagmiProfile.js.map +1 -1
  457. package/dist/test/connect/WalletActions.js +0 -10
  458. package/dist/test/connect/WalletActions.js.map +1 -1
  459. package/dist/test/logger-demo.d.ts +5 -0
  460. package/dist/test/logger-demo.d.ts.map +1 -0
  461. package/dist/tokens/blacklist.js +0 -10
  462. package/dist/tokens/blacklist.js.map +1 -1
  463. package/dist/tokens/constants.js +0 -10
  464. package/dist/tokens/constants.js.map +1 -1
  465. package/dist/tokens/constructor.js +0 -10
  466. package/dist/tokens/constructor.js.map +1 -1
  467. package/dist/tokens/defaultTokens.js +0 -10
  468. package/dist/tokens/defaultTokens.js.map +1 -1
  469. package/dist/tokens/hooks.js +0 -10
  470. package/dist/tokens/hooks.js.map +1 -1
  471. package/dist/tokens/lists/constants.js +0 -10
  472. package/dist/tokens/lists/constants.js.map +1 -1
  473. package/dist/tokens/lists/download.js +0 -10
  474. package/dist/tokens/lists/download.js.map +1 -1
  475. package/dist/tokens/lists/hooks.js +0 -10
  476. package/dist/tokens/lists/hooks.js.map +1 -1
  477. package/dist/tokens/lists/state/observer.js +0 -10
  478. package/dist/tokens/lists/state/observer.js.map +1 -1
  479. package/dist/tokens/lists/state/tokenListsActionsAtom.js +2 -13
  480. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  481. package/dist/tokens/lists/state/tokenListsStateAtom.js +2 -14
  482. package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
  483. package/dist/tokens/lists/utils.js +0 -10
  484. package/dist/tokens/lists/utils.js.map +1 -1
  485. package/dist/tokens/overrides.js +0 -10
  486. package/dist/tokens/overrides.js.map +1 -1
  487. package/dist/tokens/queries.js +0 -10
  488. package/dist/tokens/queries.js.map +1 -1
  489. package/dist/tokens/stabeCoins/hooks.js +0 -10
  490. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  491. package/dist/tokens/stabeCoins/index.js +0 -10
  492. package/dist/tokens/stabeCoins/index.js.map +1 -1
  493. package/dist/tokens/state/constructTokens.js +0 -10
  494. package/dist/tokens/state/constructTokens.js.map +1 -1
  495. package/dist/tokens/state/tokensAtom.js +2 -13
  496. package/dist/tokens/state/tokensAtom.js.map +1 -1
  497. package/dist/tokens/utils/areTokensSame.js +0 -10
  498. package/dist/tokens/utils/areTokensSame.js.map +1 -1
  499. package/dist/tokens/utils/eth.js +0 -10
  500. package/dist/tokens/utils/eth.js.map +1 -1
  501. package/dist/tokens/utils/filtering.js +0 -10
  502. package/dist/tokens/utils/filtering.js.map +1 -1
  503. package/dist/tokens/utils/sets.js +0 -10
  504. package/dist/tokens/utils/sets.js.map +1 -1
  505. package/dist/tokens/utils/sorting.js +0 -10
  506. package/dist/tokens/utils/sorting.js.map +1 -1
  507. package/dist/widget/DevTools.d.ts +2 -0
  508. package/dist/widget/DevTools.d.ts.map +1 -0
  509. package/dist/widget/DevTools.js +24 -0
  510. package/dist/widget/DevTools.js.map +1 -0
  511. package/dist/widget/Updaters.js +0 -10
  512. package/dist/widget/Updaters.js.map +1 -1
  513. package/dist/widget/across/utils.js +0 -10
  514. package/dist/widget/across/utils.js.map +1 -1
  515. package/dist/widget/button/hooks/useWidgetButtonExtraProps.js +0 -10
  516. package/dist/widget/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  517. package/dist/widget/constants.js +0 -10
  518. package/dist/widget/constants.js.map +1 -1
  519. package/dist/widget/index.d.ts.map +1 -1
  520. package/dist/widget/index.js +34 -28
  521. package/dist/widget/index.js.map +1 -1
  522. package/dist/widget/inputs/hooks/useTokenFromInputProps.js +0 -11
  523. package/dist/widget/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  524. package/dist/widget/inputs/hooks/useTokenSwitcherProps.js +0 -10
  525. package/dist/widget/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  526. package/dist/widget/inputs/hooks/useTokenToInputProps.js +0 -10
  527. package/dist/widget/inputs/hooks/useTokenToInputProps.js.map +1 -1
  528. package/dist/widget/inputs/state/inputAmountAtom.js +6 -20
  529. package/dist/widget/inputs/state/inputAmountAtom.js.map +1 -1
  530. package/dist/widget/inputs/state/selectedTokenActionsAtom.js +6 -19
  531. package/dist/widget/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  532. package/dist/widget/inputs/state/selectedTokenAtom.js +2 -15
  533. package/dist/widget/inputs/state/selectedTokenAtom.js.map +1 -1
  534. package/dist/widget/inputs/state/subscriptions.js +0 -10
  535. package/dist/widget/inputs/state/subscriptions.js.map +1 -1
  536. package/dist/widget/state/chainToAtom.js +2 -13
  537. package/dist/widget/state/chainToAtom.js.map +1 -1
  538. package/dist/widget/state/configActionsAtom.js +2 -13
  539. package/dist/widget/state/configActionsAtom.js.map +1 -1
  540. package/dist/widget/state/configAtom.js +1 -12
  541. package/dist/widget/state/configAtom.js.map +1 -1
  542. package/dist/widget/state/containerAtom.js +1 -12
  543. package/dist/widget/state/containerAtom.js.map +1 -1
  544. package/dist/widget/state/currentSwapInputAtom.js +1 -12
  545. package/dist/widget/state/currentSwapInputAtom.js.map +1 -1
  546. package/dist/widget/state/isCrosschainAtom.js +2 -13
  547. package/dist/widget/state/isCrosschainAtom.js.map +1 -1
  548. package/dist/widget/subscriptions.js +0 -10
  549. package/dist/widget/subscriptions.js.map +1 -1
  550. package/dist/widget/swapDetails/fees.js +0 -10
  551. package/dist/widget/swapDetails/fees.js.map +1 -1
  552. package/dist/widget/swapDetails/orderRouting.js +0 -10
  553. package/dist/widget/swapDetails/orderRouting.js.map +1 -1
  554. package/dist/widget/swapDetails/priceImpact.js +0 -10
  555. package/dist/widget/swapDetails/priceImpact.js.map +1 -1
  556. package/dist/widget/swapDetails/useSwapDetailsListProps.js +0 -10
  557. package/dist/widget/swapDetails/useSwapDetailsListProps.js.map +1 -1
  558. package/dist/widget/swapDetails/youGet.js +0 -10
  559. package/dist/widget/swapDetails/youGet.js.map +1 -1
  560. package/package.json +2 -1
  561. package/dist/components/widget/SwapModeSwitcher/state/types.js +0 -11
  562. package/dist/components/widget/SwapModeSwitcher/state/types.js.map +0 -1
  563. package/dist/components/widget/TokenBadge/types.js +0 -11
  564. package/dist/components/widget/TokenBadge/types.js.map +0 -1
  565. package/dist/hooks/txs/index.js +0 -13
  566. package/dist/hooks/txs/index.js.map +0 -1
  567. package/dist/lib/utils/logger.js +0 -11
  568. package/dist/lib/utils/logger.js.map +0 -1
  569. package/dist/tokens/state/types.js +0 -11
  570. package/dist/tokens/state/types.js.map +0 -1
@@ -5,16 +5,6 @@ import { queryClient } from '../../../lib/queryClient.js';
5
5
  import { EnabledAndDefaultTokenURLS } from './tokenListsStateAtom.js';
6
6
  import { getDefaultStore } from 'jotai';
7
7
 
8
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
9
- cache: /* @__PURE__ */ new Map(),
10
- get(name, inst) {
11
- if (this.cache.has(name)) {
12
- return this.cache.get(name);
13
- }
14
- this.cache.set(name, inst);
15
- return inst;
16
- }
17
- };
18
8
  const listUrls = Object.values(EnabledAndDefaultTokenURLS).flatMap((lists) => lists.all);
19
9
  function observeTokenLists() {
20
10
  return new QueriesObserver(queryClient, produceQueryOptions(listUrls)).subscribe((queriesResult) => {
@@ -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,GAC1D,CAAA;AACH;;;;"}
@@ -5,17 +5,7 @@ import { atom } from 'jotai';
5
5
  import { constructedTokensByURLAtom } from './tokenListsStateAtom.js';
6
6
  import { isSupportedChainId } from '../../../lib/web3/wagmi/utils.js';
7
7
 
8
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
9
- cache: /* @__PURE__ */ new Map(),
10
- get(name, inst) {
11
- if (this.cache.has(name)) {
12
- return this.cache.get(name);
13
- }
14
- this.cache.set(name, inst);
15
- return inst;
16
- }
17
- };
18
- const addTokenListsAtom = globalThis.jotaiAtomCache.get("/Users/andriishymkiv/work/velora/widget/packages/ui/src/tokens/lists/state/tokenListsActionsAtom.ts/addTokenListsAtom", atom(null, (get, set, fetchedLists) => {
8
+ const addTokenListsAtom = atom(null, (get, set, fetchedLists) => {
19
9
  const constructedTokensByURL = get(constructedTokensByURLAtom);
20
10
  const updatedLists = {};
21
11
  fetchedLists.forEach((fetchedList) => {
@@ -40,8 +30,7 @@ const addTokenListsAtom = globalThis.jotaiAtomCache.get("/Users/andriishymkiv/wo
40
30
  ...prevState,
41
31
  ...updatedLists
42
32
  }));
43
- }));
44
- addTokenListsAtom.debugLabel = "addTokenListsAtom";
33
+ });
45
34
 
46
35
  export { addTokenListsAtom };
47
36
  //# sourceMappingURL=tokenListsActionsAtom.js.map
@@ -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","globalThis","jotaiAtomCache","get","atom","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","debugLabel"],"mappings":";;;;;;;;;;;;;;;;;AAaA,MAAAA,iBAAAA,GAAAC,UAAAA,CAAAC,cAAAA,CAAAC,GAAAA,0HAAiCC,KAC/B,IAAA,EACA,CAACD,GAAAA,EAAKE,GAAAA,EAAKC,YAAAA,KAAsC;AAC/C,EAAA,MAAMC,sBAAAA,GAAyBJ,IAAIK,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,CAAC;AAACT,iBAAAA,CAAA8B,UAAAA,GAAA,mBAAA;;;;"}
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;;;;"}
@@ -2,21 +2,9 @@ import { atom } from 'jotai';
2
2
  import { gatherEnabledAndDefaultUrlsMappingByChainId } from '../utils.js';
3
3
  import { supportedChainIds } from '../../../lib/web3/wagmi/constants.js';
4
4
 
5
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
6
- cache: /* @__PURE__ */ new Map(),
7
- get(name, inst) {
8
- if (this.cache.has(name)) {
9
- return this.cache.get(name);
10
- }
11
- this.cache.set(name, inst);
12
- return inst;
13
- }
14
- };
15
5
  const EnabledAndDefaultTokenURLS = gatherEnabledAndDefaultUrlsMappingByChainId(supportedChainIds);
16
- const tokenListsAtom = globalThis.jotaiAtomCache.get("/Users/andriishymkiv/work/velora/widget/packages/ui/src/tokens/lists/state/tokenListsStateAtom.ts/tokenListsAtom", atom(EnabledAndDefaultTokenURLS));
17
- tokenListsAtom.debugLabel = "tokenListsAtom";
18
- const constructedTokensByURLAtom = globalThis.jotaiAtomCache.get("/Users/andriishymkiv/work/velora/widget/packages/ui/src/tokens/lists/state/tokenListsStateAtom.ts/constructedTokensByURLAtom", atom({}));
19
- constructedTokensByURLAtom.debugLabel = "constructedTokensByURLAtom";
6
+ const tokenListsAtom = atom(EnabledAndDefaultTokenURLS);
7
+ const constructedTokensByURLAtom = atom({});
20
8
 
21
9
  export { EnabledAndDefaultTokenURLS, constructedTokensByURLAtom, tokenListsAtom };
22
10
  //# sourceMappingURL=tokenListsStateAtom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenListsStateAtom.js","sources":["../../../../src/tokens/lists/state/tokenListsStateAtom.ts"],"sourcesContent":["import type { ConstructedListsByURL, TokenListsStateByChain } from \"./types\";\nimport { atom } from \"jotai\";\nimport { gatherEnabledAndDefaultUrlsMappingByChainId } from \"../utils\";\nimport { supportedChainIds } from \"@/lib/web3/wagmi/constants\";\n\nexport const EnabledAndDefaultTokenURLS =\n gatherEnabledAndDefaultUrlsMappingByChainId(supportedChainIds);\n\nexport const tokenListsAtom = atom<TokenListsStateByChain>(\n EnabledAndDefaultTokenURLS\n);\n\nexport const constructedTokensByURLAtom = atom<ConstructedListsByURL>({});\n"],"names":["EnabledAndDefaultTokenURLS","gatherEnabledAndDefaultUrlsMappingByChainId","supportedChainIds","tokenListsAtom","globalThis","jotaiAtomCache","get","atom","debugLabel","constructedTokensByURLAtom"],"mappings":";;;;;;;;;;;;;;AAKO,MAAMA,0BAAAA,GACXC,4CAA4CC,iBAAiB;AAE/D,MAAAC,iBAAAC,UAAAA,CAAAC,cAAAA,CAAAC,IAAA,kHAAA,EAA8BC,IAAAA,CAC5BP,0BACF,CAAC;AAACG,cAAAA,CAAAK,UAAAA,GAAA,gBAAA;AAEF,MAAAC,0BAAAA,GAAAL,WAAAC,cAAAA,CAAAC,GAAAA,CAAA,gIAA0CC,IAAAA,CAA4B,EAAE,CAAC;AAACE,0BAAAA,CAAAD,UAAAA,GAAA,4BAAA;;;;"}
1
+ {"version":3,"file":"tokenListsStateAtom.js","sources":["../../../../src/tokens/lists/state/tokenListsStateAtom.ts"],"sourcesContent":["import type { ConstructedListsByURL, TokenListsStateByChain } from \"./types\";\nimport { atom } from \"jotai\";\nimport { gatherEnabledAndDefaultUrlsMappingByChainId } from \"../utils\";\nimport { supportedChainIds } from \"@/lib/web3/wagmi/constants\";\n\nexport const EnabledAndDefaultTokenURLS =\n gatherEnabledAndDefaultUrlsMappingByChainId(supportedChainIds);\n\nexport const tokenListsAtom = atom<TokenListsStateByChain>(\n EnabledAndDefaultTokenURLS\n);\n\nexport const constructedTokensByURLAtom = atom<ConstructedListsByURL>({});\n"],"names":["EnabledAndDefaultTokenURLS","gatherEnabledAndDefaultUrlsMappingByChainId","supportedChainIds","tokenListsAtom","atom","constructedTokensByURLAtom"],"mappings":";;;;AAKO,MAAMA,0BAAAA,GACXC,4CAA4CC,iBAAiB;AAExD,MAAMC,cAAAA,GAAiBC,KAC5BJ,0BACF;AAEO,MAAMK,0BAAAA,GAA6BD,IAAAA,CAA4B,EAAE;;;;"}
@@ -1,16 +1,6 @@
1
1
  import { gatherObjectsByProp } from '../../lib/utils/index.js';
2
2
  import { chainId2TokenListURLs, urlChain2TokenList } from './constants.js';
3
3
 
4
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
5
- cache: /* @__PURE__ */ new Map(),
6
- get(name, inst) {
7
- if (this.cache.has(name)) {
8
- return this.cache.get(name);
9
- }
10
- this.cache.set(name, inst);
11
- return inst;
12
- }
13
- };
14
4
  const getTokenListPlaceholderName = (listUrl, chainId) => urlChain2TokenList[`${listUrl}@${chainId}`]?.listName;
15
5
  const constructPlaceholderData = (listURL) => {
16
6
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/tokens/lists/utils.ts"],"sourcesContent":["import { gatherObjectsByProp } from \"@/lib/utils\";\nimport type { TokenListUnavailable } from \"../types\";\nimport { chainId2TokenListURLs, urlChain2TokenList } from \"./constants\";\n\nexport const getTokenListPlaceholderName = (\n listUrl: string,\n chainId: number\n): string | undefined => urlChain2TokenList[`${listUrl}@${chainId}`]?.listName;\n\nexport const constructPlaceholderData = (\n listURL: string\n): TokenListUnavailable => {\n return {\n url: listURL,\n available: false,\n name: getTokenListPlaceholderName(listURL, 0),\n };\n};\n\nexport const gatherEnabledAndDefaultUrlsMappingByChainId = <\n ChainID extends number,\n>(\n chainIds: ChainID[]\n): { [K in ChainID]: { all: string[]; enabled: string[] } } => {\n return gatherObjectsByProp(\n chainIds,\n (chainId) => String(chainId),\n (chainId) => chainId2TokenListURLs[chainId] || { enabled: [], all: [] }\n );\n};\n"],"names":["getTokenListPlaceholderName","listUrl","chainId","urlChain2TokenList","listName","constructPlaceholderData","listURL","url","available","name","gatherEnabledAndDefaultUrlsMappingByChainId","chainIds","gatherObjectsByProp","String","chainId2TokenListURLs","enabled","all"],"mappings":";;;;;;;;;;;;;AAIO,MAAMA,2BAAAA,GAA8BA,CACzCC,OAAAA,EACAC,OAAAA,KACuBC,kBAAAA,CAAmB,GAAGF,OAAO,CAAA,CAAA,EAAIC,OAAO,CAAA,CAAE,CAAA,EAAGE;AAE/D,MAAMC,wBAAAA,GAA2BA,CACtCC,OAAAA,KACyB;AACzB,EAAA,OAAO;AAAA,IACLC,GAAAA,EAAKD,OAAAA;AAAAA,IACLE,SAAAA,EAAW,KAAA;AAAA,IACXC,IAAAA,EAAMT,2BAAAA,CAA4BM,OAAAA,EAAS,CAAC;AAAA,GAC9C;AACF;AAEO,MAAMI,2CAAAA,GAA8C,CAGzDC,QAAAA,KAC6D;AAC7D,EAAA,OAAOC,mBAAAA,CACLD,UACCT,CAAAA,OAAAA,KAAYW,MAAAA,CAAOX,OAAO,CAAA,EAC1BA,CAAAA,OAAAA,KAAYY,qBAAAA,CAAsBZ,OAAO,CAAA,IAAK;AAAA,IAAEa,SAAS,EAAA;AAAA,IAAIC,KAAK;AAAA,GACrE,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/tokens/lists/utils.ts"],"sourcesContent":["import { gatherObjectsByProp } from \"@/lib/utils\";\nimport type { TokenListUnavailable } from \"../types\";\nimport { chainId2TokenListURLs, urlChain2TokenList } from \"./constants\";\n\nexport const getTokenListPlaceholderName = (\n listUrl: string,\n chainId: number\n): string | undefined => urlChain2TokenList[`${listUrl}@${chainId}`]?.listName;\n\nexport const constructPlaceholderData = (\n listURL: string\n): TokenListUnavailable => {\n return {\n url: listURL,\n available: false,\n name: getTokenListPlaceholderName(listURL, 0),\n };\n};\n\nexport const gatherEnabledAndDefaultUrlsMappingByChainId = <\n ChainID extends number,\n>(\n chainIds: ChainID[]\n): { [K in ChainID]: { all: string[]; enabled: string[] } } => {\n return gatherObjectsByProp(\n chainIds,\n (chainId) => String(chainId),\n (chainId) => chainId2TokenListURLs[chainId] || { enabled: [], all: [] }\n );\n};\n"],"names":["getTokenListPlaceholderName","listUrl","chainId","urlChain2TokenList","listName","constructPlaceholderData","listURL","url","available","name","gatherEnabledAndDefaultUrlsMappingByChainId","chainIds","gatherObjectsByProp","String","chainId2TokenListURLs","enabled","all"],"mappings":";;;AAIO,MAAMA,2BAAAA,GAA8BA,CACzCC,OAAAA,EACAC,OAAAA,KACuBC,kBAAAA,CAAmB,GAAGF,OAAO,CAAA,CAAA,EAAIC,OAAO,CAAA,CAAE,CAAA,EAAGE;AAE/D,MAAMC,wBAAAA,GAA2BA,CACtCC,OAAAA,KACyB;AACzB,EAAA,OAAO;AAAA,IACLC,GAAAA,EAAKD,OAAAA;AAAAA,IACLE,SAAAA,EAAW,KAAA;AAAA,IACXC,IAAAA,EAAMT,2BAAAA,CAA4BM,OAAAA,EAAS,CAAC;AAAA,GAC9C;AACF;AAEO,MAAMI,2CAAAA,GAA8C,CAGzDC,QAAAA,KAC6D;AAC7D,EAAA,OAAOC,mBAAAA,CACLD,UACCT,CAAAA,OAAAA,KAAYW,MAAAA,CAAOX,OAAO,CAAA,EAC1BA,CAAAA,OAAAA,KAAYY,qBAAAA,CAAsBZ,OAAO,CAAA,IAAK;AAAA,IAAEa,SAAS,EAAA;AAAA,IAAIC,KAAK;AAAA,GACrE,CAAA;AACF;;;;"}
@@ -1,13 +1,3 @@
1
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
2
- cache: /* @__PURE__ */ new Map(),
3
- get(name, inst) {
4
- if (this.cache.has(name)) {
5
- return this.cache.get(name);
6
- }
7
- this.cache.set(name, inst);
8
- return inst;
9
- }
10
- };
11
1
  const AAVE_OverrideTokenInfo = {
12
2
  logoURI: "https://coin-images.coingecko.com/coins/images/12645/large/aave-token-round.png?1720472354"
13
3
  };
@@ -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":";;;;;;;;;;AAIA,MAAMA,sBAAAA,GAA6C;AAAA,EACjDC,OAAAA,EACE;AACJ,CAAA;AACA,MAAMC,qBAAAA,GAA4C;AAAA,EAChDD,OAAAA,EACE;AACJ,CAAA;AAGA,MAAME,mBAAAA,GAAyD;AAAA;AAAA,EAE7D,4BAAA,EAA8B;AAAA,IAC5BC,KAAAA,EAAO;AAAA,MACL,4CAAA,EAA8CJ,sBAAAA;AAAAA,MAC9C,4CAAA,EAA8CE;AAAAA;AAChD,GACF;AAAA,EAEA,4GAAA,EACE;AAAA,IACEE,KAAAA,EAAO;AAAA,MACL,4CAAA,EAA8CF;AAAAA;AAChD,GACF;AAAA;AAAA,EAGF,oDAAA,EAAsD;AAAA,IACpDE,KAAAA,EAAO;AAAA,MACL,4CAAA,EAA8CJ;AAAAA;AAChD,GACF;AAAA;AAAA,EAGA,uFAAA,EACE;AAAA,IACEI,KAAAA,EAAO;AAAA,MACL,4CAAA,EAA8CJ;AAAAA;AAChD,GACF;AAAA,EACF,uFAAA,EACE;AAAA,IACEI,KAAAA,EAAO;AAAA,MACL,4CAAA,EAA8CJ;AAAAA;AAChD,GACF;AAAA;AAAA,EAGF,8FAAA,EACE;AAAA,IACEI,KAAAA,EAAO;AAAA,MACL,4CAAA,EAA8CJ,sBAAAA;AAAAA,MAC9C,4CAAA,EAA8C;AAAA,QAC5CK,MAAAA,EAAQ,MAAA;AAAA,QACRC,IAAAA,EAAM;AAAA;AACR;AACF,GACF;AAAA,EACF,kGAAA,EACE;AAAA,IACEF,KAAAA,EAAO;AAAA,MACL,4CAAA,EAA8CJ,sBAAAA;AAAAA,MAC9C,4CAAA,EAA8C;AAAA,QAC5CK,MAAAA,EAAQ,MAAA;AAAA,QACRC,IAAAA,EAAM;AAAA;AACR;AACF,GACF;AAAA;AAAA,EAGF,kDAAA,EAAoD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQlDC,MAAAA,kBAAQ,IAAIC,GAAAA,CAAI,CAAC,4CAA4C,CAAC;AAAA,GAChE;AAAA;AAAA,EAGA,4CAAA,EAA8C;AAAA,IAC5CJ,KAAAA,EAAO;AAAA,MACL,4CAAA,EAA8C;AAAA,QAAEC,MAAAA,EAAQ;AAAA;AAAQ;AAClE,GACF;AAAA,EACA,mDAAA,EAAqD;AAAA,IACnDD,KAAAA,EAAO;AAAA;AAAA,MAEL,4CAAA,EAA8C;AAAA,QAAEK,QAAAA,EAAU;AAAA;AAAG;AAC/D;AAEJ,CAAA;AAEO,SAASC,iBAAAA,CAAkBC,WAAsBC,OAAAA,EAAiB;AACvE,EAAA,MAAMC,SAAAA,GAAYV,oBAAoBS,OAAO,CAAA;AAC7C,EAAA,IAAI,CAACC,WAAW,OAAOF,SAAAA;AAEvB,EAAA,MAAMG,mBAAmBH,SAAAA,CAAUI,MAAAA,CAAOC,MAAAA,CACxC,CAACC,OAAOC,SAAAA,KAAc;AACpB,IAAA,MAAMX,SAASM,SAAAA,CAAUN,MAAAA,EAAQY,IAAID,SAAAA,CAAUE,OAAAA,CAAQC,aAAa,CAAA;AACpE,IAAA,IAAId,QAAQ,OAAOU,KAAAA;AAEnB,IAAA,MAAMK,WAAWT,SAAAA,EAAWT,KAAAA,GAAQc,SAAAA,CAAUE,OAAAA,CAAQC,aAAa,CAAA;AACnE,IAAA,MAAME,QAAQD,QAAAA,GAAW;AAAA,MAAE,GAAGJ,SAAAA;AAAAA,MAAW,GAAGI;AAAAA,KAAS,GAAIJ,SAAAA;AAEzDD,IAAAA,KAAAA,CAAMO,KAAKD,KAAK,CAAA;AAEhB,IAAA,OAAON,KAAAA;AAAAA,GACT,EACA,EACF,CAAA;AAEA,EAAA,IAAIJ,UAAUY,GAAAA,EAAK;AACjBX,IAAAA,gBAAAA,CAAiBU,IAAAA,CAAK,GAAGX,SAAAA,CAAUY,GAAG,CAAA;AAAA;AAGxC,EAAA,OAAO;AAAA,IAAE,GAAGd,SAAAA;AAAAA,IAAWI,MAAAA,EAAQD;AAAAA,GAAiB;AAClD;;;;"}
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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"}
@@ -10,16 +10,6 @@ import { overrideTokenList } from './overrides.js';
10
10
  import { useAllTokenLists } from './lists/hooks.js';
11
11
  import { stableCoinsTokenLists } from './stabeCoins/index.js';
12
12
 
13
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
14
- cache: /* @__PURE__ */ new Map(),
15
- get(name, inst) {
16
- if (this.cache.has(name)) {
17
- return this.cache.get(name);
18
- }
19
- this.cache.set(name, inst);
20
- return inst;
21
- }
22
- };
23
13
  function isDataEqual(currentData, incomingData) {
24
14
  if (!currentData) return false;
25
15
  if (!currentData.available || !incomingData.available) return currentData.available !== incomingData.available;
@@ -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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"}
@@ -4,16 +4,6 @@ import { stableCoinsTokenLists } from './index.js';
4
4
  import { useFetchLists } from '../queries.js';
5
5
  import { checkAddressesBelongToChainSet, tokenlistsToSetsByChain } from '../utils/sets.js';
6
6
 
7
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
8
- cache: /* @__PURE__ */ new Map(),
9
- get(name, inst) {
10
- if (this.cache.has(name)) {
11
- return this.cache.get(name);
12
- }
13
- this.cache.set(name, inst);
14
- return inst;
15
- }
16
- };
17
7
  function useStableCoinTokenLists() {
18
8
  return useFetchLists(stableCoinsTokenLists, "stablecoin");
19
9
  }
@@ -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,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,15 +1,5 @@
1
1
  import _TokenLists from '../lists/lists.json.js';
2
2
 
3
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
4
- cache: /* @__PURE__ */ new Map(),
5
- get(name, inst) {
6
- if (this.cache.has(name)) {
7
- return this.cache.get(name);
8
- }
9
- this.cache.set(name, inst);
10
- return inst;
11
- }
12
- };
13
3
  const TokenLists = _TokenLists;
14
4
  const stableCoinsTokenLists = TokenLists.filter((list) => list.tags?.includes("stablecoin")).map((list) => list.url);
15
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/tokens/stabeCoins/index.ts"],"sourcesContent":["import _TokenLists from \"../lists/lists.json\";\nimport type { TokenListDownloadData } from \"../lists/types\";\n\nconst TokenLists = _TokenLists as TokenListDownloadData[];\n\n// one ParaSwap Community Stablecoin multichain list for now\nexport const stableCoinsTokenLists = TokenLists.filter((list) =>\n list.tags?.includes(\"stablecoin\")\n).map((list) => list.url);\n"],"names":["TokenLists","_TokenLists","stableCoinsTokenLists","filter","list","tags","includes","map","url"],"mappings":";;;;;;;;;;;;AAGA,MAAMA,UAAAA,GAAaC,WAAAA;AAGZ,MAAMC,qBAAAA,GAAwBF,UAAAA,CAAWG,MAAAA,CAAQC,CAAAA,IAAAA,KACtDA,IAAAA,CAAKC,IAAAA,EAAMC,QAAAA,CAAS,YAAY,CAClC,CAAA,CAAEC,GAAAA,CAAKH,CAAAA,IAAAA,KAASA,KAAKI,GAAG;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/tokens/stabeCoins/index.ts"],"sourcesContent":["import _TokenLists from \"../lists/lists.json\";\nimport type { TokenListDownloadData } from \"../lists/types\";\n\nconst TokenLists = _TokenLists as TokenListDownloadData[];\n\n// one ParaSwap Community Stablecoin multichain list for now\nexport const stableCoinsTokenLists = TokenLists.filter((list) =>\n list.tags?.includes(\"stablecoin\")\n).map((list) => list.url);\n"],"names":["TokenLists","_TokenLists","stableCoinsTokenLists","filter","list","tags","includes","map","url"],"mappings":";;AAGA,MAAMA,UAAAA,GAAaC,WAAAA;AAGZ,MAAMC,qBAAAA,GAAwBF,UAAAA,CAAWG,MAAAA,CAAQC,CAAAA,IAAAA,KACtDA,IAAAA,CAAKC,IAAAA,EAAMC,QAAAA,CAAS,YAAY,CAClC,CAAA,CAAEC,GAAAA,CAAKH,CAAAA,IAAAA,KAASA,KAAKI,GAAG;;;;"}
@@ -1,15 +1,5 @@
1
1
  import { isBlacklistedToken } from '../blacklist.js';
2
2
 
3
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
4
- cache: /* @__PURE__ */ new Map(),
5
- get(name, inst) {
6
- if (this.cache.has(name)) {
7
- return this.cache.get(name);
8
- }
9
- this.cache.set(name, inst);
10
- return inst;
11
- }
12
- };
13
3
  function constructTokensFromLists({
14
4
  enabledListURLs,
15
5
  allListURLs,
@@ -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,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;;;;"}
@@ -4,17 +4,7 @@ import { constructTokensFromLists } from './constructTokens.js';
4
4
  import { gatherObjectsByProp } from '../../lib/utils/index.js';
5
5
  import { isSupportedChainId } from '../../lib/web3/wagmi/utils.js';
6
6
 
7
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
8
- cache: /* @__PURE__ */ new Map(),
9
- get(name, inst) {
10
- if (this.cache.has(name)) {
11
- return this.cache.get(name);
12
- }
13
- this.cache.set(name, inst);
14
- return inst;
15
- }
16
- };
17
- const fromListsAtom = globalThis.jotaiAtomCache.get("/Users/andriishymkiv/work/velora/widget/packages/ui/src/tokens/state/tokensAtom.ts/fromListsAtom", atom((get) => {
7
+ const fromListsAtom = atom((get) => {
18
8
  const tokenListsState = get(tokenListsAtom);
19
9
  const constructedTokensByURLState = get(constructedTokensByURLAtom);
20
10
  const chainsFromLists = Object.keys(tokenListsState).map(Number).filter(isSupportedChainId);
@@ -42,8 +32,7 @@ const fromListsAtom = globalThis.jotaiAtomCache.get("/Users/andriishymkiv/work/v
42
32
  disabledListByChainId: {}
43
33
  });
44
34
  return fromLists;
45
- }));
46
- fromListsAtom.debugLabel = "fromListsAtom";
35
+ });
47
36
 
48
37
  export { fromListsAtom };
49
38
  //# sourceMappingURL=tokensAtom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokensAtom.js","sources":["../../../src/tokens/state/tokensAtom.ts"],"sourcesContent":["import type { TokenFromList } from \"./types\";\nimport {\n constructedTokensByURLAtom,\n tokenListsAtom,\n} from \"../lists/state/tokenListsStateAtom\";\nimport { atom } from \"jotai\";\nimport { constructTokensFromLists } from \"./constructTokens\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\n\ntype TokensFromLists = {\n tokens: TokenFromList[];\n addressMap: Record<string, TokenFromList>;\n};\n\ntype TokensFromListsState = {\n listByChainId: Record<number, TokensFromLists>;\n disabledListByChainId: Record<number, TokensFromLists>;\n};\n\nexport const fromListsAtom = atom<TokensFromListsState>((get) => {\n // get the current list atoms\n const tokenListsState = get(tokenListsAtom);\n const constructedTokensByURLState = get(constructedTokensByURLAtom);\n\n const chainsFromLists = Object.keys(tokenListsState)\n .map(Number)\n .filter(isSupportedChainId);\n\n // atom with the lists of constructed SDK tokens\n const fromLists = chainsFromLists.reduce<TokensFromListsState>(\n (acc, chainId) => {\n const tokenListForChain = tokenListsState[chainId];\n if (!tokenListForChain) return acc;\n\n const constructedLists = constructTokensFromLists({\n enabledListURLs: tokenListForChain.enabled || [],\n tokensFromListByURL: constructedTokensByURLState,\n allListURLs: tokenListForChain.all || [],\n chainId,\n });\n if (!constructedLists) return acc;\n\n acc.listByChainId[chainId] = {\n tokens: constructedLists.list,\n addressMap: gatherObjectsByProp(constructedLists.list, (token) =>\n token.address.toLowerCase()\n ),\n };\n acc.disabledListByChainId[chainId] = {\n tokens: constructedLists.disabledList,\n addressMap: gatherObjectsByProp(\n constructedLists.disabledList,\n (token) => token.address.toLowerCase()\n ),\n };\n\n return acc;\n },\n {\n listByChainId: {},\n disabledListByChainId: {},\n }\n );\n\n return fromLists;\n});\n"],"names":["fromListsAtom","globalThis","jotaiAtomCache","get","atom","tokenListsState","tokenListsAtom","constructedTokensByURLState","constructedTokensByURLAtom","chainsFromLists","Object","keys","map","Number","filter","isSupportedChainId","fromLists","reduce","acc","chainId","tokenListForChain","constructedLists","constructTokensFromLists","enabledListURLs","enabled","tokensFromListByURL","allListURLs","all","listByChainId","tokens","list","addressMap","gatherObjectsByProp","token","address","toLowerCase","disabledListByChainId","disabledList","debugLabel"],"mappings":";;;;;;;;;;;;;;;;AAoBA,MAAAA,gBAAAC,UAAAA,CAAAC,cAAAA,CAAAC,GAAAA,CAAA,kGAAA,EAA6BC,KAA4BD,CAAAA,GAAAA,KAAQ;AAE/D,EAAA,MAAME,eAAAA,GAAkBF,IAAIG,cAAc,CAAA;AAC1C,EAAA,MAAMC,2BAAAA,GAA8BJ,IAAIK,0BAA0B,CAAA;AAElE,EAAA,MAAMC,eAAAA,GAAkBC,OAAOC,IAAAA,CAAKN,eAAe,EAChDO,GAAAA,CAAIC,MAAM,CAAA,CACVC,MAAAA,CAAOC,kBAAkB,CAAA;AAG5B,EAAA,MAAMC,SAAAA,GAAYP,eAAAA,CAAgBQ,MAAAA,CAChC,CAACC,KAAKC,OAAAA,KAAY;AAChB,IAAA,MAAMC,iBAAAA,GAAoBf,gBAAgBc,OAAO,CAAA;AACjD,IAAA,IAAI,CAACC,mBAAmB,OAAOF,GAAAA;AAE/B,IAAA,MAAMG,mBAAmBC,wBAAAA,CAAyB;AAAA,MAChDC,eAAAA,EAAiBH,iBAAAA,CAAkBI,OAAAA,IAAW,EAAA;AAAA,MAC9CC,mBAAAA,EAAqBlB,2BAAAA;AAAAA,MACrBmB,WAAAA,EAAaN,iBAAAA,CAAkBO,GAAAA,IAAO,EAAA;AAAA,MACtCR;AAAAA,KACD,CAAA;AACD,IAAA,IAAI,CAACE,kBAAkB,OAAOH,GAAAA;AAE9BA,IAAAA,GAAAA,CAAIU,aAAAA,CAAcT,OAAO,CAAA,GAAI;AAAA,MAC3BU,QAAQR,gBAAAA,CAAiBS,IAAAA;AAAAA,MACzBC,UAAAA,EAAYC,oBAAoBX,gBAAAA,CAAiBS,IAAAA,EAAOG,WACtDA,KAAAA,CAAMC,OAAAA,CAAQC,aAChB;AAAA,KACF;AACAjB,IAAAA,GAAAA,CAAIkB,qBAAAA,CAAsBjB,OAAO,CAAA,GAAI;AAAA,MACnCU,QAAQR,gBAAAA,CAAiBgB,YAAAA;AAAAA,MACzBN,UAAAA,EAAYC,oBACVX,gBAAAA,CAAiBgB,YAAAA,EAChBJ,WAAUA,KAAAA,CAAMC,OAAAA,CAAQC,aAC3B;AAAA,KACF;AAEA,IAAA,OAAOjB,GAAAA;AAAAA,GACT,EACA;AAAA,IACEU,eAAe,EAAC;AAAA,IAChBQ,uBAAuB;AAAC,GAE5B,CAAA;AAEA,EAAA,OAAOpB,SAAAA;AACT,CAAC,CAAC;AAAChB,aAAAA,CAAAsC,UAAAA,GAAA,eAAA;;;;"}
1
+ {"version":3,"file":"tokensAtom.js","sources":["../../../src/tokens/state/tokensAtom.ts"],"sourcesContent":["import type { TokenFromList } from \"./types\";\nimport {\n constructedTokensByURLAtom,\n tokenListsAtom,\n} from \"../lists/state/tokenListsStateAtom\";\nimport { atom } from \"jotai\";\nimport { constructTokensFromLists } from \"./constructTokens\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\n\ntype TokensFromLists = {\n tokens: TokenFromList[];\n addressMap: Record<string, TokenFromList>;\n};\n\ntype TokensFromListsState = {\n listByChainId: Record<number, TokensFromLists>;\n disabledListByChainId: Record<number, TokensFromLists>;\n};\n\nexport const fromListsAtom = atom<TokensFromListsState>((get) => {\n // get the current list atoms\n const tokenListsState = get(tokenListsAtom);\n const constructedTokensByURLState = get(constructedTokensByURLAtom);\n\n const chainsFromLists = Object.keys(tokenListsState)\n .map(Number)\n .filter(isSupportedChainId);\n\n // atom with the lists of constructed SDK tokens\n const fromLists = chainsFromLists.reduce<TokensFromListsState>(\n (acc, chainId) => {\n const tokenListForChain = tokenListsState[chainId];\n if (!tokenListForChain) return acc;\n\n const constructedLists = constructTokensFromLists({\n enabledListURLs: tokenListForChain.enabled || [],\n tokensFromListByURL: constructedTokensByURLState,\n allListURLs: tokenListForChain.all || [],\n chainId,\n });\n if (!constructedLists) return acc;\n\n acc.listByChainId[chainId] = {\n tokens: constructedLists.list,\n addressMap: gatherObjectsByProp(constructedLists.list, (token) =>\n token.address.toLowerCase()\n ),\n };\n acc.disabledListByChainId[chainId] = {\n tokens: constructedLists.disabledList,\n addressMap: gatherObjectsByProp(\n constructedLists.disabledList,\n (token) => token.address.toLowerCase()\n ),\n };\n\n return acc;\n },\n {\n listByChainId: {},\n disabledListByChainId: {},\n }\n );\n\n return fromLists;\n});\n"],"names":["fromListsAtom","atom","get","tokenListsState","tokenListsAtom","constructedTokensByURLState","constructedTokensByURLAtom","chainsFromLists","Object","keys","map","Number","filter","isSupportedChainId","fromLists","reduce","acc","chainId","tokenListForChain","constructedLists","constructTokensFromLists","enabledListURLs","enabled","tokensFromListByURL","allListURLs","all","listByChainId","tokens","list","addressMap","gatherObjectsByProp","token","address","toLowerCase","disabledListByChainId","disabledList"],"mappings":";;;;;;AAoBO,MAAMA,aAAAA,GAAgBC,KAA4BC,CAAAA,GAAAA,KAAQ;AAE/D,EAAA,MAAMC,eAAAA,GAAkBD,IAAIE,cAAc,CAAA;AAC1C,EAAA,MAAMC,2BAAAA,GAA8BH,IAAII,0BAA0B,CAAA;AAElE,EAAA,MAAMC,eAAAA,GAAkBC,OAAOC,IAAAA,CAAKN,eAAe,EAChDO,GAAAA,CAAIC,MAAM,CAAA,CACVC,MAAAA,CAAOC,kBAAkB,CAAA;AAG5B,EAAA,MAAMC,SAAAA,GAAYP,eAAAA,CAAgBQ,MAAAA,CAChC,CAACC,KAAKC,OAAAA,KAAY;AAChB,IAAA,MAAMC,iBAAAA,GAAoBf,gBAAgBc,OAAO,CAAA;AACjD,IAAA,IAAI,CAACC,mBAAmB,OAAOF,GAAAA;AAE/B,IAAA,MAAMG,mBAAmBC,wBAAAA,CAAyB;AAAA,MAChDC,eAAAA,EAAiBH,iBAAAA,CAAkBI,OAAAA,IAAW,EAAA;AAAA,MAC9CC,mBAAAA,EAAqBlB,2BAAAA;AAAAA,MACrBmB,WAAAA,EAAaN,iBAAAA,CAAkBO,GAAAA,IAAO,EAAA;AAAA,MACtCR;AAAAA,KACD,CAAA;AACD,IAAA,IAAI,CAACE,kBAAkB,OAAOH,GAAAA;AAE9BA,IAAAA,GAAAA,CAAIU,aAAAA,CAAcT,OAAO,CAAA,GAAI;AAAA,MAC3BU,QAAQR,gBAAAA,CAAiBS,IAAAA;AAAAA,MACzBC,UAAAA,EAAYC,oBAAoBX,gBAAAA,CAAiBS,IAAAA,EAAOG,WACtDA,KAAAA,CAAMC,OAAAA,CAAQC,aAChB;AAAA,KACF;AACAjB,IAAAA,GAAAA,CAAIkB,qBAAAA,CAAsBjB,OAAO,CAAA,GAAI;AAAA,MACnCU,QAAQR,gBAAAA,CAAiBgB,YAAAA;AAAAA,MACzBN,UAAAA,EAAYC,oBACVX,gBAAAA,CAAiBgB,YAAAA,EAChBJ,WAAUA,KAAAA,CAAMC,OAAAA,CAAQC,aAC3B;AAAA,KACF;AAEA,IAAA,OAAOjB,GAAAA;AAAAA,GACT,EACA;AAAA,IACEU,eAAe,EAAC;AAAA,IAChBQ,uBAAuB;AAAC,GAE5B,CAAA;AAEA,EAAA,OAAOpB,SAAAA;AACT,CAAC;;;;"}
@@ -1,13 +1,3 @@
1
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
2
- cache: /* @__PURE__ */ new Map(),
3
- get(name, inst) {
4
- if (this.cache.has(name)) {
5
- return this.cache.get(name);
6
- }
7
- this.cache.set(name, inst);
8
- return inst;
9
- }
10
- };
11
1
  function areTokensSame(tokenA, tokenB) {
12
2
  return tokenA.address.toLowerCase() === tokenB.address.toLowerCase() && tokenA.network === tokenB.network;
13
3
  }
@@ -1 +1 @@
1
- {"version":3,"file":"areTokensSame.js","sources":["../../../src/tokens/utils/areTokensSame.ts"],"sourcesContent":["import type { Token } from \"../state/types\";\n\ntype MinToken = Pick<Token, \"address\" | \"network\">;\n\nexport function areTokensSame(tokenA: MinToken, tokenB: MinToken): boolean {\n return (\n tokenA.address.toLowerCase() === tokenB.address.toLowerCase() &&\n tokenA.network === tokenB.network\n );\n}\n"],"names":["areTokensSame","tokenA","tokenB","address","toLowerCase","network"],"mappings":";;;;;;;;;;AAIO,SAASA,aAAAA,CAAcC,QAAkBC,MAAAA,EAA2B;AACzE,EAAA,OACED,MAAAA,CAAOE,OAAAA,CAAQC,WAAAA,EAAY,KAAMF,MAAAA,CAAOC,QAAQC,WAAAA,EAAY,IAC5DH,MAAAA,CAAOI,OAAAA,KAAYH,MAAAA,CAAOG,OAAAA;AAE9B;;;;"}
1
+ {"version":3,"file":"areTokensSame.js","sources":["../../../src/tokens/utils/areTokensSame.ts"],"sourcesContent":["import type { Token } from \"../state/types\";\n\ntype MinToken = Pick<Token, \"address\" | \"network\">;\n\nexport function areTokensSame(tokenA: MinToken, tokenB: MinToken): boolean {\n return (\n tokenA.address.toLowerCase() === tokenB.address.toLowerCase() &&\n tokenA.network === tokenB.network\n );\n}\n"],"names":["areTokensSame","tokenA","tokenB","address","toLowerCase","network"],"mappings":"AAIO,SAASA,aAAAA,CAAcC,QAAkBC,MAAAA,EAA2B;AACzE,EAAA,OACED,MAAAA,CAAOE,OAAAA,CAAQC,WAAAA,EAAY,KAAMF,MAAAA,CAAOC,QAAQC,WAAAA,EAAY,IAC5DH,MAAAA,CAAOI,OAAAA,KAAYH,MAAAA,CAAOG,OAAAA;AAE9B;;;;"}
@@ -1,16 +1,6 @@
1
1
  import { wrappedNativeCurrency } from '../../lib/constants/weth.js';
2
2
  import { ETH_ADDRESS_LOWERCASE } from '../constants.js';
3
3
 
4
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
5
- cache: /* @__PURE__ */ new Map(),
6
- get(name, inst) {
7
- if (this.cache.has(name)) {
8
- return this.cache.get(name);
9
- }
10
- this.cache.set(name, inst);
11
- return inst;
12
- }
13
- };
14
4
  const isETHaddress = (address) => address.toLowerCase() === ETH_ADDRESS_LOWERCASE;
15
5
  const isETH = (token) => {
16
6
  return isETHaddress(token.address);
@@ -1 +1 @@
1
- {"version":3,"file":"eth.js","sources":["../../../src/tokens/utils/eth.ts"],"sourcesContent":["import { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { ETH_ADDRESS_LOWERCASE, type ETH_ADDRESS } from \"../constants\";\nimport type { Token } from \"../state/types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport const isETHaddress = (address: string): boolean =>\n address.toLowerCase() === ETH_ADDRESS_LOWERCASE;\n// checks whether token is ETH or another primary currency of a chain\n\nexport const isETH = (\n token: Pick<Token, \"address\">\n): token is Token & { address: typeof ETH_ADDRESS } => {\n return isETHaddress(token.address);\n};\n\nexport const isWETH = (\n token: Pick<Token, \"address\">,\n networkId: SupportedChainId\n): boolean => {\n const wrappedNativeToken = wrappedNativeCurrency[networkId];\n return token.address.toLowerCase() === wrappedNativeToken;\n};\n"],"names":["isETHaddress","address","toLowerCase","ETH_ADDRESS_LOWERCASE","isETH","token","isWETH","networkId","wrappedNativeToken","wrappedNativeCurrency"],"mappings":";;;;;;;;;;;;;AAKO,MAAMA,YAAAA,GAAeA,CAACC,OAAAA,KAC3BA,OAAAA,CAAQC,aAAY,KAAMC;AAGrB,MAAMC,KAAAA,GAAQA,CACnBC,KAAAA,KACqD;AACrD,EAAA,OAAOL,YAAAA,CAAaK,MAAMJ,OAAO,CAAA;AACnC;AAEO,MAAMK,MAAAA,GAASA,CACpBD,KAAAA,EACAE,SAAAA,KACY;AACZ,EAAA,MAAMC,kBAAAA,GAAqBC,sBAAsBF,SAAS,CAAA;AAC1D,EAAA,OAAOF,KAAAA,CAAMJ,OAAAA,CAAQC,WAAAA,EAAY,KAAMM,kBAAAA;AACzC;;;;"}
1
+ {"version":3,"file":"eth.js","sources":["../../../src/tokens/utils/eth.ts"],"sourcesContent":["import { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { ETH_ADDRESS_LOWERCASE, type ETH_ADDRESS } from \"../constants\";\nimport type { Token } from \"../state/types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport const isETHaddress = (address: string): boolean =>\n address.toLowerCase() === ETH_ADDRESS_LOWERCASE;\n// checks whether token is ETH or another primary currency of a chain\n\nexport const isETH = (\n token: Pick<Token, \"address\">\n): token is Token & { address: typeof ETH_ADDRESS } => {\n return isETHaddress(token.address);\n};\n\nexport const isWETH = (\n token: Pick<Token, \"address\">,\n networkId: SupportedChainId\n): boolean => {\n const wrappedNativeToken = wrappedNativeCurrency[networkId];\n return token.address.toLowerCase() === wrappedNativeToken;\n};\n"],"names":["isETHaddress","address","toLowerCase","ETH_ADDRESS_LOWERCASE","isETH","token","isWETH","networkId","wrappedNativeToken","wrappedNativeCurrency"],"mappings":";;;AAKO,MAAMA,YAAAA,GAAeA,CAACC,OAAAA,KAC3BA,OAAAA,CAAQC,aAAY,KAAMC;AAGrB,MAAMC,KAAAA,GAAQA,CACnBC,KAAAA,KACqD;AACrD,EAAA,OAAOL,YAAAA,CAAaK,MAAMJ,OAAO,CAAA;AACnC;AAEO,MAAMK,MAAAA,GAASA,CACpBD,KAAAA,EACAE,SAAAA,KACY;AACZ,EAAA,MAAMC,kBAAAA,GAAqBC,sBAAsBF,SAAS,CAAA;AAC1D,EAAA,OAAOF,KAAAA,CAAMJ,OAAAA,CAAQC,WAAAA,EAAY,KAAMM,kBAAAA;AACzC;;;;"}
@@ -2,16 +2,6 @@ import { isTruthy, stringIncludes } from '../../lib/utils/index.js';
2
2
  import { isAddress } from 'viem';
3
3
  import { isBlacklistedToken } from '../blacklist.js';
4
4
 
5
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
6
- cache: /* @__PURE__ */ new Map(),
7
- get(name, inst) {
8
- if (this.cache.has(name)) {
9
- return this.cache.get(name);
10
- }
11
- this.cache.set(name, inst);
12
- return inst;
13
- }
14
- };
15
5
  const blackListedTokenFilter = (token) => {
16
6
  if (isBlacklistedToken(token)) return false;
17
7
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"filtering.js","sources":["../../../src/tokens/utils/filtering.ts"],"sourcesContent":["import { stringIncludes, isTruthy } from \"@/lib/utils\";\nimport { isAddress } from \"viem\";\nimport { isBlacklistedToken } from \"../blacklist\";\nimport type { Token } from \"../state/types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nconst blackListedTokenFilter: TokenFilterFunction = (token) => {\n if (isBlacklistedToken(token)) return false;\n return null;\n};\n\nfunction composeTokenFilters(\n filters: TokenFilterFunction[],\n filterString: string\n): <T extends Token>(token: T) => boolean {\n return (token) => {\n for (const filterFunc of filters) {\n const filterResult = filterFunc(token, filterString);\n if (filterResult != null) return filterResult;\n }\n\n return false;\n };\n}\n\ninterface FilterTokensInput<T extends Token> {\n filterString: string;\n networkFilter?: SupportedChainId;\n tokenArray: T[];\n customFilter?: TokenFilterFunction;\n filterBySymbol?: TokenFilterFunction | null;\n filterByName?: TokenFilterFunction | null;\n filterByAddress?: TokenFilterFunction | null;\n filterByNetwork?: TokenFilterNyNetworkFunction;\n // return when first Token found\n // consider it [tokenArray.find()] vs tokenArray.filter()\n firstOne?: boolean;\n}\n\ntype TokenFilterFunction = <T extends Token>(\n token: T,\n filterString: string\n) => boolean | null; // null means go to next filter function\n\ntype TokenFilterNyNetworkFunction = <T extends Token>(\n token: T,\n networkFilter?: number\n) => boolean;\n\nconst filterBySymbolDefault: TokenFilterFunction = (token, filterString) => {\n // symbol is now optional in paraswap-sdk\n // though it's always available in practice\n const bySymbol = token.symbol\n ? stringIncludes(token.symbol, filterString)\n : false;\n return bySymbol || null; // on false go to next filter\n};\n\nconst filterByNameDefault: TokenFilterFunction = (token, filterString) => {\n // name is now optional\n // and won't necessarily be available in imported tokens for example\n const byName = token.name ? stringIncludes(token.name, filterString) : false;\n return byName || null; // on false go to next filter\n};\n\nconst filterByAddressDefault: TokenFilterFunction = (token, filterString) => {\n const byAddress = stringIncludes(token.address, filterString);\n return byAddress || null; // on false go to next filter\n};\n\nconst filterByNetworkDefault: TokenFilterNyNetworkFunction = (\n token,\n networkFilter\n) => {\n if (networkFilter === undefined) return true;\n return token.network === networkFilter;\n};\n\nconst BANNED_KEYWORDS_LOWERCASE = [\"derivative\", \"leverage\"];\nconst excludeDerivatives: TokenFilterFunction = (token) => {\n const name = token.name;\n const byName =\n !!name &&\n BANNED_KEYWORDS_LOWERCASE.some((keyword) => stringIncludes(name, keyword));\n if (byName) return false;\n\n const symbol = token.symbol;\n const bySymbol =\n !!symbol &&\n BANNED_KEYWORDS_LOWERCASE.some((keyword) =>\n stringIncludes(symbol, keyword)\n );\n if (bySymbol) return false;\n\n return null;\n};\n\nexport const filterTokens = <T extends Token>({\n filterString,\n networkFilter,\n tokenArray,\n customFilter,\n filterBySymbol = filterBySymbolDefault,\n filterByName = filterByNameDefault,\n filterByAddress = filterByAddressDefault,\n filterByNetwork = filterByNetworkDefault,\n firstOne = false,\n}: FilterTokensInput<T>): T[] => {\n if (!filterString && networkFilter === undefined && !customFilter)\n return tokenArray;\n\n // order matters\n const tokenFilters = [\n excludeDerivatives,\n blackListedTokenFilter, // first filter our blacklisted\n customFilter, // then if custom filter available\n // then either address or symbol filter, depending on if `filterString` is Address\n isAddress(filterString) ? filterByAddress : [filterBySymbol, filterByName],\n ]\n .flat()\n .filter(isTruthy);\n const composedTokenFilter = composeTokenFilters(tokenFilters, filterString);\n\n if (firstOne) {\n const tokenFound = tokenArray.find(composedTokenFilter);\n return tokenFound ? [tokenFound] : [];\n }\n\n const filteredArray = tokenArray.filter(\n (token) =>\n composedTokenFilter(token) && filterByNetwork(token, networkFilter)\n );\n\n return filteredArray;\n};\n"],"names":["blackListedTokenFilter","token","isBlacklistedToken","composeTokenFilters","filters","filterString","filterFunc","filterResult","filterBySymbolDefault","bySymbol","symbol","stringIncludes","filterByNameDefault","byName","name","filterByAddressDefault","byAddress","address","filterByNetworkDefault","networkFilter","undefined","network","BANNED_KEYWORDS_LOWERCASE","excludeDerivatives","some","keyword","filterTokens","tokenArray","customFilter","filterBySymbol","filterByName","filterByAddress","filterByNetwork","firstOne","tokenFilters","isAddress","flat","filter","isTruthy","composedTokenFilter","tokenFound","find","filteredArray"],"mappings":"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"}
1
+ {"version":3,"file":"filtering.js","sources":["../../../src/tokens/utils/filtering.ts"],"sourcesContent":["import { stringIncludes, isTruthy } from \"@/lib/utils\";\nimport { isAddress } from \"viem\";\nimport { isBlacklistedToken } from \"../blacklist\";\nimport type { Token } from \"../state/types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nconst blackListedTokenFilter: TokenFilterFunction = (token) => {\n if (isBlacklistedToken(token)) return false;\n return null;\n};\n\nfunction composeTokenFilters(\n filters: TokenFilterFunction[],\n filterString: string\n): <T extends Token>(token: T) => boolean {\n return (token) => {\n for (const filterFunc of filters) {\n const filterResult = filterFunc(token, filterString);\n if (filterResult != null) return filterResult;\n }\n\n return false;\n };\n}\n\ninterface FilterTokensInput<T extends Token> {\n filterString: string;\n networkFilter?: SupportedChainId;\n tokenArray: T[];\n customFilter?: TokenFilterFunction;\n filterBySymbol?: TokenFilterFunction | null;\n filterByName?: TokenFilterFunction | null;\n filterByAddress?: TokenFilterFunction | null;\n filterByNetwork?: TokenFilterNyNetworkFunction;\n // return when first Token found\n // consider it [tokenArray.find()] vs tokenArray.filter()\n firstOne?: boolean;\n}\n\ntype TokenFilterFunction = <T extends Token>(\n token: T,\n filterString: string\n) => boolean | null; // null means go to next filter function\n\ntype TokenFilterNyNetworkFunction = <T extends Token>(\n token: T,\n networkFilter?: number\n) => boolean;\n\nconst filterBySymbolDefault: TokenFilterFunction = (token, filterString) => {\n // symbol is now optional in paraswap-sdk\n // though it's always available in practice\n const bySymbol = token.symbol\n ? stringIncludes(token.symbol, filterString)\n : false;\n return bySymbol || null; // on false go to next filter\n};\n\nconst filterByNameDefault: TokenFilterFunction = (token, filterString) => {\n // name is now optional\n // and won't necessarily be available in imported tokens for example\n const byName = token.name ? stringIncludes(token.name, filterString) : false;\n return byName || null; // on false go to next filter\n};\n\nconst filterByAddressDefault: TokenFilterFunction = (token, filterString) => {\n const byAddress = stringIncludes(token.address, filterString);\n return byAddress || null; // on false go to next filter\n};\n\nconst filterByNetworkDefault: TokenFilterNyNetworkFunction = (\n token,\n networkFilter\n) => {\n if (networkFilter === undefined) return true;\n return token.network === networkFilter;\n};\n\nconst BANNED_KEYWORDS_LOWERCASE = [\"derivative\", \"leverage\"];\nconst excludeDerivatives: TokenFilterFunction = (token) => {\n const name = token.name;\n const byName =\n !!name &&\n BANNED_KEYWORDS_LOWERCASE.some((keyword) => stringIncludes(name, keyword));\n if (byName) return false;\n\n const symbol = token.symbol;\n const bySymbol =\n !!symbol &&\n BANNED_KEYWORDS_LOWERCASE.some((keyword) =>\n stringIncludes(symbol, keyword)\n );\n if (bySymbol) return false;\n\n return null;\n};\n\nexport const filterTokens = <T extends Token>({\n filterString,\n networkFilter,\n tokenArray,\n customFilter,\n filterBySymbol = filterBySymbolDefault,\n filterByName = filterByNameDefault,\n filterByAddress = filterByAddressDefault,\n filterByNetwork = filterByNetworkDefault,\n firstOne = false,\n}: FilterTokensInput<T>): T[] => {\n if (!filterString && networkFilter === undefined && !customFilter)\n return tokenArray;\n\n // order matters\n const tokenFilters = [\n excludeDerivatives,\n blackListedTokenFilter, // first filter our blacklisted\n customFilter, // then if custom filter available\n // then either address or symbol filter, depending on if `filterString` is Address\n isAddress(filterString) ? filterByAddress : [filterBySymbol, filterByName],\n ]\n .flat()\n .filter(isTruthy);\n const composedTokenFilter = composeTokenFilters(tokenFilters, filterString);\n\n if (firstOne) {\n const tokenFound = tokenArray.find(composedTokenFilter);\n return tokenFound ? [tokenFound] : [];\n }\n\n const filteredArray = tokenArray.filter(\n (token) =>\n composedTokenFilter(token) && filterByNetwork(token, networkFilter)\n );\n\n return filteredArray;\n};\n"],"names":["blackListedTokenFilter","token","isBlacklistedToken","composeTokenFilters","filters","filterString","filterFunc","filterResult","filterBySymbolDefault","bySymbol","symbol","stringIncludes","filterByNameDefault","byName","name","filterByAddressDefault","byAddress","address","filterByNetworkDefault","networkFilter","undefined","network","BANNED_KEYWORDS_LOWERCASE","excludeDerivatives","some","keyword","filterTokens","tokenArray","customFilter","filterBySymbol","filterByName","filterByAddress","filterByNetwork","firstOne","tokenFilters","isAddress","flat","filter","isTruthy","composedTokenFilter","tokenFound","find","filteredArray"],"mappings":"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"}
@@ -1,13 +1,3 @@
1
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
2
- cache: /* @__PURE__ */ new Map(),
3
- get(name, inst) {
4
- if (this.cache.has(name)) {
5
- return this.cache.get(name);
6
- }
7
- this.cache.set(name, inst);
8
- return inst;
9
- }
10
- };
11
1
  function tokenlistsToSetsByChain(lists) {
12
2
  const loadedLists = lists.filter((list) => list.available);
13
3
  const allTokens = loadedLists.flatMap((list) => list.data.tokens);
@@ -1 +1 @@
1
- {"version":3,"file":"sets.js","sources":["../../../src/tokens/utils/sets.ts"],"sourcesContent":["import type {\n TokenListFetched,\n TokenListCompiled,\n ChainTokensSet,\n} from \"../types\";\n\nexport function tokenlistsToSetsByChain<T extends string>(\n lists: TokenListFetched<T>[]\n): ChainTokensSet {\n const loadedLists = lists.filter(\n (list): list is TokenListCompiled<T> => list.available\n );\n\n const allTokens = loadedLists.flatMap((list) => list.data.tokens);\n\n return allTokens.reduce<ChainTokensSet>((accum, token) => {\n const set = accum[token.chainId] || new Set<string>();\n set.add(token.address.toLowerCase());\n\n accum[token.chainId] = set;\n return accum;\n }, {});\n}\n\nexport function checkAddressesBelongToChainSet(\n sets: ChainTokensSet,\n addresses: (string | undefined)[],\n chainId?: number\n): boolean {\n if (!chainId) return false;\n const chainSets = sets[chainId];\n if (!chainSets) return false;\n\n return addresses.every(\n (address) => address && chainSets.has(address.toLowerCase())\n );\n}\n"],"names":["tokenlistsToSetsByChain","lists","loadedLists","filter","list","available","allTokens","flatMap","data","tokens","reduce","accum","token","set","chainId","Set","add","address","toLowerCase","checkAddressesBelongToChainSet","sets","addresses","chainSets","every","has"],"mappings":";;;;;;;;;;AAMO,SAASA,wBACdC,KAAAA,EACgB;AAChB,EAAA,MAAMC,cAAcD,KAAAA,CAAME,MAAAA,CACxB,CAACC,IAAAA,KAAuCA,KAAKC,SAC/C,CAAA;AAEA,EAAA,MAAMC,YAAYJ,WAAAA,CAAYK,OAAAA,CAASH,CAAAA,IAAAA,KAASA,IAAAA,CAAKI,KAAKC,MAAM,CAAA;AAEhE,EAAA,OAAOH,SAAAA,CAAUI,MAAAA,CAAuB,CAACC,KAAAA,EAAOC,KAAAA,KAAU;AACxD,IAAA,MAAMC,MAAMF,KAAAA,CAAMC,KAAAA,CAAME,OAAO,CAAA,wBAASC,GAAAA,EAAY;AACpDF,IAAAA,GAAAA,CAAIG,GAAAA,CAAIJ,KAAAA,CAAMK,OAAAA,CAAQC,WAAAA,EAAa,CAAA;AAEnCP,IAAAA,KAAAA,CAAMC,KAAAA,CAAME,OAAO,CAAA,GAAID,GAAAA;AACvB,IAAA,OAAOF,KAAAA;AAAAA,GACT,EAAG,EAAE,CAAA;AACP;AAEO,SAASQ,8BAAAA,CACdC,IAAAA,EACAC,SAAAA,EACAP,OAAAA,EACS;AACT,EAAA,IAAI,CAACA,SAAS,OAAO,KAAA;AACrB,EAAA,MAAMQ,SAAAA,GAAYF,KAAKN,OAAO,CAAA;AAC9B,EAAA,IAAI,CAACQ,WAAW,OAAO,KAAA;AAEvB,EAAA,OAAOD,SAAAA,CAAUE,MACdN,CAAAA,OAAAA,KAAYA,OAAAA,IAAWK,UAAUE,GAAAA,CAAIP,OAAAA,CAAQC,WAAAA,EAAa,CAC7D,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"sets.js","sources":["../../../src/tokens/utils/sets.ts"],"sourcesContent":["import type {\n TokenListFetched,\n TokenListCompiled,\n ChainTokensSet,\n} from \"../types\";\n\nexport function tokenlistsToSetsByChain<T extends string>(\n lists: TokenListFetched<T>[]\n): ChainTokensSet {\n const loadedLists = lists.filter(\n (list): list is TokenListCompiled<T> => list.available\n );\n\n const allTokens = loadedLists.flatMap((list) => list.data.tokens);\n\n return allTokens.reduce<ChainTokensSet>((accum, token) => {\n const set = accum[token.chainId] || new Set<string>();\n set.add(token.address.toLowerCase());\n\n accum[token.chainId] = set;\n return accum;\n }, {});\n}\n\nexport function checkAddressesBelongToChainSet(\n sets: ChainTokensSet,\n addresses: (string | undefined)[],\n chainId?: number\n): boolean {\n if (!chainId) return false;\n const chainSets = sets[chainId];\n if (!chainSets) return false;\n\n return addresses.every(\n (address) => address && chainSets.has(address.toLowerCase())\n );\n}\n"],"names":["tokenlistsToSetsByChain","lists","loadedLists","filter","list","available","allTokens","flatMap","data","tokens","reduce","accum","token","set","chainId","Set","add","address","toLowerCase","checkAddressesBelongToChainSet","sets","addresses","chainSets","every","has"],"mappings":"AAMO,SAASA,wBACdC,KAAAA,EACgB;AAChB,EAAA,MAAMC,cAAcD,KAAAA,CAAME,MAAAA,CACxB,CAACC,IAAAA,KAAuCA,KAAKC,SAC/C,CAAA;AAEA,EAAA,MAAMC,YAAYJ,WAAAA,CAAYK,OAAAA,CAASH,CAAAA,IAAAA,KAASA,IAAAA,CAAKI,KAAKC,MAAM,CAAA;AAEhE,EAAA,OAAOH,SAAAA,CAAUI,MAAAA,CAAuB,CAACC,KAAAA,EAAOC,KAAAA,KAAU;AACxD,IAAA,MAAMC,MAAMF,KAAAA,CAAMC,KAAAA,CAAME,OAAO,CAAA,wBAASC,GAAAA,EAAY;AACpDF,IAAAA,GAAAA,CAAIG,GAAAA,CAAIJ,KAAAA,CAAMK,OAAAA,CAAQC,WAAAA,EAAa,CAAA;AAEnCP,IAAAA,KAAAA,CAAMC,KAAAA,CAAME,OAAO,CAAA,GAAID,GAAAA;AACvB,IAAA,OAAOF,KAAAA;AAAAA,GACT,EAAG,EAAE,CAAA;AACP;AAEO,SAASQ,8BAAAA,CACdC,IAAAA,EACAC,SAAAA,EACAP,OAAAA,EACS;AACT,EAAA,IAAI,CAACA,SAAS,OAAO,KAAA;AACrB,EAAA,MAAMQ,SAAAA,GAAYF,KAAKN,OAAO,CAAA;AAC9B,EAAA,IAAI,CAACQ,WAAW,OAAO,KAAA;AAEvB,EAAA,OAAOD,SAAAA,CAAUE,MACdN,CAAAA,OAAAA,KAAYA,OAAAA,IAAWK,UAAUE,GAAAA,CAAIP,OAAAA,CAAQC,WAAAA,EAAa,CAC7D,CAAA;AACF;;;;"}
@@ -1,15 +1,5 @@
1
1
  import { isETH } from './eth.js';
2
2
 
3
- globalThis.jotaiAtomCache = globalThis.jotaiAtomCache || {
4
- cache: /* @__PURE__ */ new Map(),
5
- get(name, inst) {
6
- if (this.cache.has(name)) {
7
- return this.cache.get(name);
8
- }
9
- this.cache.set(name, inst);
10
- return inst;
11
- }
12
- };
13
3
  function sortTokens(tokenA, tokenB) {
14
4
  if (isETH(tokenA) && isETH(tokenB) && "usdBalance" in tokenA && "usdBalance" in tokenB && tokenA.usdBalance && tokenB.usdBalance) {
15
5
  return tokenA.usdBalance > tokenB.usdBalance ? -1 : 1;
@@ -1 +1 @@
1
- {"version":3,"file":"sorting.js","sources":["../../../src/tokens/utils/sorting.ts"],"sourcesContent":["import type { TokenMaybeWithUsdBalance } from \"../state/types\";\nimport { isETH } from \"./eth\";\n\ntype TokenLikeMaybeWithUsdBalance = Pick<\n TokenMaybeWithUsdBalance,\n \"address\" | \"usdBalance\"\n>;\n\nexport function sortTokens(\n tokenA: TokenLikeMaybeWithUsdBalance,\n tokenB: TokenLikeMaybeWithUsdBalance\n) {\n // both tokens are native (from different chains) - first goes with bigger usdBalance\n if (\n isETH(tokenA) &&\n isETH(tokenB) &&\n \"usdBalance\" in tokenA &&\n \"usdBalance\" in tokenB &&\n tokenA.usdBalance &&\n tokenB.usdBalance\n ) {\n return tokenA.usdBalance > tokenB.usdBalance ? -1 : 1;\n }\n // Native Token goes first\n if (isETH(tokenA)) return -1;\n if (isETH(tokenB)) return 1;\n\n if (\"usdBalance\" in tokenA && \"usdBalance\" in tokenB) {\n const balanceA =\n \"usdBalance\" in tokenA && tokenA.usdBalance ? tokenA.usdBalance : 0;\n const balanceB =\n \"usdBalance\" in tokenB && tokenB.usdBalance ? tokenB.usdBalance : 0;\n\n // all other Tokens sort by USD balance\n const balDiff = balanceB - balanceA;\n return balDiff;\n }\n\n return 0;\n}\n"],"names":["sortTokens","tokenA","tokenB","isETH","usdBalance","balanceA","balanceB","balDiff"],"mappings":";;;;;;;;;;;;AAQO,SAASA,UAAAA,CACdC,QACAC,MAAAA,EACA;AAEA,EAAA,IACEC,KAAAA,CAAMF,MAAM,CAAA,IACZE,KAAAA,CAAMD,MAAM,CAAA,IACZ,YAAA,IAAgBD,MAAAA,IAChB,YAAA,IAAgBC,MAAAA,IAChBD,MAAAA,CAAOG,UAAAA,IACPF,OAAOE,UAAAA,EACP;AACA,IAAA,OAAOH,MAAAA,CAAOG,UAAAA,GAAaF,MAAAA,CAAOE,UAAAA,GAAa,EAAA,GAAK,CAAA;AAAA;AAGtD,EAAA,IAAID,KAAAA,CAAMF,MAAM,CAAA,EAAG,OAAO,EAAA;AAC1B,EAAA,IAAIE,KAAAA,CAAMD,MAAM,CAAA,EAAG,OAAO,CAAA;AAE1B,EAAA,IAAI,YAAA,IAAgBD,MAAAA,IAAU,YAAA,IAAgBC,MAAAA,EAAQ;AACpD,IAAA,MAAMG,WACJ,YAAA,IAAgBJ,MAAAA,IAAUA,MAAAA,CAAOG,UAAAA,GAAaH,OAAOG,UAAAA,GAAa,CAAA;AACpE,IAAA,MAAME,WACJ,YAAA,IAAgBJ,MAAAA,IAAUA,MAAAA,CAAOE,UAAAA,GAAaF,OAAOE,UAAAA,GAAa,CAAA;AAGpE,IAAA,MAAMG,UAAUD,QAAAA,GAAWD,QAAAA;AAC3B,IAAA,OAAOE,OAAAA;AAAAA;AAGT,EAAA,OAAO,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"sorting.js","sources":["../../../src/tokens/utils/sorting.ts"],"sourcesContent":["import type { TokenMaybeWithUsdBalance } from \"../state/types\";\nimport { isETH } from \"./eth\";\n\ntype TokenLikeMaybeWithUsdBalance = Pick<\n TokenMaybeWithUsdBalance,\n \"address\" | \"usdBalance\"\n>;\n\nexport function sortTokens(\n tokenA: TokenLikeMaybeWithUsdBalance,\n tokenB: TokenLikeMaybeWithUsdBalance\n) {\n // both tokens are native (from different chains) - first goes with bigger usdBalance\n if (\n isETH(tokenA) &&\n isETH(tokenB) &&\n \"usdBalance\" in tokenA &&\n \"usdBalance\" in tokenB &&\n tokenA.usdBalance &&\n tokenB.usdBalance\n ) {\n return tokenA.usdBalance > tokenB.usdBalance ? -1 : 1;\n }\n // Native Token goes first\n if (isETH(tokenA)) return -1;\n if (isETH(tokenB)) return 1;\n\n if (\"usdBalance\" in tokenA && \"usdBalance\" in tokenB) {\n const balanceA =\n \"usdBalance\" in tokenA && tokenA.usdBalance ? tokenA.usdBalance : 0;\n const balanceB =\n \"usdBalance\" in tokenB && tokenB.usdBalance ? tokenB.usdBalance : 0;\n\n // all other Tokens sort by USD balance\n const balDiff = balanceB - balanceA;\n return balDiff;\n }\n\n return 0;\n}\n"],"names":["sortTokens","tokenA","tokenB","isETH","usdBalance","balanceA","balanceB","balDiff"],"mappings":";;AAQO,SAASA,UAAAA,CACdC,QACAC,MAAAA,EACA;AAEA,EAAA,IACEC,KAAAA,CAAMF,MAAM,CAAA,IACZE,KAAAA,CAAMD,MAAM,CAAA,IACZ,YAAA,IAAgBD,MAAAA,IAChB,YAAA,IAAgBC,MAAAA,IAChBD,MAAAA,CAAOG,UAAAA,IACPF,OAAOE,UAAAA,EACP;AACA,IAAA,OAAOH,MAAAA,CAAOG,UAAAA,GAAaF,MAAAA,CAAOE,UAAAA,GAAa,EAAA,GAAK,CAAA;AAAA;AAGtD,EAAA,IAAID,KAAAA,CAAMF,MAAM,CAAA,EAAG,OAAO,EAAA;AAC1B,EAAA,IAAIE,KAAAA,CAAMD,MAAM,CAAA,EAAG,OAAO,CAAA;AAE1B,EAAA,IAAI,YAAA,IAAgBD,MAAAA,IAAU,YAAA,IAAgBC,MAAAA,EAAQ;AACpD,IAAA,MAAMG,WACJ,YAAA,IAAgBJ,MAAAA,IAAUA,MAAAA,CAAOG,UAAAA,GAAaH,OAAOG,UAAAA,GAAa,CAAA;AACpE,IAAA,MAAME,WACJ,YAAA,IAAgBJ,MAAAA,IAAUA,MAAAA,CAAOE,UAAAA,GAAaF,OAAOE,UAAAA,GAAa,CAAA;AAGpE,IAAA,MAAMG,UAAUD,QAAAA,GAAWD,QAAAA;AAC3B,IAAA,OAAOE,OAAAA;AAAAA;AAGT,EAAA,OAAO,CAAA;AACT;;;;"}