@lifi/widget 3.0.0-alpha.21 → 3.0.0-alpha.23

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 (147) hide show
  1. package/App.tsx +16 -17
  2. package/AppDrawer.tsx +2 -2
  3. package/_cjs/App.js +2 -3
  4. package/_cjs/App.js.map +1 -1
  5. package/_cjs/AppDrawer.d.ts +2 -2
  6. package/_cjs/components/AccountAvatar.js +2 -2
  7. package/_cjs/components/AccountAvatar.js.map +1 -1
  8. package/_cjs/components/AmountInput/AmountInputEndAdornment.js +11 -7
  9. package/_cjs/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
  10. package/_cjs/components/Routes/RoutesExpanded.js +1 -1
  11. package/_cjs/components/Routes/RoutesExpanded.js.map +1 -1
  12. package/_cjs/components/TokenAvatar/TokenAvatar.style.js +4 -0
  13. package/_cjs/components/TokenAvatar/TokenAvatar.style.js.map +1 -1
  14. package/_cjs/components/TokenList/TokenList.js +5 -2
  15. package/_cjs/components/TokenList/TokenList.js.map +1 -1
  16. package/_cjs/components/TokenList/VirtualizedTokenList.js +41 -19
  17. package/_cjs/components/TokenList/VirtualizedTokenList.js.map +1 -1
  18. package/_cjs/components/TokenList/types.d.ts +3 -2
  19. package/_cjs/config/version.d.ts +1 -1
  20. package/_cjs/config/version.js +1 -1
  21. package/_cjs/hooks/index.d.ts +0 -1
  22. package/_cjs/hooks/index.js +0 -1
  23. package/_cjs/hooks/index.js.map +1 -1
  24. package/_cjs/hooks/useAvailableChains.js +3 -3
  25. package/_cjs/hooks/useAvailableChains.js.map +1 -1
  26. package/_cjs/hooks/useDebouncedWatch.d.ts +1 -1
  27. package/_cjs/hooks/useRoutes.js +49 -25
  28. package/_cjs/hooks/useRoutes.js.map +1 -1
  29. package/_cjs/hooks/useSettingMonitor.js +8 -12
  30. package/_cjs/hooks/useSettingMonitor.js.map +1 -1
  31. package/_cjs/hooks/useToken.d.ts +1 -1
  32. package/_cjs/hooks/useTokenAddressBalance.d.ts +3 -2
  33. package/_cjs/hooks/useTokenAddressBalance.js.map +1 -1
  34. package/_cjs/hooks/useTokenBalances.d.ts +3 -2
  35. package/_cjs/hooks/useTokenBalances.js +33 -14
  36. package/_cjs/hooks/useTokenBalances.js.map +1 -1
  37. package/_cjs/hooks/useTokens.d.ts +3 -1
  38. package/_cjs/hooks/useTokens.js +44 -31
  39. package/_cjs/hooks/useTokens.js.map +1 -1
  40. package/_cjs/i18n/en.json +3 -1
  41. package/_cjs/pages/RoutesPage/RoutesPage.js +1 -1
  42. package/_cjs/pages/RoutesPage/RoutesPage.js.map +1 -1
  43. package/_cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +10 -27
  44. package/_cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js.map +1 -1
  45. package/_cjs/pages/SettingsPage/BridgeAndExchangeSettings.js +2 -2
  46. package/_cjs/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
  47. package/_cjs/stores/form/createFormStore.js +10 -6
  48. package/_cjs/stores/form/createFormStore.js.map +1 -1
  49. package/_cjs/stores/form/types.d.ts +3 -14
  50. package/_cjs/stores/form/types.js.map +1 -1
  51. package/_cjs/stores/form/useFieldController.d.ts +1 -1
  52. package/_cjs/stores/form/useFieldValues.d.ts +1 -1
  53. package/_cjs/stores/settings/types.d.ts +10 -9
  54. package/_cjs/stores/settings/types.js.map +1 -1
  55. package/_cjs/stores/settings/useSettingsStore.js +40 -30
  56. package/_cjs/stores/settings/useSettingsStore.js.map +1 -1
  57. package/_cjs/types/token.d.ts +1 -0
  58. package/_cjs/types/widget.d.ts +9 -8
  59. package/_esm/App.js +2 -3
  60. package/_esm/App.js.map +1 -1
  61. package/_esm/AppDrawer.d.ts +2 -2
  62. package/_esm/components/AccountAvatar.js +2 -2
  63. package/_esm/components/AccountAvatar.js.map +1 -1
  64. package/_esm/components/AmountInput/AmountInputEndAdornment.js +11 -7
  65. package/_esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
  66. package/_esm/components/Routes/RoutesExpanded.js +1 -1
  67. package/_esm/components/Routes/RoutesExpanded.js.map +1 -1
  68. package/_esm/components/TokenAvatar/TokenAvatar.style.js +4 -0
  69. package/_esm/components/TokenAvatar/TokenAvatar.style.js.map +1 -1
  70. package/_esm/components/TokenList/TokenList.js +6 -3
  71. package/_esm/components/TokenList/TokenList.js.map +1 -1
  72. package/_esm/components/TokenList/VirtualizedTokenList.js +41 -19
  73. package/_esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
  74. package/_esm/components/TokenList/types.d.ts +3 -2
  75. package/_esm/config/version.d.ts +1 -1
  76. package/_esm/config/version.js +1 -1
  77. package/_esm/hooks/index.d.ts +0 -1
  78. package/_esm/hooks/index.js +0 -1
  79. package/_esm/hooks/index.js.map +1 -1
  80. package/_esm/hooks/useAvailableChains.js +3 -3
  81. package/_esm/hooks/useAvailableChains.js.map +1 -1
  82. package/_esm/hooks/useDebouncedWatch.d.ts +1 -1
  83. package/_esm/hooks/useRoutes.js +49 -25
  84. package/_esm/hooks/useRoutes.js.map +1 -1
  85. package/_esm/hooks/useSettingMonitor.js +8 -12
  86. package/_esm/hooks/useSettingMonitor.js.map +1 -1
  87. package/_esm/hooks/useToken.d.ts +1 -1
  88. package/_esm/hooks/useTokenAddressBalance.d.ts +3 -2
  89. package/_esm/hooks/useTokenAddressBalance.js.map +1 -1
  90. package/_esm/hooks/useTokenBalances.d.ts +3 -2
  91. package/_esm/hooks/useTokenBalances.js +33 -14
  92. package/_esm/hooks/useTokenBalances.js.map +1 -1
  93. package/_esm/hooks/useTokens.d.ts +3 -1
  94. package/_esm/hooks/useTokens.js +44 -31
  95. package/_esm/hooks/useTokens.js.map +1 -1
  96. package/_esm/i18n/en.json +3 -1
  97. package/_esm/pages/RoutesPage/RoutesPage.js +1 -1
  98. package/_esm/pages/RoutesPage/RoutesPage.js.map +1 -1
  99. package/_esm/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +10 -27
  100. package/_esm/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js.map +1 -1
  101. package/_esm/pages/SettingsPage/BridgeAndExchangeSettings.js +2 -2
  102. package/_esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
  103. package/_esm/stores/form/createFormStore.js +10 -6
  104. package/_esm/stores/form/createFormStore.js.map +1 -1
  105. package/_esm/stores/form/types.d.ts +3 -14
  106. package/_esm/stores/form/types.js.map +1 -1
  107. package/_esm/stores/form/useFieldController.d.ts +1 -1
  108. package/_esm/stores/form/useFieldValues.d.ts +1 -1
  109. package/_esm/stores/settings/types.d.ts +10 -9
  110. package/_esm/stores/settings/types.js.map +1 -1
  111. package/_esm/stores/settings/useSettingsStore.js +40 -30
  112. package/_esm/stores/settings/useSettingsStore.js.map +1 -1
  113. package/_esm/types/token.d.ts +1 -0
  114. package/_esm/types/widget.d.ts +9 -8
  115. package/components/AccountAvatar.tsx +4 -7
  116. package/components/AmountInput/AmountInputEndAdornment.tsx +15 -12
  117. package/components/Routes/RoutesExpanded.tsx +1 -1
  118. package/components/TokenAvatar/TokenAvatar.style.tsx +4 -0
  119. package/components/TokenList/TokenList.tsx +8 -2
  120. package/components/TokenList/VirtualizedTokenList.tsx +63 -41
  121. package/components/TokenList/types.ts +3 -2
  122. package/config/version.ts +1 -1
  123. package/hooks/index.ts +0 -1
  124. package/hooks/useAvailableChains.ts +7 -4
  125. package/hooks/useRoutes.ts +58 -31
  126. package/hooks/useSettingMonitor.ts +20 -21
  127. package/hooks/useTokenAddressBalance.ts +2 -1
  128. package/hooks/useTokenBalances.ts +34 -29
  129. package/hooks/useTokens.ts +65 -36
  130. package/i18n/en.json +3 -1
  131. package/package.json +9 -9
  132. package/pages/RoutesPage/RoutesPage.tsx +1 -1
  133. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.tsx +16 -35
  134. package/pages/SettingsPage/BridgeAndExchangeSettings.tsx +2 -2
  135. package/stores/form/createFormStore.ts +15 -15
  136. package/stores/form/types.ts +3 -14
  137. package/stores/settings/types.ts +10 -13
  138. package/stores/settings/useSettingsStore.ts +51 -53
  139. package/types/token.ts +1 -0
  140. package/types/widget.ts +10 -9
  141. package/_cjs/hooks/useFeaturedTokens.d.ts +0 -1
  142. package/_cjs/hooks/useFeaturedTokens.js +0 -11
  143. package/_cjs/hooks/useFeaturedTokens.js.map +0 -1
  144. package/_esm/hooks/useFeaturedTokens.d.ts +0 -1
  145. package/_esm/hooks/useFeaturedTokens.js +0 -7
  146. package/_esm/hooks/useFeaturedTokens.js.map +0 -1
  147. package/hooks/useFeaturedTokens.ts +0 -12
