@lifi/widget 3.0.0-alpha.22 → 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 (124) hide show
  1. package/_cjs/components/AmountInput/AmountInputEndAdornment.js +11 -7
  2. package/_cjs/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
  3. package/_cjs/components/Routes/RoutesExpanded.js +1 -1
  4. package/_cjs/components/Routes/RoutesExpanded.js.map +1 -1
  5. package/_cjs/components/TokenList/TokenList.js +5 -2
  6. package/_cjs/components/TokenList/TokenList.js.map +1 -1
  7. package/_cjs/components/TokenList/VirtualizedTokenList.js +41 -19
  8. package/_cjs/components/TokenList/VirtualizedTokenList.js.map +1 -1
  9. package/_cjs/components/TokenList/types.d.ts +3 -2
  10. package/_cjs/config/version.d.ts +1 -1
  11. package/_cjs/config/version.js +1 -1
  12. package/_cjs/hooks/index.d.ts +0 -1
  13. package/_cjs/hooks/index.js +0 -1
  14. package/_cjs/hooks/index.js.map +1 -1
  15. package/_cjs/hooks/useDebouncedWatch.d.ts +1 -1
  16. package/_cjs/hooks/useRoutes.js +49 -25
  17. package/_cjs/hooks/useRoutes.js.map +1 -1
  18. package/_cjs/hooks/useSettingMonitor.js +8 -12
  19. package/_cjs/hooks/useSettingMonitor.js.map +1 -1
  20. package/_cjs/hooks/useToken.d.ts +1 -1
  21. package/_cjs/hooks/useTokenAddressBalance.d.ts +3 -2
  22. package/_cjs/hooks/useTokenAddressBalance.js.map +1 -1
  23. package/_cjs/hooks/useTokenBalances.d.ts +3 -2
  24. package/_cjs/hooks/useTokenBalances.js +33 -14
  25. package/_cjs/hooks/useTokenBalances.js.map +1 -1
  26. package/_cjs/hooks/useTokens.d.ts +3 -1
  27. package/_cjs/hooks/useTokens.js +44 -31
  28. package/_cjs/hooks/useTokens.js.map +1 -1
  29. package/_cjs/i18n/en.json +3 -1
  30. package/_cjs/pages/RoutesPage/RoutesPage.js +1 -1
  31. package/_cjs/pages/RoutesPage/RoutesPage.js.map +1 -1
  32. package/_cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +10 -27
  33. package/_cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js.map +1 -1
  34. package/_cjs/pages/SettingsPage/BridgeAndExchangeSettings.js +2 -2
  35. package/_cjs/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
  36. package/_cjs/stores/form/createFormStore.js +10 -6
  37. package/_cjs/stores/form/createFormStore.js.map +1 -1
  38. package/_cjs/stores/form/types.d.ts +3 -14
  39. package/_cjs/stores/form/types.js.map +1 -1
  40. package/_cjs/stores/form/useFieldController.d.ts +1 -1
  41. package/_cjs/stores/form/useFieldValues.d.ts +1 -1
  42. package/_cjs/stores/settings/types.d.ts +10 -9
  43. package/_cjs/stores/settings/types.js.map +1 -1
  44. package/_cjs/stores/settings/useSettingsStore.js +40 -30
  45. package/_cjs/stores/settings/useSettingsStore.js.map +1 -1
  46. package/_cjs/types/token.d.ts +1 -0
  47. package/_cjs/types/widget.d.ts +1 -0
  48. package/_esm/components/AmountInput/AmountInputEndAdornment.js +11 -7
  49. package/_esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
  50. package/_esm/components/Routes/RoutesExpanded.js +1 -1
  51. package/_esm/components/Routes/RoutesExpanded.js.map +1 -1
  52. package/_esm/components/TokenList/TokenList.js +6 -3
  53. package/_esm/components/TokenList/TokenList.js.map +1 -1
  54. package/_esm/components/TokenList/VirtualizedTokenList.js +41 -19
  55. package/_esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
  56. package/_esm/components/TokenList/types.d.ts +3 -2
  57. package/_esm/config/version.d.ts +1 -1
  58. package/_esm/config/version.js +1 -1
  59. package/_esm/hooks/index.d.ts +0 -1
  60. package/_esm/hooks/index.js +0 -1
  61. package/_esm/hooks/index.js.map +1 -1
  62. package/_esm/hooks/useDebouncedWatch.d.ts +1 -1
  63. package/_esm/hooks/useRoutes.js +49 -25
  64. package/_esm/hooks/useRoutes.js.map +1 -1
  65. package/_esm/hooks/useSettingMonitor.js +8 -12
  66. package/_esm/hooks/useSettingMonitor.js.map +1 -1
  67. package/_esm/hooks/useToken.d.ts +1 -1
  68. package/_esm/hooks/useTokenAddressBalance.d.ts +3 -2
  69. package/_esm/hooks/useTokenAddressBalance.js.map +1 -1
  70. package/_esm/hooks/useTokenBalances.d.ts +3 -2
  71. package/_esm/hooks/useTokenBalances.js +33 -14
  72. package/_esm/hooks/useTokenBalances.js.map +1 -1
  73. package/_esm/hooks/useTokens.d.ts +3 -1
  74. package/_esm/hooks/useTokens.js +44 -31
  75. package/_esm/hooks/useTokens.js.map +1 -1
  76. package/_esm/i18n/en.json +3 -1
  77. package/_esm/pages/RoutesPage/RoutesPage.js +1 -1
  78. package/_esm/pages/RoutesPage/RoutesPage.js.map +1 -1
  79. package/_esm/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +10 -27
  80. package/_esm/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js.map +1 -1
  81. package/_esm/pages/SettingsPage/BridgeAndExchangeSettings.js +2 -2
  82. package/_esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
  83. package/_esm/stores/form/createFormStore.js +10 -6
  84. package/_esm/stores/form/createFormStore.js.map +1 -1
  85. package/_esm/stores/form/types.d.ts +3 -14
  86. package/_esm/stores/form/types.js.map +1 -1
  87. package/_esm/stores/form/useFieldController.d.ts +1 -1
  88. package/_esm/stores/form/useFieldValues.d.ts +1 -1
  89. package/_esm/stores/settings/types.d.ts +10 -9
  90. package/_esm/stores/settings/types.js.map +1 -1
  91. package/_esm/stores/settings/useSettingsStore.js +40 -30
  92. package/_esm/stores/settings/useSettingsStore.js.map +1 -1
  93. package/_esm/types/token.d.ts +1 -0
  94. package/_esm/types/widget.d.ts +1 -0
  95. package/components/AmountInput/AmountInputEndAdornment.tsx +15 -12
  96. package/components/Routes/RoutesExpanded.tsx +1 -1
  97. package/components/TokenList/TokenList.tsx +8 -2
  98. package/components/TokenList/VirtualizedTokenList.tsx +63 -41
  99. package/components/TokenList/types.ts +3 -2
  100. package/config/version.ts +1 -1
  101. package/hooks/index.ts +0 -1
  102. package/hooks/useRoutes.ts +58 -31
  103. package/hooks/useSettingMonitor.ts +20 -21
  104. package/hooks/useTokenAddressBalance.ts +2 -1
  105. package/hooks/useTokenBalances.ts +34 -29
  106. package/hooks/useTokens.ts +65 -36
  107. package/i18n/en.json +3 -1
  108. package/package.json +6 -6
  109. package/pages/RoutesPage/RoutesPage.tsx +1 -1
  110. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.tsx +16 -35
  111. package/pages/SettingsPage/BridgeAndExchangeSettings.tsx +2 -2
  112. package/stores/form/createFormStore.ts +15 -15
  113. package/stores/form/types.ts +3 -14
  114. package/stores/settings/types.ts +10 -13
  115. package/stores/settings/useSettingsStore.ts +51 -53
  116. package/types/token.ts +1 -0
  117. package/types/widget.ts +1 -0
  118. package/_cjs/hooks/useFeaturedTokens.d.ts +0 -1
  119. package/_cjs/hooks/useFeaturedTokens.js +0 -11
  120. package/_cjs/hooks/useFeaturedTokens.js.map +0 -1
  121. package/_esm/hooks/useFeaturedTokens.d.ts +0 -1
  122. package/_esm/hooks/useFeaturedTokens.js +0 -7
  123. package/_esm/hooks/useFeaturedTokens.js.map +0 -1
  124. package/hooks/useFeaturedTokens.ts +0 -12
