@lifi/widget 3.29.0 → 3.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.d.ts +1 -1
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.js +3 -2
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
- package/dist/esm/components/AmountInput/PriceFormHelperText.d.ts +1 -1
- package/dist/esm/components/AmountInput/PriceFormHelperText.js +3 -2
- package/dist/esm/components/AmountInput/PriceFormHelperText.js.map +1 -1
- package/dist/esm/components/BottomSheet/BottomSheet.js +2 -2
- package/dist/esm/components/BottomSheet/BottomSheet.js.map +1 -1
- package/dist/esm/components/BottomSheet/types.d.ts +1 -0
- package/dist/esm/components/ChainSelect/ChainSelect.js +35 -18
- package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -1
- package/dist/esm/components/ChainSelect/useChainSelect.d.ts +1 -1
- package/dist/esm/components/ChainSelect/useChainSelect.js +3 -3
- package/dist/esm/components/ChainSelect/useChainSelect.js.map +1 -1
- package/dist/esm/components/Chains/AllChainsAvatar.d.ts +7 -0
- package/dist/esm/components/Chains/AllChainsAvatar.js +77 -0
- package/dist/esm/components/Chains/AllChainsAvatar.js.map +1 -0
- package/dist/esm/components/Chains/ChainList.d.ts +2 -1
- package/dist/esm/components/Chains/ChainList.js +2 -2
- package/dist/esm/components/Chains/ChainList.js.map +1 -1
- package/dist/esm/components/Chains/ChainSearchInput.js +2 -2
- package/dist/esm/components/Chains/ChainSearchInput.js.map +1 -1
- package/dist/esm/components/Chains/SelectChainContent.js +1 -1
- package/dist/esm/components/Chains/SelectChainContent.js.map +1 -1
- package/dist/esm/components/Chains/VirtualizedChainList.d.ts +2 -1
- package/dist/esm/components/Chains/VirtualizedChainList.js +42 -10
- package/dist/esm/components/Chains/VirtualizedChainList.js.map +1 -1
- package/dist/esm/components/RouteCard/RouteCardEssentials.js +1 -1
- package/dist/esm/components/RouteCard/RouteCardEssentials.js.map +1 -1
- package/dist/esm/components/TokenList/TokenDetailsSheet.d.ts +1 -5
- package/dist/esm/components/TokenList/TokenDetailsSheet.js +5 -3
- package/dist/esm/components/TokenList/TokenDetailsSheet.js.map +1 -1
- package/dist/esm/components/TokenList/TokenDetailsSheetContent.js +2 -2
- package/dist/esm/components/TokenList/TokenDetailsSheetContent.js.map +1 -1
- package/dist/esm/components/TokenList/TokenList.js +11 -53
- package/dist/esm/components/TokenList/TokenList.js.map +1 -1
- package/dist/esm/components/TokenList/TokenListItem.d.ts +1 -1
- package/dist/esm/components/TokenList/TokenListItem.js +29 -25
- package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
- package/dist/esm/components/TokenList/VirtualizedTokenList.js +56 -37
- package/dist/esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
- package/dist/esm/components/TokenList/types.d.ts +6 -10
- package/dist/esm/components/TokenList/useTokenSelect.js +3 -4
- package/dist/esm/components/TokenList/useTokenSelect.js.map +1 -1
- package/dist/esm/components/TransactionDetails.js +2 -2
- package/dist/esm/components/TransactionDetails.js.map +1 -1
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/hooks/useAccountsBalancesData.d.ts +6 -0
- package/dist/esm/hooks/useAccountsBalancesData.js +64 -0
- package/dist/esm/hooks/useAccountsBalancesData.js.map +1 -0
- package/dist/esm/hooks/useFilteredByTokenBalances.d.ts +8 -0
- package/dist/esm/hooks/useFilteredByTokenBalances.js +69 -0
- package/dist/esm/hooks/useFilteredByTokenBalances.js.map +1 -0
- package/dist/esm/hooks/useListHeight.d.ts +0 -1
- package/dist/esm/hooks/useListHeight.js +0 -1
- package/dist/esm/hooks/useListHeight.js.map +1 -1
- package/dist/esm/hooks/useToken.d.ts +2 -2
- package/dist/esm/hooks/useToken.js +13 -11
- package/dist/esm/hooks/useToken.js.map +1 -1
- package/dist/esm/hooks/useTokenAddressBalance.d.ts +2 -3
- package/dist/esm/hooks/useTokenAddressBalance.js +10 -14
- package/dist/esm/hooks/useTokenAddressBalance.js.map +1 -1
- package/dist/esm/hooks/useTokenBalances.d.ts +6 -9
- package/dist/esm/hooks/useTokenBalances.js +57 -72
- package/dist/esm/hooks/useTokenBalances.js.map +1 -1
- package/dist/esm/hooks/useTokenBalancesQueries.d.ts +11 -0
- package/dist/esm/hooks/useTokenBalancesQueries.js +74 -0
- package/dist/esm/hooks/useTokenBalancesQueries.js.map +1 -0
- package/dist/esm/hooks/useTokens.d.ts +6 -6
- package/dist/esm/hooks/useTokens.js +78 -70
- package/dist/esm/hooks/useTokens.js.map +1 -1
- package/dist/esm/i18n/bn.json +3 -3
- package/dist/esm/i18n/de.json +3 -3
- package/dist/esm/i18n/en.json +3 -3
- package/dist/esm/i18n/es.json +3 -3
- package/dist/esm/i18n/fr.json +3 -3
- package/dist/esm/i18n/hi.json +3 -3
- package/dist/esm/i18n/id.json +3 -3
- package/dist/esm/i18n/it.json +3 -3
- package/dist/esm/i18n/ja.json +3 -3
- package/dist/esm/i18n/ko.json +3 -3
- package/dist/esm/i18n/pl.json +3 -3
- package/dist/esm/i18n/pt.json +3 -3
- package/dist/esm/i18n/th.json +3 -3
- package/dist/esm/i18n/tr.json +3 -3
- package/dist/esm/i18n/uk.json +3 -3
- package/dist/esm/i18n/vi.json +3 -3
- package/dist/esm/i18n/zh.json +3 -3
- package/dist/esm/pages/SelectTokenPage/SearchTokenInput.js +6 -1
- package/dist/esm/pages/SelectTokenPage/SearchTokenInput.js.map +1 -1
- package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js +2 -4
- package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +1 -1
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -1
- package/dist/esm/stores/chains/createChainOrderStore.d.ts +3 -2
- package/dist/esm/stores/chains/createChainOrderStore.js +13 -8
- package/dist/esm/stores/chains/createChainOrderStore.js.map +1 -1
- package/dist/esm/stores/chains/types.d.ts +2 -0
- package/dist/esm/stores/chains/useChainOrder.js +5 -1
- package/dist/esm/stores/chains/useChainOrder.js.map +1 -1
- package/dist/esm/types/token.d.ts +7 -2
- package/dist/esm/utils/chainType.d.ts +1 -0
- package/dist/esm/utils/chainType.js +2 -0
- package/dist/esm/utils/chainType.js.map +1 -1
- package/dist/esm/utils/token.d.ts +8 -0
- package/dist/esm/utils/token.js +29 -0
- package/dist/esm/utils/token.js.map +1 -0
- package/dist/esm/utils/tokenList.d.ts +13 -0
- package/dist/esm/utils/tokenList.js +106 -0
- package/dist/esm/utils/tokenList.js.map +1 -0
- package/package.json +8 -8
- package/package.json.tmp +7 -7
- package/src/components/AmountInput/AmountInputEndAdornment.tsx +3 -2
- package/src/components/AmountInput/PriceFormHelperText.tsx +3 -2
- package/src/components/BottomSheet/BottomSheet.tsx +2 -2
- package/src/components/BottomSheet/types.ts +1 -0
- package/src/components/ChainSelect/ChainSelect.tsx +112 -40
- package/src/components/ChainSelect/useChainSelect.ts +3 -3
- package/src/components/Chains/AllChainsAvatar.tsx +113 -0
- package/src/components/Chains/ChainList.tsx +3 -0
- package/src/components/Chains/ChainSearchInput.tsx +2 -2
- package/src/components/Chains/SelectChainContent.tsx +1 -0
- package/src/components/Chains/VirtualizedChainList.tsx +80 -12
- package/src/components/RouteCard/RouteCardEssentials.tsx +1 -1
- package/src/components/TokenList/TokenDetailsSheet.tsx +5 -10
- package/src/components/TokenList/TokenDetailsSheetContent.tsx +2 -6
- package/src/components/TokenList/TokenList.tsx +57 -129
- package/src/components/TokenList/TokenListItem.tsx +191 -166
- package/src/components/TokenList/VirtualizedTokenList.tsx +88 -48
- package/src/components/TokenList/types.ts +14 -10
- package/src/components/TokenList/useTokenSelect.ts +3 -4
- package/src/components/TransactionDetails.tsx +2 -2
- package/src/config/version.ts +1 -1
- package/src/hooks/useAccountsBalancesData.ts +101 -0
- package/src/hooks/useFilteredByTokenBalances.ts +101 -0
- package/src/hooks/useListHeight.ts +0 -1
- package/src/hooks/useToken.ts +26 -14
- package/src/hooks/useTokenAddressBalance.ts +14 -20
- package/src/hooks/useTokenBalances.ts +81 -80
- package/src/hooks/useTokenBalancesQueries.ts +94 -0
- package/src/hooks/useTokens.ts +118 -90
- package/src/i18n/bn.json +3 -3
- package/src/i18n/de.json +3 -3
- package/src/i18n/en.json +3 -3
- package/src/i18n/es.json +3 -3
- package/src/i18n/fr.json +3 -3
- package/src/i18n/hi.json +3 -3
- package/src/i18n/id.json +3 -3
- package/src/i18n/it.json +3 -3
- package/src/i18n/ja.json +3 -3
- package/src/i18n/ko.json +3 -3
- package/src/i18n/pl.json +3 -3
- package/src/i18n/pt.json +3 -3
- package/src/i18n/th.json +3 -3
- package/src/i18n/tr.json +3 -3
- package/src/i18n/uk.json +3 -3
- package/src/i18n/vi.json +3 -3
- package/src/i18n/zh.json +3 -3
- package/src/pages/SelectTokenPage/SearchTokenInput.tsx +5 -0
- package/src/pages/SelectTokenPage/SelectTokenPage.tsx +7 -13
- package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +1 -1
- package/src/stores/chains/createChainOrderStore.ts +17 -8
- package/src/stores/chains/types.ts +2 -0
- package/src/stores/chains/useChainOrder.ts +5 -1
- package/src/types/token.ts +11 -2
- package/src/utils/chainType.ts +2 -0
- package/src/utils/token.ts +65 -0
- package/src/utils/tokenList.ts +172 -0
- package/dist/esm/components/TokenList/utils.d.ts +0 -2
- package/dist/esm/components/TokenList/utils.js +0 -35
- package/dist/esm/components/TokenList/utils.js.map +0 -1
- package/src/components/TokenList/utils.ts +0 -42
|
@@ -1,49 +1,68 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Typography } from '@mui/material';
|
|
3
3
|
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
4
|
-
import { useCallback, useEffect, useRef } from 'react';
|
|
4
|
+
import { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
5
5
|
import { useTranslation } from 'react-i18next';
|
|
6
|
+
import { useAvailableChains } from '../../hooks/useAvailableChains.js';
|
|
6
7
|
import { TokenDetailsSheet } from './TokenDetailsSheet.js';
|
|
7
8
|
import { List } from './TokenList.style.js';
|
|
8
9
|
import { TokenListItem, TokenListItemSkeleton } from './TokenListItem.js';
|
|
9
|
-
|
|
10
|
+
const tokenItemHeight = 64; // 60 + 4px margin-bottom
|
|
11
|
+
export const VirtualizedTokenList = ({ tokens, scrollElementRef, chainId, selectedTokenAddress, isLoading, isBalanceLoading, showCategories, onClick, isAllNetworks, }) => {
|
|
10
12
|
const { t } = useTranslation();
|
|
13
|
+
const { chains } = useAvailableChains();
|
|
14
|
+
// Create Set for O(1) chain lookup instead of O(n) find
|
|
15
|
+
const chainsSet = useMemo(() => {
|
|
16
|
+
if (!chains) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
return new Map(chains.map((chain) => [chain.id, chain]));
|
|
20
|
+
}, [chains]);
|
|
11
21
|
const tokenDetailsSheetRef = useRef(null);
|
|
12
|
-
const onShowTokenDetails = useCallback((tokenAddress, noContractAddress) => {
|
|
13
|
-
tokenDetailsSheetRef.current?.open(tokenAddress, noContractAddress);
|
|
22
|
+
const onShowTokenDetails = useCallback((tokenAddress, noContractAddress, chainId) => {
|
|
23
|
+
tokenDetailsSheetRef.current?.open(tokenAddress, noContractAddress, chainId);
|
|
14
24
|
}, []);
|
|
15
25
|
const getItemKey = useCallback((index) => {
|
|
16
|
-
|
|
26
|
+
const token = tokens[index];
|
|
27
|
+
return `${token.chainId}-${token.address}-${index}`;
|
|
17
28
|
}, [tokens]);
|
|
18
|
-
const
|
|
29
|
+
const estimateSize = useCallback((index) => {
|
|
30
|
+
const currentToken = tokens[index];
|
|
31
|
+
// Base size for TokenListItem
|
|
32
|
+
let size = tokenItemHeight;
|
|
33
|
+
// Early return if categories are not shown
|
|
34
|
+
if (!showCategories) {
|
|
35
|
+
return size;
|
|
36
|
+
}
|
|
37
|
+
const previousToken = tokens[index - 1];
|
|
38
|
+
// Adjust size for the first featured token
|
|
39
|
+
if (currentToken.featured && index === 0) {
|
|
40
|
+
size += 24;
|
|
41
|
+
}
|
|
42
|
+
// Adjust size based on changes between the current and previous tokens
|
|
43
|
+
const isCategoryChanged = (previousToken?.amount && !currentToken.amount) ||
|
|
44
|
+
(previousToken?.featured && !currentToken.featured) ||
|
|
45
|
+
(previousToken?.popular && !currentToken.popular);
|
|
46
|
+
if (isCategoryChanged) {
|
|
47
|
+
size += 32;
|
|
48
|
+
}
|
|
49
|
+
return size;
|
|
50
|
+
}, [tokens, showCategories]);
|
|
51
|
+
// Chunk the tokens for infinite loading simulation
|
|
52
|
+
const virtualizerConfig = useMemo(() => ({
|
|
19
53
|
count: tokens.length,
|
|
20
54
|
overscan: 5,
|
|
21
|
-
paddingEnd: 12,
|
|
22
55
|
getScrollElement: () => scrollElementRef.current,
|
|
23
|
-
estimateSize
|
|
24
|
-
// Base size for TokenListItem
|
|
25
|
-
let size = 64;
|
|
26
|
-
// Early return if categories are not shown
|
|
27
|
-
if (!showCategories) {
|
|
28
|
-
return size;
|
|
29
|
-
}
|
|
30
|
-
const currentToken = tokens[index];
|
|
31
|
-
const previousToken = tokens[index - 1];
|
|
32
|
-
// Adjust size for the first featured token
|
|
33
|
-
if (currentToken.featured && index === 0) {
|
|
34
|
-
size += 24;
|
|
35
|
-
}
|
|
36
|
-
// Adjust size based on changes between the current and previous tokens
|
|
37
|
-
const isCategoryChanged = (previousToken?.amount && !currentToken.amount) ||
|
|
38
|
-
(previousToken?.featured && !currentToken.featured) ||
|
|
39
|
-
(previousToken?.popular && !currentToken.popular);
|
|
40
|
-
if (isCategoryChanged) {
|
|
41
|
-
size += 32;
|
|
42
|
-
}
|
|
43
|
-
return size;
|
|
44
|
-
},
|
|
56
|
+
estimateSize,
|
|
45
57
|
getItemKey,
|
|
46
|
-
});
|
|
58
|
+
}), [tokens.length, estimateSize, getItemKey, scrollElementRef]);
|
|
59
|
+
const { getVirtualItems, getTotalSize, scrollToIndex, measure } = useVirtualizer(virtualizerConfig);
|
|
60
|
+
// Address the issue of disappearing tokens on rerender
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
if (scrollElementRef.current) {
|
|
63
|
+
measure();
|
|
64
|
+
}
|
|
65
|
+
}, [measure, scrollElementRef.current]);
|
|
47
66
|
// biome-ignore lint/correctness/useExhaustiveDependencies: run only when chainId changes
|
|
48
67
|
useEffect(() => {
|
|
49
68
|
// Scroll to the top of the list when switching the chains
|
|
@@ -52,13 +71,11 @@ export const VirtualizedTokenList = ({ account, tokens, scrollElementRef, chainI
|
|
|
52
71
|
}
|
|
53
72
|
// Close the token details sheet when switching the chains
|
|
54
73
|
tokenDetailsSheetRef.current?.close();
|
|
55
|
-
}, [scrollToIndex, chainId, getVirtualItems]);
|
|
56
|
-
if (isLoading) {
|
|
57
|
-
return (_jsx(List, { disablePadding: true, children: Array.from({ length: 3 }).map((_, index) => (_jsx(TokenListItemSkeleton, {}, index))) }));
|
|
58
|
-
}
|
|
74
|
+
}, [scrollToIndex, isAllNetworks, chainId, getVirtualItems]);
|
|
59
75
|
return (_jsxs(_Fragment, { children: [_jsx(List, { className: "long-list", style: { height: getTotalSize() }, disablePadding: true, children: getVirtualItems().map((item) => {
|
|
60
76
|
const currentToken = tokens[item.index];
|
|
61
77
|
const previousToken = tokens[item.index - 1];
|
|
78
|
+
const chain = chainsSet?.get(currentToken.chainId);
|
|
62
79
|
const isFirstFeaturedToken = currentToken.featured && item.index === 0;
|
|
63
80
|
const isTransitionFromFeaturedTokens = previousToken?.featured && !currentToken.featured;
|
|
64
81
|
const isTransitionFromMyTokens = previousToken?.amount && !currentToken.amount;
|
|
@@ -68,7 +85,7 @@ export const VirtualizedTokenList = ({ account, tokens, scrollElementRef, chainI
|
|
|
68
85
|
const shouldShowAllTokensCategory = isTransitionFromMyTokens ||
|
|
69
86
|
isTransitionFromFeaturedTokens ||
|
|
70
87
|
(previousToken?.popular && !currentToken.popular);
|
|
71
|
-
const startAdornmentLabel = showCategories
|
|
88
|
+
const startAdornmentLabel = !isAllNetworks && showCategories
|
|
72
89
|
? (() => {
|
|
73
90
|
if (isFirstFeaturedToken) {
|
|
74
91
|
return t('main.featuredTokens');
|
|
@@ -85,7 +102,9 @@ export const VirtualizedTokenList = ({ account, tokens, scrollElementRef, chainI
|
|
|
85
102
|
return null;
|
|
86
103
|
})()
|
|
87
104
|
: null;
|
|
88
|
-
|
|
105
|
+
const isSelected = selectedTokenAddress === currentToken.address &&
|
|
106
|
+
chainId === currentToken.chainId;
|
|
107
|
+
return (_jsx(TokenListItem, { onClick: onClick, size: item.size, start: item.start, token: currentToken, chain: isAllNetworks ? chain : undefined, selected: isSelected, onShowTokenDetails: onShowTokenDetails, isBalanceLoading: isBalanceLoading, startAdornment: startAdornmentLabel ? (_jsx(Typography, { sx: {
|
|
89
108
|
fontSize: 14,
|
|
90
109
|
fontWeight: 600,
|
|
91
110
|
lineHeight: '16px',
|
|
@@ -93,6 +112,6 @@ export const VirtualizedTokenList = ({ account, tokens, scrollElementRef, chainI
|
|
|
93
112
|
pt: isFirstFeaturedToken ? 0 : 1,
|
|
94
113
|
pb: 1,
|
|
95
114
|
}, children: startAdornmentLabel })) : null }, item.key));
|
|
96
|
-
}) }), _jsx(TokenDetailsSheet, { ref: tokenDetailsSheetRef,
|
|
115
|
+
}) }), _jsx(TokenDetailsSheet, { ref: tokenDetailsSheetRef }), isLoading && (_jsx(List, { disablePadding: true, sx: { cursor: 'default' }, children: Array.from({ length: 3 }).map((_, index) => (_jsx(TokenListItemSkeleton, {}, index))) }))] }));
|
|
97
116
|
};
|
|
98
117
|
//# sourceMappingURL=VirtualizedTokenList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualizedTokenList.js","sourceRoot":"","sources":["../../../../src/components/TokenList/VirtualizedTokenList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"VirtualizedTokenList.js","sourceRoot":"","sources":["../../../../src/components/TokenList/VirtualizedTokenList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { ExtendedChain } from '@lifi/sdk';
|
|
2
|
-
import type {
|
|
3
|
-
import type { MouseEventHandler, RefObject } from 'react';
|
|
2
|
+
import type { RefObject } from 'react';
|
|
4
3
|
import type { FormType } from '../../stores/form/types.js';
|
|
5
4
|
import type { TokenAmount } from '../../types/token.js';
|
|
6
5
|
export interface TokenListProps {
|
|
@@ -10,16 +9,15 @@ export interface TokenListProps {
|
|
|
10
9
|
onClick?(): void;
|
|
11
10
|
}
|
|
12
11
|
export interface VirtualizedTokenListProps {
|
|
13
|
-
account: Account;
|
|
14
12
|
tokens: TokenAmount[];
|
|
15
13
|
scrollElementRef: RefObject<HTMLElement | null>;
|
|
16
14
|
isLoading: boolean;
|
|
17
15
|
isBalanceLoading: boolean;
|
|
18
16
|
chainId?: number;
|
|
19
|
-
chain?: ExtendedChain;
|
|
20
17
|
showCategories?: boolean;
|
|
21
18
|
onClick(tokenAddress: string, chainId?: number): void;
|
|
22
19
|
selectedTokenAddress?: string;
|
|
20
|
+
isAllNetworks: boolean;
|
|
23
21
|
}
|
|
24
22
|
export interface TokenListItemBaseProps {
|
|
25
23
|
onClick?(tokenAddress: string, chainId?: number): void;
|
|
@@ -27,9 +25,8 @@ export interface TokenListItemBaseProps {
|
|
|
27
25
|
start: number;
|
|
28
26
|
}
|
|
29
27
|
export interface TokenListItemProps extends TokenListItemBaseProps {
|
|
30
|
-
accountAddress?: string;
|
|
31
28
|
token: TokenAmount;
|
|
32
|
-
onShowTokenDetails: (tokenAddress: string, noContractAddress: boolean) => void;
|
|
29
|
+
onShowTokenDetails: (tokenAddress: string, noContractAddress: boolean, chainId: number) => void;
|
|
33
30
|
chain?: ExtendedChain;
|
|
34
31
|
isBalanceLoading?: boolean;
|
|
35
32
|
startAdornment?: React.ReactNode;
|
|
@@ -37,9 +34,8 @@ export interface TokenListItemProps extends TokenListItemBaseProps {
|
|
|
37
34
|
selected?: boolean;
|
|
38
35
|
}
|
|
39
36
|
export interface TokenListItemButtonProps {
|
|
40
|
-
onShowTokenDetails: (tokenAddress: string, noContractAddress: boolean) => void;
|
|
41
|
-
onClick?:
|
|
42
|
-
accountAddress?: string;
|
|
37
|
+
onShowTokenDetails: (tokenAddress: string, noContractAddress: boolean, chainId: number) => void;
|
|
38
|
+
onClick?(tokenAddress: string, chainId?: number): void;
|
|
43
39
|
token: TokenAmount;
|
|
44
40
|
chain?: ExtendedChain;
|
|
45
41
|
isBalanceLoading?: boolean;
|
|
@@ -50,6 +46,6 @@ export interface TokenListItemAvatarProps {
|
|
|
50
46
|
}
|
|
51
47
|
export interface TokenDetailsSheetBase {
|
|
52
48
|
isOpen(): void;
|
|
53
|
-
open(address: string, noContractAddress: boolean): void;
|
|
49
|
+
open(address: string, noContractAddress: boolean, chainId: number): void;
|
|
54
50
|
close(): void;
|
|
55
51
|
}
|
|
@@ -2,7 +2,7 @@ import { useCallback } from 'react';
|
|
|
2
2
|
import { useToAddressAutoPopulate } from '../../hooks/useToAddressAutoPopulate.js';
|
|
3
3
|
import { useWidgetEvents } from '../../hooks/useWidgetEvents.js';
|
|
4
4
|
import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js';
|
|
5
|
-
import {
|
|
5
|
+
import { useChainOrderStore } from '../../stores/chains/ChainOrderStore.js';
|
|
6
6
|
import { FormKeyHelper } from '../../stores/form/types.js';
|
|
7
7
|
import { useFieldActions } from '../../stores/form/useFieldActions.js';
|
|
8
8
|
import { useSplitSubvariantStore } from '../../stores/settings/useSplitSubvariantStore.js';
|
|
@@ -13,7 +13,7 @@ export const useTokenSelect = (formType, onClick) => {
|
|
|
13
13
|
const emitter = useWidgetEvents();
|
|
14
14
|
const { setFieldValue, getFieldValues } = useFieldActions();
|
|
15
15
|
const autoPopulateToAddress = useToAddressAutoPopulate();
|
|
16
|
-
const
|
|
16
|
+
const setChain = useChainOrderStore((state) => state.setChain);
|
|
17
17
|
const tokenKey = FormKeyHelper.getTokenKey(formType);
|
|
18
18
|
return useCallback((tokenAddress, chainId) => {
|
|
19
19
|
setFieldValue(tokenKey, tokenAddress, { isDirty: true, isTouched: true });
|
|
@@ -43,7 +43,6 @@ export const useTokenSelect = (formType, onClick) => {
|
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
// If no opposite token is selected, synchronize the opposite chain to match the currently selected chain
|
|
46
|
-
const { setChain } = chainOrderStore.getState();
|
|
47
46
|
if (!selectedOppositeTokenAddress && selectedChainId) {
|
|
48
47
|
setFieldValue(FormKeyHelper.getChainKey(oppositeFormType), selectedChainId, {
|
|
49
48
|
isDirty: true,
|
|
@@ -71,12 +70,12 @@ export const useTokenSelect = (formType, onClick) => {
|
|
|
71
70
|
onClick?.();
|
|
72
71
|
}, [
|
|
73
72
|
autoPopulateToAddress,
|
|
74
|
-
chainOrderStore,
|
|
75
73
|
disabledUI,
|
|
76
74
|
emitter,
|
|
77
75
|
formType,
|
|
78
76
|
getFieldValues,
|
|
79
77
|
onClick,
|
|
78
|
+
setChain,
|
|
80
79
|
setFieldValue,
|
|
81
80
|
subvariant,
|
|
82
81
|
splitSubvariant,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokenSelect.js","sourceRoot":"","sources":["../../../../src/components/TokenList/useTokenSelect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useTokenSelect.js","sourceRoot":"","sources":["../../../../src/components/TokenList/useTokenSelect.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,7 +62,7 @@ export const TransactionDetails = ({ route, ...props }) => {
|
|
|
62
62
|
color: 'text.primary',
|
|
63
63
|
fontWeight: 600,
|
|
64
64
|
lineHeight: 1.429,
|
|
65
|
-
}, children: hasRelayerSupport
|
|
65
|
+
}, children: hasRelayerSupport || !combinedFeesUSD
|
|
66
66
|
? t('main.fees.free')
|
|
67
67
|
: t('format.currency', { value: combinedFeesUSD }) })] }) }) }), _jsx(CardIconButton, { onClick: toggleCard, size: "small", children: cardExpanded ? (_jsx(ExpandLess, { fontSize: "inherit" })) : (_jsx(ExpandMore, { fontSize: "inherit" })) })] }), _jsx(Collapse, { timeout: 225, in: cardExpanded, mountOnEnter: true, children: _jsxs(Box, { sx: {
|
|
68
68
|
px: 2,
|
|
@@ -71,7 +71,7 @@ export const TransactionDetails = ({ route, ...props }) => {
|
|
|
71
71
|
display: 'flex',
|
|
72
72
|
justifyContent: 'space-between',
|
|
73
73
|
mb: 0.5,
|
|
74
|
-
}, children: [_jsx(Typography, { variant: "body2", children: t('main.fees.network') }), _jsx(FeeBreakdownTooltip, { gasCosts: gasCosts, relayerSupport: hasRelayerSupport, children: _jsx(Typography, { variant: "body2", sx: { fontWeight: 600, cursor: 'help' }, children: hasRelayerSupport
|
|
74
|
+
}, children: [_jsx(Typography, { variant: "body2", children: t('main.fees.network') }), _jsx(FeeBreakdownTooltip, { gasCosts: gasCosts, relayerSupport: hasRelayerSupport, children: _jsx(Typography, { variant: "body2", sx: { fontWeight: 600, cursor: 'help' }, children: hasRelayerSupport || !gasCostUSD
|
|
75
75
|
? t('main.fees.free')
|
|
76
76
|
: t('format.currency', {
|
|
77
77
|
value: gasCostUSD,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransactionDetails.js","sourceRoot":"","sources":["../../../src/components/TransactionDetails.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TransactionDetails.js","sourceRoot":"","sources":["../../../src/components/TransactionDetails.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/widget";
|
|
2
|
-
export declare const version = "3.
|
|
2
|
+
export declare const version = "3.30.0";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TokenExtended } from '@lifi/sdk';
|
|
2
|
+
import type { FormType } from '../stores/form/types.js';
|
|
3
|
+
export declare const useAccountsBalancesData: (selectedChainId?: number, formType?: FormType, isAllNetworks?: boolean, allTokens?: Record<number, TokenExtended[]>) => {
|
|
4
|
+
data: Record<string, Record<number, TokenExtended[]>> | undefined;
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { useAccount } from '@lifi/wallet-management';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { useChains } from './useChains.js';
|
|
4
|
+
import { useFilteredTokensByBalance } from './useFilteredByTokenBalances.js';
|
|
5
|
+
export const useAccountsBalancesData = (selectedChainId, formType, isAllNetworks, allTokens) => {
|
|
6
|
+
const { data: accountsWithTokens, isLoading: isAccountsLoading } = useAccountsData(selectedChainId, formType, isAllNetworks, allTokens);
|
|
7
|
+
// Filter out EVM tokens that do not have balances
|
|
8
|
+
const { data: filteredTokens, isLoading: isCachedBalancesLoading } = useFilteredTokensByBalance(accountsWithTokens);
|
|
9
|
+
return {
|
|
10
|
+
data: filteredTokens,
|
|
11
|
+
isLoading: isAccountsLoading || isCachedBalancesLoading,
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
const useAccountsData = (selectedChainId, formType, isAllNetworks, allTokens) => {
|
|
15
|
+
const { chains: allChains, isLoading: isChainsLoading, getChainById, } = useChains(formType);
|
|
16
|
+
const currentChain = useMemo(() => {
|
|
17
|
+
return selectedChainId
|
|
18
|
+
? getChainById(selectedChainId, allChains)
|
|
19
|
+
: undefined;
|
|
20
|
+
}, [selectedChainId, allChains, getChainById]);
|
|
21
|
+
const chains = useMemo(() => {
|
|
22
|
+
return isAllNetworks ? allChains : currentChain ? [currentChain] : undefined;
|
|
23
|
+
}, [allChains, isAllNetworks, currentChain]);
|
|
24
|
+
const { accounts: allAccounts, account: currentAccount } = useAccount(isAllNetworks ? undefined : { chainType: currentChain?.chainType });
|
|
25
|
+
const accounts = useMemo(() => {
|
|
26
|
+
return isAllNetworks
|
|
27
|
+
? allAccounts
|
|
28
|
+
: currentAccount
|
|
29
|
+
? [currentAccount]
|
|
30
|
+
: undefined;
|
|
31
|
+
}, [allAccounts, currentAccount, isAllNetworks]);
|
|
32
|
+
const accountsWithTokens = useMemo(() => {
|
|
33
|
+
if (!chains || !allTokens || !accounts?.length) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
return accounts
|
|
37
|
+
?.filter((account) => account.address)
|
|
38
|
+
.reduce((acc, account) => {
|
|
39
|
+
if (account.address) {
|
|
40
|
+
const accountChains = chains?.filter((chain) => account.chainType === chain?.chainType);
|
|
41
|
+
if (accountChains) {
|
|
42
|
+
const chainIdSet = new Set(accountChains.map((chain) => chain.id));
|
|
43
|
+
const filteredTokens = Object.entries(allTokens).reduce((tokenAcc, [chainIdStr, tokens]) => {
|
|
44
|
+
const chainId = Number(chainIdStr);
|
|
45
|
+
if (chainIdSet.has(chainId)) {
|
|
46
|
+
tokenAcc[chainId] = tokens;
|
|
47
|
+
}
|
|
48
|
+
return tokenAcc;
|
|
49
|
+
}, {});
|
|
50
|
+
acc[account.address] = {
|
|
51
|
+
chainType: account.chainType,
|
|
52
|
+
tokens: filteredTokens,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return acc;
|
|
57
|
+
}, {});
|
|
58
|
+
}, [accounts, chains, allTokens]);
|
|
59
|
+
return {
|
|
60
|
+
data: accountsWithTokens,
|
|
61
|
+
isLoading: isChainsLoading,
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=useAccountsBalancesData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAccountsBalancesData.js","sourceRoot":"","sources":["../../../src/hooks/useAccountsBalancesData.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ChainType, type TokenExtended } from '@lifi/sdk';
|
|
2
|
+
export declare const useFilteredTokensByBalance: (accountsWithTokens?: Record<string, {
|
|
3
|
+
chainType: ChainType;
|
|
4
|
+
tokens: Record<number, TokenExtended[]>;
|
|
5
|
+
}>) => {
|
|
6
|
+
data: Record<string, Record<number, TokenExtended[]>> | undefined;
|
|
7
|
+
isLoading: boolean;
|
|
8
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ChainType, getWalletBalances, } from '@lifi/sdk';
|
|
2
|
+
import { useQuery } from '@tanstack/react-query';
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { isSupportedToken } from '../utils/tokenList.js';
|
|
5
|
+
export const useFilteredTokensByBalance = (accountsWithTokens) => {
|
|
6
|
+
const evmAddress = useMemo(() => {
|
|
7
|
+
const evmAccount = Object.entries(accountsWithTokens ?? {}).find(([_, { chainType }]) => chainType === ChainType.EVM);
|
|
8
|
+
return evmAccount?.[0];
|
|
9
|
+
}, [accountsWithTokens]);
|
|
10
|
+
const { data: existingBalances, isLoading } = useQuery({
|
|
11
|
+
queryKey: ['existing-evm-balances', evmAddress],
|
|
12
|
+
queryFn: () => getWalletBalances(evmAddress ?? ''),
|
|
13
|
+
enabled: !!evmAddress,
|
|
14
|
+
refetchInterval: 30000, // 30 seconds
|
|
15
|
+
staleTime: 30000, // 30 seconds
|
|
16
|
+
});
|
|
17
|
+
const accountsWithFilteredTokens = useMemo(() => {
|
|
18
|
+
if (!accountsWithTokens) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
// Early return if no existing balances - return all tokens
|
|
22
|
+
const result = {};
|
|
23
|
+
if (!existingBalances) {
|
|
24
|
+
for (const [address, { tokens }] of Object.entries(accountsWithTokens)) {
|
|
25
|
+
result[address] = tokens;
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
for (const [address, { tokens }] of Object.entries(accountsWithTokens)) {
|
|
30
|
+
result[address] = {};
|
|
31
|
+
for (const [chainIdStr, chainTokens] of Object.entries(tokens)) {
|
|
32
|
+
const chainId = Number(chainIdStr);
|
|
33
|
+
// Get balances for this specific chain
|
|
34
|
+
const balances = existingBalances?.[chainId];
|
|
35
|
+
// If no balances, RPC all tokens of the chain
|
|
36
|
+
if (!balances?.length) {
|
|
37
|
+
if (chainTokens.length) {
|
|
38
|
+
result[address][chainId] = chainTokens;
|
|
39
|
+
}
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
// Optimize token matching with Set for O(1) lookup
|
|
43
|
+
const balanceSet = new Set(balances.map((balance) => balance.address.toLowerCase()));
|
|
44
|
+
// Get tokens that are in chainTokens and have balances
|
|
45
|
+
const filteredTokens = chainTokens.filter((token) => {
|
|
46
|
+
const tokenKey = token.address.toLowerCase();
|
|
47
|
+
return balanceSet.has(tokenKey);
|
|
48
|
+
});
|
|
49
|
+
// Get tokens that are in balances but not in chainTokens
|
|
50
|
+
const chainTokenSet = new Set(chainTokens.map((token) => token.address.toLowerCase()));
|
|
51
|
+
const additionalTokens = balances.filter((balance) => {
|
|
52
|
+
const balanceKey = balance.address.toLowerCase();
|
|
53
|
+
return !chainTokenSet.has(balanceKey) && isSupportedToken(balance);
|
|
54
|
+
});
|
|
55
|
+
// Combine both sets of tokens - convert WalletTokenExtended to TokenAmount
|
|
56
|
+
const allTokens = [
|
|
57
|
+
...filteredTokens,
|
|
58
|
+
...additionalTokens,
|
|
59
|
+
];
|
|
60
|
+
if (allTokens.length) {
|
|
61
|
+
result[address][chainId] = allTokens;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
}, [accountsWithTokens, existingBalances]);
|
|
67
|
+
return { data: accountsWithFilteredTokens, isLoading };
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=useFilteredByTokenBalances.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFilteredByTokenBalances.js","sourceRoot":"","sources":["../../../src/hooks/useFilteredByTokenBalances.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,iBAAiB,GAGlB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,kBAGC,EACD,EAAE;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,IAAI,CAC9D,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,CACpD,CAAA;QACD,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAExB,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QACrD,QAAQ,EAAE,CAAC,uBAAuB,EAAE,UAAU,CAAC;QAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,UAAU,IAAI,EAAE,CAAC;QAClD,OAAO,EAAE,CAAC,CAAC,UAAU;QACrB,eAAe,EAAE,KAAM,EAAE,aAAa;QACtC,SAAS,EAAE,KAAM,EAAE,aAAa;KACjC,CAAC,CAAA;IAEF,MAAM,0BAA0B,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,2DAA2D;QAC3D,MAAM,MAAM,GAAoD,EAAE,CAAA;QAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACvE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAA;YAC1B,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QAED,KAAK,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACvE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;YAEpB,KAAK,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;gBAClC,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAA;gBAC5C,8CAA8C;gBAC9C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;oBACtB,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;wBACvB,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,WAAW,CAAA;oBACxC,CAAC;oBACD,SAAQ;gBACV,CAAC;gBAED,mDAAmD;gBACnD,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAA4B,EAAE,EAAE,CAC5C,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAC9B,CACF,CAAA;gBAED,uDAAuD;gBACvD,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;oBAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;oBAC5C,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBACjC,CAAC,CAAC,CAAA;gBAEF,yDAAyD;gBACzD,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CACxD,CAAA;gBACD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CACtC,CAAC,OAA4B,EAAE,EAAE;oBAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;oBAChD,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAA;gBACpE,CAAC,CACiB,CAAA;gBAEpB,2EAA2E;gBAC3E,MAAM,SAAS,GAAG;oBAChB,GAAG,cAAc;oBACjB,GAAG,gBAAgB;iBACD,CAAA;gBAEpB,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBACrB,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAE1C,OAAO,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,CAAA;AACxD,CAAC,CAAA"}
|
|
@@ -6,7 +6,6 @@ interface UseContentHeightProps {
|
|
|
6
6
|
export declare const defaultMinListHeight = 360;
|
|
7
7
|
export declare const minMobileListHeight = 160;
|
|
8
8
|
export declare const useListHeight: ({ listParentRef, headerRef, }: UseContentHeightProps) => {
|
|
9
|
-
minListHeight: number;
|
|
10
9
|
listHeight: number;
|
|
11
10
|
};
|
|
12
11
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useListHeight.js","sourceRoot":"","sources":["../../../src/hooks/useListHeight.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useListHeight.js","sourceRoot":"","sources":["../../../src/hooks/useListHeight.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const useToken: (chainId?: number, tokenAddress?: string) => {
|
|
2
|
-
token: import("@lifi/sdk").
|
|
1
|
+
export declare const useToken: (chainId?: number, tokenAddress?: string, latest?: boolean) => {
|
|
2
|
+
token: import("@lifi/sdk").TokenExtended | undefined;
|
|
3
3
|
isLoading: boolean;
|
|
4
4
|
};
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import { useMemo } from 'react';
|
|
2
1
|
import { useTokenSearch } from './useTokenSearch.js';
|
|
3
2
|
import { useTokens } from './useTokens.js';
|
|
4
|
-
export const useToken = (chainId, tokenAddress) => {
|
|
5
|
-
const {
|
|
6
|
-
const token =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
3
|
+
export const useToken = (chainId, tokenAddress, latest) => {
|
|
4
|
+
const { allTokens, isLoading: isTokensLoading } = useTokens();
|
|
5
|
+
const token = chainId && tokenAddress
|
|
6
|
+
? allTokens?.[chainId]?.find((t) => t.address === tokenAddress)
|
|
7
|
+
: undefined;
|
|
8
|
+
const tokenSearchEnabled = !!chainId && !!tokenAddress && (latest || (!isTokensLoading && !token));
|
|
9
|
+
const { token: searchedToken, isLoading: isSearchLoading } = useTokenSearch(chainId, tokenAddress, tokenSearchEnabled);
|
|
10
|
+
const resolvedToken = latest
|
|
11
|
+
? (searchedToken ?? token)
|
|
12
|
+
: (token ?? searchedToken);
|
|
12
13
|
return {
|
|
13
|
-
token:
|
|
14
|
-
isLoading:
|
|
14
|
+
token: resolvedToken,
|
|
15
|
+
isLoading: !resolvedToken &&
|
|
16
|
+
(isTokensLoading || (tokenSearchEnabled && isSearchLoading)),
|
|
15
17
|
};
|
|
16
18
|
};
|
|
17
19
|
//# sourceMappingURL=useToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useToken.js","sourceRoot":"","sources":["../../../src/hooks/useToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useToken.js","sourceRoot":"","sources":["../../../src/hooks/useToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,OAAgB,EAChB,YAAqB,EACrB,MAAgB,EAChB,EAAE;IACF,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,SAAS,EAAE,CAAA;IAE7D,MAAM,KAAK,GACT,OAAO,IAAI,YAAY;QACrB,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC;QAC/D,CAAC,CAAC,SAAS,CAAA;IAEf,MAAM,kBAAkB,GACtB,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAEzE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,cAAc,CACzE,OAAO,EACP,YAAY,EACZ,kBAAkB,CACnB,CAAA;IAED,MAAM,aAAa,GAAG,MAAM;QAC1B,CAAC,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC,KAAK,IAAI,aAAa,CAAC,CAAA;IAE5B,OAAO;QACL,KAAK,EAAE,aAAa;QACpB,SAAS,EACP,CAAC,aAAa;YACd,CAAC,eAAe,IAAI,CAAC,kBAAkB,IAAI,eAAe,CAAC,CAAC;KAC/D,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { TokenAmount } from '../types/token.js';
|
|
2
1
|
export declare const useTokenAddressBalance: (chainId?: number, tokenAddress?: string) => {
|
|
3
|
-
token: TokenAmount | undefined;
|
|
2
|
+
token: import("@lifi/sdk").TokenAmount | undefined;
|
|
4
3
|
chain: import("@lifi/sdk").ExtendedChain | undefined;
|
|
5
4
|
isLoading: boolean;
|
|
6
|
-
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<TokenAmount
|
|
5
|
+
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<import("@lifi/sdk").TokenAmount, Error>>;
|
|
7
6
|
};
|