@@ -1,5 +1,6 @@
1
1
  import type { ExtendedChain } from '@lifi/sdk';
2
2
  import type { MouseEventHandler, MutableRefObject } from 'react';
3
+ import type { Account } from '../../hooks';
3
4
  import type { FormType } from '../../stores';
4
5
  import type { TokenAmount } from '../../types';
5
6
  export interface TokenListProps {
@@ -8,14 +9,14 @@ export interface TokenListProps {
8
9
  onClick?(): void;
9
10
  }
10
11
  export interface VirtualizedTokenListProps {
12
+ account: Account;
11
13
  tokens: TokenAmount[];
12
- featuredTokensLength?: number;
13
14
  scrollElementRef: MutableRefObject<HTMLElement | null>;
14
15
  isLoading: boolean;
15
16
  isBalanceLoading: boolean;
16
17
  chainId?: number;
17
18
  chain?: ExtendedChain;
18
- showFeatured?: boolean;
19
+ showCategories?: boolean;
19
20
  onClick(tokenAddress: string): void;
20
21
  }
21
22
  export interface TokenListItemBaseProps {
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@lifi/widget";
2
- export declare const version = "3.0.0-alpha.21";
2
+ export declare const version = "3.0.0-alpha.23";
@@ -1,3 +1,3 @@
1
1
  export const name = '@lifi/widget';
2
- export const version = '3.0.0-alpha.21';
2
+ export const version = '3.0.0-alpha.23';
3
3
  //# sourceMappingURL=version.js.map
@@ -7,7 +7,6 @@ export * from './useContentHeight';
7
7
  export * from './useDebouncedWatch';
8
8
  export * from './useDefaultElementId';
9
9
  export * from './useExpandableVariant';
10
- export * from './useFeaturedTokens';
11
10
  export * from './useFromTokenSufficiency';
12
11
  export * from './useGasRecommendation';
13
12
  export * from './useGasRefuel';
@@ -7,7 +7,6 @@ export * from './useContentHeight';
7
7
  export * from './useDebouncedWatch';
8
8
  export * from './useDefaultElementId';
9
9
  export * from './useExpandableVariant';
10
- export * from './useFeaturedTokens';
11
10
  export * from './useFromTokenSufficiency';
12
11
  export * from './useGasRecommendation';
13
12
  export * from './useGasRefuel';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
@@ -3,16 +3,16 @@ import { useQuery } from '@tanstack/react-query';
3
3
  import { useCallback } from 'react';
4
4
  import { useHasExternalWalletProvider, useWidgetConfig } from '../providers';
5
5
  import { isItemAllowed } from '../utils';
6
+ const supportedChainTypes = [ChainType.EVM, ChainType.SVM];
6
7
  export const useAvailableChains = () => {
7
8
  const { chains } = useWidgetConfig();
8
9
  const { providers } = useHasExternalWalletProvider();
9
10
  const { data, isLoading } = useQuery({
10
11
  queryKey: ['chains', providers, chains?.types],
11
12
  queryFn: async ({ queryKey: [, providers, chainTypes] }) => {
13
+ const chainTypesRequest = (providers.length > 0 ? providers : supportedChainTypes).filter((chainType) => isItemAllowed(chainType, chainTypes));
12
14
  const availableChains = await getChains({
13
- chainTypes: (providers.length > 0
14
- ? providers
15
- : Object.values(ChainType)).filter((chainType) => isItemAllowed(chainType, chainTypes)),
15
+ chainTypes: chainTypesRequest,
16
16
  });
17
17
  config.setChains(availableChains);
18
18
  return availableChains;
@@ -1 +1 @@
1
- {"version":3,"file":"useAvailableChains.js","sourceRoot":"","sources":["../../hooks/useAvailableChains.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;IACrC,MAAM,EAAE,SAAS,EAAE,GAAG,4BAA4B,EAAE,CAAC;IACrD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QACnC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAU;QACvD,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE;YACzD,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC;gBACtC,UAAU,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;oBAC/B,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAC3B,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aAC9D,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YAClC,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,eAAe,EAAE,MAAM;QACvB,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,OAAgB,EAAE,SAAsC,IAAI,EAAE,EAAE;QAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QAC5D,gBAAgB;QAChB,+DAA+D;QAC/D,IAAI;QACJ,OAAO,KAAK,CAAC;IACf,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,YAAY;QACZ,SAAS;KACV,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useAvailableChains.js","sourceRoot":"","sources":["../../hooks/useAvailableChains.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,mBAAmB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;IACrC,MAAM,EAAE,SAAS,EAAE,GAAG,4BAA4B,EAAE,CAAC;IACrD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QACnC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAU;QACvD,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE;YACzD,MAAM,iBAAiB,GAAG,CACxB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CACvD,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;YAE9D,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC;gBACtC,UAAU,EAAE,iBAAiB;aAC9B,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YAClC,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,eAAe,EAAE,MAAM;QACvB,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,OAAgB,EAAE,SAAsC,IAAI,EAAE,EAAE;QAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QAC5D,gBAAgB;QAChB,+DAA+D;QAC/D,IAAI;QACJ,OAAO,KAAK,CAAC;IACf,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,YAAY;QACZ,SAAS;KACV,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- export declare const useDebouncedWatch: <T extends (keyof import("../stores").FormValues)[]>(delay: number, ...name: T) => import("../stores").FormFieldArray<T>;
1
+ export declare const useDebouncedWatch: <T extends (keyof import("../stores").DefaultValues)[]>(delay: number, ...name: T) => import("../stores").FormFieldArray<T>;
@@ -13,12 +13,12 @@ export const useRoutes = ({ insurableRoute } = {}) => {
13
13
  const { subvariant, sdkConfig, insurance, contractTool } = useWidgetConfig();
14
14
  const queryClient = useQueryClient();
15
15
  const swapOnly = useSwapOnly();
16
- const { slippage, enabledBridges, enabledAutoRefuel, enabledExchanges, routePriority, } = useSettings([
17
- 'slippage',
18
- 'routePriority',
16
+ const { disabledBridges, disabledExchanges, enabledAutoRefuel, routePriority, slippage, } = useSettings([
17
+ 'disabledBridges',
18
+ 'disabledExchanges',
19
19
  'enabledAutoRefuel',
20
- 'enabledBridges',
21
- 'enabledExchanges',
20
+ 'routePriority',
21
+ 'slippage',
22
22
  ]);
23
23
  const [fromTokenAmount] = useDebouncedWatch(320, 'fromAmount');
24
24
  const [fromChainId, fromTokenAddress, toAddress, toTokenAmount, toChainId, toContractAddress, toContractCallData, toContractGasLimit, toTokenAddress,] = useFieldValues('fromChain', 'fromToken', 'toAddress', 'toAmount', 'toChain', 'toContractAddress', 'toContractCallData', 'toContractGasLimit', 'toToken');
@@ -71,8 +71,9 @@ export const useRoutes = ({ insurableRoute } = {}) => {
71
71
  toContractCallData,
72
72
  toContractGasLimit,
73
73
  slippage,
74
- swapOnly ? [] : enabledBridges,
75
- enabledExchanges,
74
+ swapOnly,
75
+ disabledBridges,
76
+ disabledExchanges,
76
77
  routePriority,
77
78
  subvariant,
78
79
  sdkConfig?.routeOptions?.allowSwitchChain,
@@ -83,20 +84,28 @@ export const useRoutes = ({ insurableRoute } = {}) => {
83
84
  ];
84
85
  const { data, isLoading, isFetching, isFetched, dataUpdatedAt, refetch } = useQuery({
85
86
  queryKey,
86
- queryFn: async ({ queryKey: [_, fromAddress, fromChainId, fromTokenAddress, fromTokenAmount, toAddress, toChainId, toTokenAddress, toTokenAmount, toContractAddress, toContractCallData, toContractGasLimit, slippage = defaultSlippage, enabledBridges, enabledExchanges, routePriority, subvariant, allowSwitchChain, enabledRefuel, gasRecommendationFromAmount, insurance, insurableRouteId,], signal, }) => {
87
+ queryFn: async ({ queryKey: [_, fromAddress, fromChainId, fromTokenAddress, fromTokenAmount, toAddress, toChainId, toTokenAddress, toTokenAmount, toContractAddress, toContractCallData, toContractGasLimit, slippage = defaultSlippage, swapOnly, disabledBridges, disabledExchanges, routePriority, subvariant, allowSwitchChain, enabledRefuel, gasRecommendationFromAmount, insurance, insurableRouteId,], signal, }) => {
87
88
  const toWalletAddress = toAddress || fromAddress;
88
89
  const fromAmount = parseUnits(fromTokenAmount, fromToken.decimals).toString();
89
90
  const formattedSlippage = parseFloat(slippage) / 100;
90
- const allowedBridges = insurableRoute
91
- ? insurableRoute.steps.flatMap((step) => step.includedSteps
92
- .filter((includedStep) => includedStep.type === 'cross')
93
- .map((includedStep) => includedStep.toolDetails.key))
94
- : enabledBridges;
91
+ const allowedBridges = swapOnly
92
+ ? []
93
+ : insurableRoute
94
+ ? insurableRoute.steps.flatMap((step) => step.includedSteps.reduce((toolKeys, includedStep) => {
95
+ if (includedStep.type === 'cross') {
96
+ toolKeys.push(includedStep.toolDetails.key);
97
+ }
98
+ return toolKeys;
99
+ }, []))
100
+ : undefined;
95
101
  const allowedExchanges = insurableRoute
96
- ? insurableRoute.steps.flatMap((step) => step.includedSteps
97
- .filter((includedStep) => includedStep.type === 'swap')
98
- .map((includedStep) => includedStep.toolDetails.key))
99
- : enabledExchanges;
102
+ ? insurableRoute.steps.flatMap((step) => step.includedSteps.reduce((toolKeys, includedStep) => {
103
+ if (includedStep.type === 'swap') {
104
+ toolKeys.push(includedStep.toolDetails.key);
105
+ }
106
+ return toolKeys;
107
+ }, []))
108
+ : undefined;
100
109
  if (subvariant === 'nft') {
101
110
  const contractCallQuote = await getContractCallQuote({
102
111
  // Contract calls are enabled only when fromAddress is set
@@ -109,7 +118,12 @@ export const useRoutes = ({ insurableRoute } = {}) => {
109
118
  toContractAddress,
110
119
  toContractCallData,
111
120
  toContractGasLimit,
121
+ denyBridges: disabledBridges.length ? disabledBridges : undefined,
122
+ denyExchanges: disabledExchanges.length
123
+ ? disabledExchanges
124
+ : undefined,
112
125
  allowBridges: allowedBridges,
126
+ allowExchanges: allowedExchanges,
113
127
  toFallbackAddress: toWalletAddress,
114
128
  slippage: formattedSlippage,
115
129
  }, { signal });
@@ -157,16 +171,26 @@ export const useRoutes = ({ insurableRoute } = {}) => {
157
171
  ? gasRecommendationFromAmount
158
172
  : undefined,
159
173
  options: {
160
- slippage: formattedSlippage,
161
- bridges: {
162
- allow: allowedBridges,
163
- },
164
- exchanges: {
165
- allow: allowedExchanges,
166
- },
167
- order: routePriority,
168
174
  allowSwitchChain: subvariant === 'refuel' ? false : allowSwitchChain,
175
+ bridges: allowedBridges?.length || disabledBridges.length
176
+ ? {
177
+ allow: allowedBridges,
178
+ deny: disabledBridges.length
179
+ ? disabledBridges
180
+ : undefined,
181
+ }
182
+ : undefined,
183
+ exchanges: allowedExchanges?.length || disabledExchanges.length
184
+ ? {
185
+ allow: allowedExchanges,
186
+ deny: disabledExchanges.length
187
+ ? disabledExchanges
188
+ : undefined,
189
+ }
190
+ : undefined,
169
191
  insurance: insurance ? Boolean(insurableRoute) : undefined,
192
+ order: routePriority,
193
+ slippage: formattedSlippage,
170
194
  },
171
195
  }, { signal });
172
196
  if (data.routes[0] && fromAddress) {
@@ -1 +1 @@
1
- {"version":3,"file":"useRoutes.js","sourceRoot":"","sources":["../../hooks/useRoutes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useRoutes.js","sourceRoot":"","sources":["../../hooks/useRoutes.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { defaultConfigurableSettings, setDefaultSettings, useSettingsStore, } from '../stores';
2
1
  import { shallow } from 'zustand/shallow';
3
- import { useTools } from './useTools';
4
2
  import { useWidgetConfig } from '../providers';
3
+ import { defaultConfigurableSettings, setDefaultSettings, useSettingsStore, } from '../stores';
4
+ import { useTools } from './useTools';
5
5
  export const useSettingMonitor = () => {
6
- const [enabledBridges, enabledExchanges, routePriority, slippage, gasPrice] = useSettingsStore((state) => [
7
- state.enabledBridges,
8
- state.enabledExchanges,
6
+ const [disabledBridges, disabledExchanges, routePriority, slippage, gasPrice,] = useSettingsStore((state) => [
7
+ state.disabledBridges,
8
+ state.disabledExchanges,
9
9
  state.routePriority,
10
10
  state.slippage,
11
11
  state.gasPrice,
@@ -21,12 +21,8 @@ export const useSettingMonitor = () => {
21
21
  ? routePriority !== config.routePriority
22
22
  : routePriority !== defaultConfigurableSettings.routePriority;
23
23
  const isGasPriceChanged = gasPrice !== defaultConfigurableSettings.gasPrice;
24
- const isBridgesChanged = tools?.bridges
25
- ? tools?.bridges?.length !== enabledBridges?.length
26
- : false;
27
- const isExchangesChanged = tools?.exchanges
28
- ? tools?.exchanges?.length !== enabledExchanges?.length
29
- : false;
24
+ const isBridgesChanged = Boolean(disabledBridges.length);
25
+ const isExchangesChanged = Boolean(disabledExchanges.length);
30
26
  const isCustomRouteSettings = isBridgesChanged ||
31
27
  isExchangesChanged ||
32
28
  isSlippageChanged ||
@@ -35,7 +31,7 @@ export const useSettingMonitor = () => {
35
31
  const isRouteSettingsWithWarnings = isSlippageOutsideRecommendedLimits;
36
32
  const reset = () => {
37
33
  if (tools) {
38
- resetSettings(config, tools.bridges.map((tool) => tool.key), tools.exchanges.map((tool) => tool.key));
34
+ resetSettings(tools.bridges.map((tool) => tool.key), tools.exchanges.map((tool) => tool.key));
39
35
  setDefaultSettings(config);
40
36
  }
41
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useSettingMonitor.js","sourceRoot":"","sources":["../../hooks/useSettingMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,CAAC,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,GACzE,gBAAgB,CACd,CAAC,KAAK,EAAE,EAAE,CAAC;QACT,KAAK,CAAC,cAAc;QACpB,KAAK,CAAC,gBAAgB;QACtB,KAAK,CAAC,aAAa;QACnB,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,QAAQ;KACf,EACD,OAAO,CACR,CAAC;IACJ,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IAEjC,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ;QACvC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,QAAQ,GAAG,GAAG;QAC5C,CAAC,CAAC,QAAQ,KAAK,2BAA2B,CAAC,QAAQ,CAAC;IAEtD,MAAM,kCAAkC,GACtC,iBAAiB,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE5C,MAAM,sBAAsB,GAAG,MAAM,CAAC,aAAa;QACjD,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa;QACxC,CAAC,CAAC,aAAa,KAAK,2BAA2B,CAAC,aAAa,CAAC;IAEhE,MAAM,iBAAiB,GAAG,QAAQ,KAAK,2BAA2B,CAAC,QAAQ,CAAC;IAE5E,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAO;QACrC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,cAAc,EAAE,MAAM;QACnD,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,kBAAkB,GAAG,KAAK,EAAE,SAAS;QACzC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,gBAAgB,EAAE,MAAM;QACvD,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,qBAAqB,GACzB,gBAAgB;QAChB,kBAAkB;QAClB,iBAAiB;QACjB,sBAAsB;QACtB,iBAAiB,CAAC;IAEpB,MAAM,2BAA2B,GAAG,kCAAkC,CAAC;IAEvE,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,KAAK,EAAE,CAAC;YACV,aAAa,CACX,MAAM,EACN,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EACrC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CACxC,CAAC;YAEF,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,gBAAgB;QAChB,kBAAkB;QAClB,iBAAiB;QACjB,kCAAkC;QAClC,sBAAsB;QACtB,iBAAiB;QACjB,qBAAqB;QACrB,2BAA2B;QAC3B,KAAK;KACN,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useSettingMonitor.js","sourceRoot":"","sources":["../../hooks/useSettingMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,CACJ,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,QAAQ,EACT,GAAG,gBAAgB,CAClB,CAAC,KAAK,EAAE,EAAE,CAAC;QACT,KAAK,CAAC,eAAe;QACrB,KAAK,CAAC,iBAAiB;QACvB,KAAK,CAAC,aAAa;QACnB,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,QAAQ;KACf,EACD,OAAO,CACR,CAAC;IACF,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IAEjC,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ;QACvC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,QAAQ,GAAG,GAAG;QAC5C,CAAC,CAAC,QAAQ,KAAK,2BAA2B,CAAC,QAAQ,CAAC;IAEtD,MAAM,kCAAkC,GACtC,iBAAiB,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE5C,MAAM,sBAAsB,GAAG,MAAM,CAAC,aAAa;QACjD,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa;QACxC,CAAC,CAAC,aAAa,KAAK,2BAA2B,CAAC,aAAa,CAAC;IAEhE,MAAM,iBAAiB,GAAG,QAAQ,KAAK,2BAA2B,CAAC,QAAQ,CAAC;IAE5E,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE7D,MAAM,qBAAqB,GACzB,gBAAgB;QAChB,kBAAkB;QAClB,iBAAiB;QACjB,sBAAsB;QACtB,iBAAiB,CAAC;IAEpB,MAAM,2BAA2B,GAAG,kCAAkC,CAAC;IAEvE,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,KAAK,EAAE,CAAC;YACV,aAAa,CACX,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EACrC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CACxC,CAAC;YAEF,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,gBAAgB;QAChB,kBAAkB;QAClB,iBAAiB;QACjB,kCAAkC;QAClC,sBAAsB;QACtB,iBAAiB;QACjB,qBAAqB;QACrB,2BAA2B;QAC3B,KAAK;KACN,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export declare const useToken: (chainId?: number, tokenAddress?: string) => {
2
- token: import("..").TokenAmount | undefined;
2
+ token: import("@lifi/types").Token | undefined;
3
3
  isLoading: boolean;
4
4
  };
@@ -1,6 +1,7 @@
1
+ import type { TokenAmount } from '../types';
1
2
  export declare const useTokenAddressBalance: (chainId?: number, tokenAddress?: string) => {
2
- token: import("..").TokenAmount | undefined;
3
+ token: TokenAmount | undefined;
3
4
  chain: import("@lifi/types").ExtendedChain | undefined;
4
5
  isLoading: boolean;
5
- refetch: (options?: import("@tanstack/query-core/build/legacy/queryClient-MRqjmcFa")._ | undefined) => Promise<import("@tanstack/query-core/build/legacy/queryClient-MRqjmcFa").ae<import("..").TokenAmount[], Error>>;
6
+ refetch: (options?: import("@tanstack/query-core/build/legacy/queryClient-MRqjmcFa")._ | undefined) => Promise<import("@tanstack/query-core/build/legacy/queryClient-MRqjmcFa").ae<TokenAmount[], Error>>;
6
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenAddressBalance.js","sourceRoot":"","sources":["../../hooks/useTokenAddressBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,OAAgB,EAChB,YAAqB,EACrB,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,GACnE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,CAAC,iBAAiB,IAAI,MAAM,CAAC,EAAE,IAAI,CAC/C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CACvE,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEvD,OAAO;QACL,KAAK;QACL,KAAK;QACL,SAAS,EAAE,gBAAgB;QAC3B,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"useTokenAddressBalance.js","sourceRoot":"","sources":["../../hooks/useTokenAddressBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,OAAgB,EAChB,YAAqB,EACrB,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,GACnE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,CAAC,iBAAiB,IAAI,MAAM,CAAC,EAAE,IAAI,CAC/C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CACvE,CAAC;YACF,OAAO,KAAoB,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEvD,OAAO;QACL,KAAK;QACL,KAAK;QACL,SAAS,EAAE,gBAAgB;QAC3B,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import type { TokenAmount } from '../types';
2
2
  export declare const useTokenBalances: (selectedChainId?: number) => {
3
- tokens: TokenAmount[] | undefined;
3
+ tokens: import("@lifi/sdk").Token[] | undefined;
4
4
  tokensWithBalance: TokenAmount[] | undefined;
5
- featuredTokens: import("@lifi/sdk").StaticToken[] | undefined;
5
+ featuredTokens: TokenAmount[] | undefined;
6
+ popularTokens: TokenAmount[] | undefined;
6
7
  chain: import("@lifi/sdk").ExtendedChain | undefined;
7
8
  isLoading: boolean;
8
9
  isBalanceLoading: boolean;
@@ -2,12 +2,10 @@ import { getTokenBalances } from '@lifi/sdk';
2
2
  import { useQuery } from '@tanstack/react-query';
3
3
  import { formatUnits } from 'viem';
4
4
  import { useAccount } from './useAccount';
5
- import { useFeaturedTokens } from './useFeaturedTokens';
6
5
  import { useTokens } from './useTokens';
7
6
  const defaultRefetchInterval = 32000;
8
7
  export const useTokenBalances = (selectedChainId) => {
9
- const featuredTokens = useFeaturedTokens(selectedChainId);
10
- const { tokens, chain, isLoading } = useTokens(selectedChainId);
8
+ const { tokens, featuredTokens, popularTokens, chain, isLoading } = useTokens(selectedChainId);
11
9
  const { account } = useAccount({ chainType: chain?.chainType });
12
10
  const isBalanceLoadingEnabled = Boolean(account.address) &&
13
11
  Boolean(tokens?.length) &&
@@ -20,22 +18,42 @@ export const useTokenBalances = (selectedChainId) => {
20
18
  tokens?.length,
21
19
  ],
22
20
  queryFn: async ({ queryKey: [, accountAddress] }) => {
23
- const tokenBalances = await getTokenBalances(accountAddress, tokens);
24
- const featuredTokenAddresses = new Set(featuredTokens?.map((token) => token.address));
21
+ const tokensWithBalance = await getTokenBalances(accountAddress, tokens);
22
+ if (!tokensWithBalance?.length) {
23
+ return tokens;
24
+ }
25
25
  const sortFn = (a, b) => parseFloat(formatUnits(b.amount ?? 0n, b.decimals)) *
26
26
  parseFloat(b.priceUSD ?? '0') -
27
27
  parseFloat(formatUnits(a.amount ?? 0n, a.decimals)) *
28
28
  parseFloat(a.priceUSD ?? '0');
29
- const formattedTokens = (tokenBalances.length === 0 ? tokens : tokenBalances);
29
+ const featuredTokens = [];
30
+ const tokensWithAmount = [];
31
+ const popularTokens = [];
32
+ const allTokens = [];
33
+ tokensWithBalance.forEach((token) => {
34
+ if (token.amount) {
35
+ token.featured = false;
36
+ token.popular = false;
37
+ }
38
+ if (token.featured) {
39
+ featuredTokens.push(token);
40
+ }
41
+ else if (token.amount) {
42
+ tokensWithAmount.push(token);
43
+ }
44
+ else if (token.popular) {
45
+ popularTokens.push(token);
46
+ }
47
+ else {
48
+ allTokens.push(token);
49
+ }
50
+ });
51
+ tokensWithAmount.sort(sortFn);
30
52
  const result = [
31
- ...formattedTokens
32
- .filter((token) => token.amount && featuredTokenAddresses.has(token.address))
33
- .sort(sortFn),
34
- ...formattedTokens.filter((token) => !token.amount && featuredTokenAddresses.has(token.address)),
35
- ...formattedTokens
36
- .filter((token) => token.amount && !featuredTokenAddresses.has(token.address))
37
- .sort(sortFn),
38
- ...formattedTokens.filter((token) => !token.amount && !featuredTokenAddresses.has(token.address)),
53
+ ...featuredTokens,
54
+ ...tokensWithAmount,
55
+ ...popularTokens,
56
+ ...allTokens,
39
57
  ];
40
58
  return result;
41
59
  },
@@ -47,6 +65,7 @@ export const useTokenBalances = (selectedChainId) => {
47
65
  tokens,
48
66
  tokensWithBalance,
49
67
  featuredTokens,
68
+ popularTokens,
50
69
  chain,
51
70
  isLoading,
52
71
  isBalanceLoading: isBalanceLoading && isBalanceLoadingEnabled,
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenBalances.js","sourceRoot":"","sources":["../../hooks/useTokenBalances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTokenBalances.js","sourceRoot":"","sources":["../../hooks/useTokenBalances.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type { TokenAmount } from '../types';
2
2
  export declare const useTokens: (selectedChainId?: number) => {
3
- tokens: TokenAmount[] | undefined;
3
+ tokens: import("@lifi/sdk").Token[] | undefined;
4
+ featuredTokens: TokenAmount[] | undefined;
5
+ popularTokens: TokenAmount[] | undefined;
4
6
  chain: import("@lifi/sdk").ExtendedChain | undefined;
5
7
  isLoading: boolean;
6
8
  };
@@ -3,7 +3,6 @@ import { useQuery } from '@tanstack/react-query';
3
3
  import { useMemo } from 'react';
4
4
  import { useWidgetConfig } from '../providers';
5
5
  import { useChains } from './useChains';
6
- import { useFeaturedTokens } from './useFeaturedTokens';
7
6
  export const useTokens = (selectedChainId) => {
8
7
  const { tokens: configTokens } = useWidgetConfig();
9
8
  const { data, isLoading } = useQuery({
@@ -12,9 +11,8 @@ export const useTokens = (selectedChainId) => {
12
11
  refetchInterval: 3600000,
13
12
  });
14
13
  const { chains, isLoading: isSupportedChainsLoading, getChainById, } = useChains();
15
- const featuredTokens = useFeaturedTokens(selectedChainId);
16
14
  const filteredData = useMemo(() => {
17
- if (isSupportedChainsLoading) {
15
+ if (isSupportedChainsLoading || !data) {
18
16
  return;
19
17
  }
20
18
  const chain = getChainById(selectedChainId, chains);
@@ -22,50 +20,65 @@ export const useTokens = (selectedChainId) => {
22
20
  if (!chainAllowed) {
23
21
  return;
24
22
  }
25
- let filteredTokens = data?.tokens[selectedChainId];
23
+ let filteredTokens = data.tokens?.[selectedChainId] || [];
26
24
  const includedTokens = configTokens?.include?.filter((token) => token.chainId === selectedChainId);
27
25
  if (includedTokens?.length) {
28
- filteredTokens = filteredTokens
29
- ? [...includedTokens, ...filteredTokens]
30
- : includedTokens;
26
+ filteredTokens = [...includedTokens, ...filteredTokens];
31
27
  }
32
- const allowedTokens = configTokens?.allow
33
- ?.filter((token) => token.chainId === selectedChainId)
34
- .map((token) => token.address);
35
- if (allowedTokens?.length) {
36
- filteredTokens = filteredTokens?.filter((token) => allowedTokens.includes(token.address));
28
+ if (configTokens?.allow?.length || configTokens?.deny?.length) {
29
+ const allowedTokensSet = new Set(configTokens?.allow
30
+ ?.filter((token) => token.chainId === selectedChainId)
31
+ .map((token) => token.address));
32
+ const deniedTokenAddressesSet = new Set(configTokens?.deny
33
+ ?.filter((token) => token.chainId === selectedChainId)
34
+ .map((token) => token.address));
35
+ if (allowedTokensSet.size || deniedTokenAddressesSet.size) {
36
+ filteredTokens = filteredTokens.filter((token) => (!allowedTokensSet.size || allowedTokensSet.has(token.address)) &&
37
+ !deniedTokenAddressesSet.has(token.address));
38
+ }
37
39
  }
38
- const deniedTokenAddresses = configTokens?.deny
39
- ?.filter((token) => token.chainId === selectedChainId)
40
- .map((token) => token.address);
41
- if (deniedTokenAddresses?.length) {
42
- filteredTokens = filteredTokens?.filter((token) => !deniedTokenAddresses.includes(token.address));
43
- }
44
- const featuredTokenAddresses = new Set(featuredTokens?.map((token) => token.address));
45
- const tokens = [
46
- ...(featuredTokens?.map((token) => {
47
- token.featured = true;
40
+ const filteredTokensMap = new Map(filteredTokens.map((token) => [token.address, token]));
41
+ const [popularTokens, featuredTokens] = ['popular', 'featured'].map((tokenType) => {
42
+ const typedConfigTokens = configTokens?.[tokenType]?.filter((token) => token.chainId === selectedChainId);
43
+ const populatedConfigTokens = typedConfigTokens?.map((token) => {
44
+ // Mark token as popular
45
+ token[tokenType] = true;
46
+ // Check if this token exists in the filteredTokensMap and add priceUSD if it does
47
+ const matchingFilteredToken = filteredTokensMap.get(token.address);
48
+ if (matchingFilteredToken?.priceUSD) {
49
+ token.priceUSD = matchingFilteredToken.priceUSD;
50
+ }
51
+ if (!token.logoURI && matchingFilteredToken) {
52
+ token.logoURI = matchingFilteredToken.logoURI;
53
+ }
48
54
  return token;
49
- }) ?? []),
50
- ...(filteredTokens?.filter((token) => !featuredTokenAddresses.has(token.address)) ?? []),
51
- ];
55
+ });
56
+ if (populatedConfigTokens?.length) {
57
+ const configTokenAddresses = new Set(populatedConfigTokens?.map((token) => token.address));
58
+ filteredTokens = filteredTokens.filter((token) => !configTokenAddresses.has(token.address));
59
+ populatedConfigTokens.push(...filteredTokens);
60
+ filteredTokens = populatedConfigTokens;
61
+ }
62
+ return populatedConfigTokens;
63
+ });
52
64
  return {
53
- tokens,
65
+ tokens: filteredTokens,
66
+ featuredTokens,
67
+ popularTokens,
54
68
  chain,
55
69
  };
56
70
  }, [
57
71
  chains,
58
- configTokens?.allow,
59
- configTokens?.deny,
60
- configTokens?.include,
61
- data?.tokens,
62
- featuredTokens,
72
+ configTokens,
73
+ data,
63
74
  getChainById,
64
75
  isSupportedChainsLoading,
65
76
  selectedChainId,
66
77
  ]);
67
78
  return {
68
79
  tokens: filteredData?.tokens,
80
+ featuredTokens: filteredData?.featuredTokens,
81
+ popularTokens: filteredData?.popularTokens,
69
82
  chain: filteredData?.chain,
70
83
  isLoading,
71
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useTokens.js","sourceRoot":"","sources":["../../hooks/useTokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTokens.js","sourceRoot":"","sources":["../../hooks/useTokens.ts"],"names":[],"mappings":"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"}
package/_esm/i18n/en.json CHANGED
@@ -174,6 +174,7 @@
174
174
  "deselectAll": "Deselect all"
175
175
  },
176
176
  "main": {
177
+ "allTokens": "All tokens",
177
178
  "crossStepDetails": "Bridge from {{from}} to {{to}} via {{tool}}",
178
179
  "currentAmount": "Current amount",
179
180
  "featuredTokens": "Featured tokens",
@@ -189,10 +190,11 @@
189
190
  "fromAmount": "You pay",
190
191
  "gasCost": "Gas cost",
191
192
  "inProgress": "in progress",
193
+ "myTokens": "My tokens",
192
194
  "nftStepDetails": "Purchase NFT via {{tool}}",
193
195
  "onChain": "on {{chainName}}",
194
- "otherTokens": "Other tokens",
195
196
  "ownedBy": "Owned by",
197
+ "popularTokens": "Popular tokens",
196
198
  "process": {
197
199
  "crossChain": {
198
200
  "actionRequired": "Please sign the transaction",