@@ -15,8 +15,10 @@ exports.defaultSettings = {
15
15
  gasPrice: 'normal',
16
16
  enabledAutoRefuel: true,
17
17
  showDestinationWallet: true,
18
- enabledBridges: [],
19
- enabledExchanges: [],
18
+ disabledBridges: [],
19
+ disabledExchanges: [],
20
+ enabledBridges: {},
21
+ enabledExchanges: {},
20
22
  };
21
23
  exports.useSettingsStore = (0, traditional_1.createWithEqualityFn)((0, middleware_1.persist)((set, get) => ({
22
24
  ...exports.defaultSettings,
@@ -38,37 +40,47 @@ exports.useSettingsStore = (0, traditional_1.createWithEqualityFn)((0, middlewar
38
40
  }
39
41
  set((state) => {
40
42
  const updatedState = { ...state };
41
- if (updatedState[`_enabled${toolType}`] && !reset) {
43
+ if (!reset) {
42
44
  // Add new tools
43
- const enabledTools = tools
44
- .filter((tool) => !Object.hasOwn(updatedState[`_enabled${toolType}`], tool))
45
- .reduce((values, tool) => {
46
- values[tool] = true;
47
- return values;
48
- }, updatedState[`_enabled${toolType}`]);
45
+ tools.forEach((tool) => {
46
+ if (!Object.hasOwn(updatedState[`enabled${toolType}`], tool)) {
47
+ updatedState[`enabled${toolType}`][tool] = true;
48
+ }
49
+ });
49
50
  // Filter tools we no longer have
50
- updatedState[`_enabled${toolType}`] = Object.fromEntries(Object.entries(enabledTools).filter(([key]) => tools.includes(key)));
51
+ updatedState[`enabled${toolType}`] = Object.fromEntries(Object.entries(updatedState[`enabled${toolType}`]).filter(([key]) => tools.includes(key)));
51
52
  }
52
53
  else {
53
- updatedState[`_enabled${toolType}`] = tools.reduce((values, tool) => {
54
- values[tool] = true;
55
- return values;
56
- }, {});
54
+ tools.forEach((tool) => {
55
+ updatedState[`enabled${toolType}`][tool] = true;
56
+ });
57
57
  }
58
- updatedState[`enabled${toolType}`] = Object.entries(updatedState[`_enabled${toolType}`])
59
- .filter(([_, value]) => value)
60
- .map(([key]) => key);
58
+ updatedState[`disabled${toolType}`] = Object.keys(updatedState[`enabled${toolType}`]).filter((key) => !updatedState[`enabled${toolType}`][key]);
61
59
  return updatedState;
62
60
  });
63
61
  },
64
- setTools: (toolType, tools, availableTools) => set(() => ({
65
- [`enabled${toolType}`]: tools,
66
- [`_enabled${toolType}`]: availableTools.reduce((values, toolKey) => {
67
- values[toolKey] = tools.includes(toolKey);
68
- return values;
69
- }, {}),
70
- })),
71
- reset: (config, bridges, exchanges) => {
62
+ setToolValue: (toolType, tool, value) => set((state) => {
63
+ const enabledTools = {
64
+ ...state[`enabled${toolType}`],
65
+ [tool]: value,
66
+ };
67
+ return {
68
+ [`enabled${toolType}`]: enabledTools,
69
+ [`disabled${toolType}`]: Object.keys(enabledTools).filter((key) => !enabledTools[key]),
70
+ };
71
+ }),
72
+ toggleTools: (toolType) => set((state) => {
73
+ const enabledTools = { ...state[`enabled${toolType}`] };
74
+ const enableAll = Boolean(state[`disabled${toolType}`].length);
75
+ for (const toolKey in enabledTools) {
76
+ enabledTools[toolKey] = enableAll;
77
+ }
78
+ return {
79
+ [`enabled${toolType}`]: enabledTools,
80
+ [`disabled${toolType}`]: enableAll ? [] : Object.keys(enabledTools),
81
+ };
82
+ }),
83
+ reset: (bridges, exchanges) => {
72
84
  const { appearance, ...restDefaultSettings } = exports.defaultSettings;
73
85
  set(() => ({
74
86
  ...restDefaultSettings,
@@ -79,17 +91,15 @@ exports.useSettingsStore = (0, traditional_1.createWithEqualityFn)((0, middlewar
79
91
  },
80
92
  }), {
81
93
  name: `li.fi-widget-settings`,
82
- version: 2,
94
+ version: 3,
83
95
  partialize: (state) => {
84
- const { enabledBridges, enabledExchanges, ...partializedState } = state;
96
+ const { disabledBridges, disabledExchanges, ...partializedState } = state;
85
97
  return partializedState;
86
98
  },
87
99
  merge: (persistedState, currentState) => {
88
100
  const state = { ...currentState, ...persistedState };
89
101
  types_1.SettingsToolTypes.forEach((toolType) => {
90
- state[`enabled${toolType}`] = Object.entries(persistedState[`_enabled${toolType}`])
91
- .filter(([_, value]) => value)
92
- .map(([key]) => key);
102
+ state[`disabled${toolType}`] = Object.keys(persistedState[`enabled${toolType}`]).filter((key) => !persistedState[`enabled${toolType}`][key]);
93
103
  });
94
104
  return state;
95
105
  },
@@ -1 +1 @@
1
- {"version":3,"file":"useSettingsStore.js","sourceRoot":"","sources":["../../../stores/settings/useSettingsStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSettingsStore.js","sourceRoot":"","sources":["../../../stores/settings/useSettingsStore.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { TokenAmount as SDKTokenAmount } from '@lifi/sdk';
2
2
  export interface TokenAmount extends SDKTokenAmount {
3
3
  featured?: boolean;
4
+ popular?: boolean;
4
5
  }
@@ -111,6 +111,7 @@ export interface WidgetConfig {
111
111
  tokens?: {
112
112
  featured?: StaticToken[];
113
113
  include?: Token[];
114
+ popular?: StaticToken[];
114
115
  } & AllowDeny<BaseToken>;
115
116
  languages?: {
116
117
  default?: LanguageKey;
@@ -15,20 +15,24 @@ export const AmountInputEndAdornment = ({ formType }) => {
15
15
  const { data } = useGasRecommendation(chainId);
16
16
  const { token, isLoading } = useTokenAddressBalance(chainId, tokenAddress);
17
17
  const handleMax = () => {
18
+ if (!token?.amount) {
19
+ return;
20
+ }
18
21
  const chain = getChainById(chainId);
19
- let maxAmount = token?.amount;
22
+ let maxAmount = token.amount;
20
23
  if (chain?.nativeToken.address === tokenAddress &&
21
24
  data?.available &&
22
25
  data?.recommended) {
23
- const tokenAmount = token?.amount ?? 0n;
24
26
  const recommendedAmount = BigInt(data.recommended.amount) / 2n;
25
- if (tokenAmount > recommendedAmount) {
26
- maxAmount = tokenAmount - recommendedAmount;
27
+ if (token.amount > recommendedAmount) {
28
+ maxAmount = token.amount - recommendedAmount;
27
29
  }
28
30
  }
29
- setFieldValue(FormKeyHelper.getAmountKey(formType), maxAmount && token ? formatUnits(maxAmount, token.decimals) : '', {
30
- isTouched: true,
31
- });
31
+ if (maxAmount) {
32
+ setFieldValue(FormKeyHelper.getAmountKey(formType), formatUnits(maxAmount, token.decimals), {
33
+ isTouched: true,
34
+ });
35
+ }
32
36
  };
33
37
  return (_jsx(InputAdornment, { position: "end", children: isLoading && tokenAddress ? (_jsx(MaxButtonSkeleton, { variant: "rectangular" })) : formType === 'from' && token?.amount ? (_jsx(MaxButton, { onClick: handleMax, children: t('button.max') })) : null }));
34
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AmountInputEndAdornment.js","sourceRoot":"","sources":["../../../components/AmountInput/AmountInputEndAdornment.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAE5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EAAE,QAAQ,EAAiB,EAAE,EAAE;IACrE,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC9C,MAAM,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE,CAAC;IAE5C,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,cAAc,CAC5C,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,EACnC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CACpC,CAAC;IAEF,kGAAkG;IAClG,+DAA+D;IAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE/C,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE3E,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,SAAS,GAAG,KAAK,EAAE,MAAM,CAAC;QAC9B,IACE,KAAK,EAAE,WAAW,CAAC,OAAO,KAAK,YAAY;YAC3C,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW,EACjB,CAAC;YACD,MAAM,WAAW,GAAG,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC;YACxC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAC/D,IAAI,WAAW,GAAG,iBAAiB,EAAE,CAAC;gBACpC,SAAS,GAAG,WAAW,GAAG,iBAAiB,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,aAAa,CACX,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,EACpC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAChE;YACE,SAAS,EAAE,IAAI;SAChB,CACF,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,cAAc,IAAC,QAAQ,EAAC,KAAK,YAC3B,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,CAC3B,KAAC,iBAAiB,IAAC,OAAO,EAAC,aAAa,GAAG,CAC5C,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACzC,KAAC,SAAS,IAAC,OAAO,EAAE,SAAS,YAAG,CAAC,CAAC,YAAY,CAAC,GAAa,CAC7D,CAAC,CAAC,CAAC,IAAI,GACO,CAClB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"AmountInputEndAdornment.js","sourceRoot":"","sources":["../../../components/AmountInput/AmountInputEndAdornment.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAE5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EAAE,QAAQ,EAAiB,EAAE,EAAE;IACrE,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC9C,MAAM,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE,CAAC;IAE5C,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,cAAc,CAC5C,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,EACnC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CACpC,CAAC;IAEF,kGAAkG;IAClG,+DAA+D;IAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE/C,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE3E,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;QAC7B,IACE,KAAK,EAAE,WAAW,CAAC,OAAO,KAAK,YAAY;YAC3C,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW,EACjB,CAAC;YACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;gBACrC,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,iBAAiB,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,aAAa,CACX,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,EACpC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,EACtC;gBACE,SAAS,EAAE,IAAI;aAChB,CACF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,cAAc,IAAC,QAAQ,EAAC,KAAK,YAC3B,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,CAC3B,KAAC,iBAAiB,IAAC,OAAO,EAAC,aAAa,GAAG,CAC5C,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CACzC,KAAC,SAAS,IAAC,OAAO,EAAE,SAAS,YAAG,CAAC,CAAC,YAAY,CAAC,GAAa,CAC7D,CAAC,CAAC,CAAC,IAAI,GACO,CAClB,CAAC;AACJ,CAAC,CAAC"}
@@ -32,6 +32,6 @@ export const RoutesExpandedElement = () => {
32
32
  const routeNotFound = !currentRoute && !isLoading && !isFetching && expanded;
33
33
  return (_jsx(Collapse, { timeout: timeout.enter, in: expanded, orientation: "horizontal", children: _jsx(Grow, { timeout: timeout.enter, in: expanded, mountOnEnter: true, unmountOnExit: true, children: _jsx(Container, { sx: containerStyle, enableColorScheme: true, children: _jsxs(ScrollableContainer, { children: [_jsxs(Header, { children: [_jsx(Typography, { fontSize: 18, fontWeight: "700", flex: 1, noWrap: true, children: subvariant === 'nft'
34
34
  ? t('main.fromAmount')
35
- : t('header.youGet') }), _jsx(ProgressToNextUpdate, { updatedAt: dataUpdatedAt || new Date().getTime(), timeToUpdate: refetchTime, isLoading: isFetching, onClick: () => refetch(), sx: { marginRight: -1 } })] }), _jsx(PageContainer, { children: _jsx(Stack, { direction: "column", spacing: 2, flex: 1, paddingBottom: 3, children: routeNotFound ? (_jsx(RouteNotFoundCard, {})) : isLoading || (isFetching && !routes?.length) ? (Array.from({ length: 3 }).map((_, index) => (_jsx(RouteCardSkeleton, {}, index)))) : (routes?.map((route, index) => (_jsx(RouteCard, { route: route, onClick: () => handleRouteClick(route), active: index === 0, expanded: routes?.length === 1 }, route.id)))) }) })] }) }) }) }));
35
+ : t('header.youGet') }), _jsx(ProgressToNextUpdate, { updatedAt: dataUpdatedAt || new Date().getTime(), timeToUpdate: refetchTime, isLoading: isFetching, onClick: () => refetch(), sx: { marginRight: -1 } })] }), _jsx(PageContainer, { children: _jsx(Stack, { direction: "column", spacing: 2, flex: 1, paddingBottom: 3, children: routeNotFound ? (_jsx(RouteNotFoundCard, {})) : isLoading || (isFetching && !routes?.length) ? (Array.from({ length: 3 }).map((_, index) => (_jsx(RouteCardSkeleton, {}, index)))) : (routes?.map((route, index) => (_jsx(RouteCard, { route: route, onClick: () => handleRouteClick(route), active: index === 0, expanded: routes?.length === 1 }, index)))) }) })] }) }) }) }));
36
36
  };
37
37
  //# sourceMappingURL=RoutesExpanded.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoutesExpanded.js","sourceRoot":"","sources":["../../../components/Routes/RoutesExpanded.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoutesExpanded.js","sourceRoot":"","sources":["../../../components/Routes/RoutesExpanded.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box } from '@mui/material';
3
3
  import { useRef } from 'react';
4
- import { useChain, useDebouncedWatch, useTokenBalances, useTokenSearch, } from '../../hooks';
4
+ import { useAccount, useChain, useDebouncedWatch, useTokenBalances, useTokenSearch, } from '../../hooks';
5
5
  import { FormKeyHelper, useFieldValues } from '../../stores';
6
6
  import { TokenNotFound } from './TokenNotFound';
7
7
  import { VirtualizedTokenList } from './VirtualizedTokenList';
@@ -11,7 +11,8 @@ export const TokenList = ({ formType, height, onClick, }) => {
11
11
  const [selectedChainId] = useFieldValues(FormKeyHelper.getChainKey(formType));
12
12
  const [tokenSearchFilter] = useDebouncedWatch(320, 'tokenSearchFilter');
13
13
  const { chain, isLoading: isChainLoading } = useChain(selectedChainId);
14
- const { tokens: chainTokens, tokensWithBalance, isLoading: isTokensLoading, isBalanceLoading, featuredTokens, } = useTokenBalances(selectedChainId);
14
+ const { account } = useAccount({ chainType: chain?.chainType });
15
+ const { tokens: chainTokens, tokensWithBalance, isLoading: isTokensLoading, isBalanceLoading, featuredTokens, popularTokens, } = useTokenBalances(selectedChainId);
15
16
  let filteredTokens = (tokensWithBalance ??
16
17
  chainTokens ??
17
18
  []);
@@ -36,6 +37,8 @@ export const TokenList = ({ formType, height, onClick, }) => {
36
37
  ? [searchedToken]
37
38
  : filteredTokens;
38
39
  const handleTokenClick = useTokenSelect(formType, onClick);
39
- return (_jsxs(Box, { ref: parentRef, style: { height, overflow: 'auto' }, children: [!tokens.length && !isLoading ? (_jsx(TokenNotFound, { formType: formType })) : null, _jsx(VirtualizedTokenList, { tokens: tokens, featuredTokensLength: featuredTokens?.length, scrollElementRef: parentRef, chainId: selectedChainId, chain: chain, isLoading: isLoading, isBalanceLoading: isBalanceLoading, showFeatured: !tokenSearchFilter, onClick: handleTokenClick })] }));
40
+ const showCategories = Boolean(featuredTokens?.length || popularTokens?.length) &&
41
+ !tokenSearchFilter;
42
+ return (_jsxs(Box, { ref: parentRef, style: { height, overflow: 'auto' }, children: [!tokens.length && !isLoading ? (_jsx(TokenNotFound, { formType: formType })) : null, _jsx(VirtualizedTokenList, { account: account, tokens: tokens, scrollElementRef: parentRef, chainId: selectedChainId, chain: chain, isLoading: isLoading, isBalanceLoading: isBalanceLoading, showCategories: showCategories, onClick: handleTokenClick })] }));
40
43
  };
41
44
  //# sourceMappingURL=TokenList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenList.js","sourceRoot":"","sources":["../../../components/TokenList/TokenList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenList.js","sourceRoot":"","sources":["../../../components/TokenList/TokenList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,SAAS,GAAuB,CAAC,EAC5C,QAAQ,EACR,MAAM,EACN,OAAO,GACR,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,MAAM,CAAC,iBAAiB,CAAC,GAAa,iBAAiB,CACrD,GAAG,EACH,mBAAmB,CACpB,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IACvE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAEhE,MAAM,EACJ,MAAM,EAAE,WAAW,EACnB,iBAAiB,EACjB,SAAS,EAAE,eAAe,EAC1B,gBAAgB,EAChB,cAAc,EACd,aAAa,GACd,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAEtC,IAAI,cAAc,GAAG,CAAC,iBAAiB;QACrC,WAAW;QACX,EAAE,CAAkB,CAAC;IACvB,MAAM,sBAAsB,GAAG,iBAAiB,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,sBAAsB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACjE,cAAc,GAAG,iBAAiB;QAChC,CAAC,CAAC,cAAc,CAAC,MAAM,CACnB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC/C,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YACjD,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CACrD;QACH,CAAC,CAAC,cAAc,CAAC;IAEnB,MAAM,kBAAkB,GACtB,CAAC,eAAe;QAChB,CAAC,cAAc,CAAC,MAAM;QACtB,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,eAAe,CAAC;IAEpB,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAsB,EAAE,GAC/D,cAAc,CAAC,eAAe,EAAE,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;IAE9E,MAAM,SAAS,GACb,eAAe;QACf,cAAc;QACd,CAAC,kBAAkB,IAAI,sBAAsB,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM;QAClC,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,aAAa;YACb,CAAC,CAAC,CAAC,aAAa,CAAC;YACjB,CAAC,CAAC,cAAc,CAAC;IAErB,MAAM,gBAAgB,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,cAAc,GAClB,OAAO,CAAC,cAAc,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,CAAC;QACxD,CAAC,iBAAiB,CAAC;IAErB,OAAO,CACL,MAAC,GAAG,IAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aACrD,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAC9B,KAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,GAAI,CACtC,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,oBAAoB,IACnB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,SAAS,EAC3B,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,gBAAgB,GACzB,IACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -3,33 +3,32 @@ import { List, Typography } from '@mui/material';
3
3
  import { useVirtualizer } from '@tanstack/react-virtual';
4
4
  import { useEffect } from 'react';
5
5
  import { useTranslation } from 'react-i18next';
6
- import { useAccount } from '../../hooks';
7
6
  import { TokenListItem, TokenListItemSkeleton } from './TokenListItem';
8
- export const VirtualizedTokenList = ({ tokens, featuredTokensLength, scrollElementRef, chainId, chain, isLoading, isBalanceLoading, showFeatured, onClick, }) => {
9
- const { account } = useAccount({ chainType: chain?.chainType });
7
+ export const VirtualizedTokenList = ({ account, tokens, scrollElementRef, chainId, chain, isLoading, isBalanceLoading, showCategories, onClick, }) => {
10
8
  const { t } = useTranslation();
11
- const hasFeaturedTokens = !!featuredTokensLength && showFeatured;
12
- const featuredTokensLastIndex = (featuredTokensLength ?? 0) - 1;
13
- const tokensLastIndex = tokens.length - 1;
14
9
  const { getVirtualItems, getTotalSize, scrollToIndex } = useVirtualizer({
15
10
  count: tokens.length,
16
11
  overscan: 10,
17
12
  paddingEnd: 12,
18
13
  getScrollElement: () => scrollElementRef.current,
19
14
  estimateSize: (index) => {
20
- // heigth of TokenListItem
15
+ // Base size for TokenListItem
21
16
  let size = 64;
22
- if (!hasFeaturedTokens) {
17
+ // Early return if categories are not shown
18
+ if (!showCategories) {
23
19
  return size;
24
20
  }
25
- if (index === 0 && tokens[index]?.featured) {
26
- // height of startAdornment
21
+ const currentToken = tokens[index];
22
+ const previousToken = tokens[index - 1];
23
+ // Adjust size for the first featured token
24
+ if (currentToken.featured && index === 0) {
27
25
  size += 24;
28
26
  }
29
- if (index === featuredTokensLastIndex &&
30
- index !== tokensLastIndex &&
31
- tokens[index]?.featured) {
32
- // height of endAdornment
27
+ // Adjust size based on changes between the current and previous tokens
28
+ const isCategoryChanged = (previousToken?.amount && !currentToken.amount) ||
29
+ (previousToken?.featured && !currentToken.featured) ||
30
+ (previousToken?.popular && !currentToken.popular);
31
+ if (isCategoryChanged) {
33
32
  size += 32;
34
33
  }
35
34
  return size;
@@ -48,11 +47,34 @@ export const VirtualizedTokenList = ({ tokens, featuredTokensLength, scrollEleme
48
47
  _jsx(TokenListItemSkeleton, {}, index))) }));
49
48
  }
50
49
  return (_jsx(List, { style: { height: getTotalSize() }, disablePadding: true, children: getVirtualItems().map((item) => {
51
- const token = tokens[item.index];
52
- return (_jsx(TokenListItem, { onClick: onClick, size: item.size, start: item.start, token: token, chain: chain, isBalanceLoading: isBalanceLoading, showBalance: account.isConnected, startAdornment: hasFeaturedTokens && token.featured && item.index === 0 ? (_jsx(Typography, { fontSize: 14, fontWeight: 600, lineHeight: 1, px: 2, pb: 1.25, children: t('main.featuredTokens') })) : null, endAdornment: hasFeaturedTokens &&
53
- token.featured &&
54
- item.index === featuredTokensLastIndex &&
55
- item.index !== tokensLastIndex ? (_jsx(Typography, { fontSize: 14, fontWeight: 600, lineHeight: 1, px: 2, py: 1.25, children: t('main.otherTokens') })) : null }, item.key));
50
+ const currentToken = tokens[item.index];
51
+ const previousToken = tokens[item.index - 1];
52
+ const isFirstFeaturedToken = currentToken.featured && item.index === 0;
53
+ const isTransitionFromFeaturedTokens = previousToken?.featured && !currentToken.featured;
54
+ const isTransitionFromMyTokens = previousToken?.amount && !currentToken.amount;
55
+ const isTransitionToMyTokens = isTransitionFromFeaturedTokens && currentToken.amount;
56
+ const isTransitionToPopularTokens = (isTransitionFromFeaturedTokens || isTransitionFromMyTokens) &&
57
+ currentToken.popular;
58
+ const shouldShowAllTokensCategory = (isTransitionFromMyTokens ||
59
+ isTransitionFromFeaturedTokens ||
60
+ (previousToken?.popular && !currentToken.popular)) &&
61
+ showCategories;
62
+ const startAdornmentLabel = (() => {
63
+ if (isFirstFeaturedToken) {
64
+ return t('main.featuredTokens');
65
+ }
66
+ if (isTransitionToMyTokens) {
67
+ return t('main.myTokens');
68
+ }
69
+ if (isTransitionToPopularTokens) {
70
+ return t('main.popularTokens');
71
+ }
72
+ if (shouldShowAllTokensCategory) {
73
+ return t('main.allTokens');
74
+ }
75
+ return null;
76
+ })();
77
+ return (_jsx(TokenListItem, { onClick: onClick, size: item.size, start: item.start, token: currentToken, chain: chain, isBalanceLoading: isBalanceLoading, showBalance: account.isConnected, startAdornment: startAdornmentLabel ? (_jsx(Typography, { fontSize: 14, fontWeight: 600, lineHeight: "16px", px: 1.5, pt: isFirstFeaturedToken ? 0 : 1, pb: 1, children: startAdornmentLabel })) : null }, item.key));
56
78
  }) }));
57
79
  };
58
80
  //# sourceMappingURL=VirtualizedTokenList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedTokenList.js","sourceRoot":"","sources":["../../../components/TokenList/VirtualizedTokenList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualizedTokenList.js","sourceRoot":"","sources":["../../../components/TokenList/VirtualizedTokenList.tsx"],"names":[],"mappings":"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"}
@@ -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.22";
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.22';
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"}
@@ -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) {