@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.
- package/_cjs/components/AmountInput/AmountInputEndAdornment.js +11 -7
- package/_cjs/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
- package/_cjs/components/Routes/RoutesExpanded.js +1 -1
- package/_cjs/components/Routes/RoutesExpanded.js.map +1 -1
- package/_cjs/components/TokenList/TokenList.js +5 -2
- package/_cjs/components/TokenList/TokenList.js.map +1 -1
- package/_cjs/components/TokenList/VirtualizedTokenList.js +41 -19
- package/_cjs/components/TokenList/VirtualizedTokenList.js.map +1 -1
- package/_cjs/components/TokenList/types.d.ts +3 -2
- package/_cjs/config/version.d.ts +1 -1
- package/_cjs/config/version.js +1 -1
- package/_cjs/hooks/index.d.ts +0 -1
- package/_cjs/hooks/index.js +0 -1
- package/_cjs/hooks/index.js.map +1 -1
- package/_cjs/hooks/useDebouncedWatch.d.ts +1 -1
- package/_cjs/hooks/useRoutes.js +49 -25
- package/_cjs/hooks/useRoutes.js.map +1 -1
- package/_cjs/hooks/useSettingMonitor.js +8 -12
- package/_cjs/hooks/useSettingMonitor.js.map +1 -1
- package/_cjs/hooks/useToken.d.ts +1 -1
- package/_cjs/hooks/useTokenAddressBalance.d.ts +3 -2
- package/_cjs/hooks/useTokenAddressBalance.js.map +1 -1
- package/_cjs/hooks/useTokenBalances.d.ts +3 -2
- package/_cjs/hooks/useTokenBalances.js +33 -14
- package/_cjs/hooks/useTokenBalances.js.map +1 -1
- package/_cjs/hooks/useTokens.d.ts +3 -1
- package/_cjs/hooks/useTokens.js +44 -31
- package/_cjs/hooks/useTokens.js.map +1 -1
- package/_cjs/i18n/en.json +3 -1
- package/_cjs/pages/RoutesPage/RoutesPage.js +1 -1
- package/_cjs/pages/RoutesPage/RoutesPage.js.map +1 -1
- package/_cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +10 -27
- package/_cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js.map +1 -1
- package/_cjs/pages/SettingsPage/BridgeAndExchangeSettings.js +2 -2
- package/_cjs/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
- package/_cjs/stores/form/createFormStore.js +10 -6
- package/_cjs/stores/form/createFormStore.js.map +1 -1
- package/_cjs/stores/form/types.d.ts +3 -14
- package/_cjs/stores/form/types.js.map +1 -1
- package/_cjs/stores/form/useFieldController.d.ts +1 -1
- package/_cjs/stores/form/useFieldValues.d.ts +1 -1
- package/_cjs/stores/settings/types.d.ts +10 -9
- package/_cjs/stores/settings/types.js.map +1 -1
- package/_cjs/stores/settings/useSettingsStore.js +40 -30
- package/_cjs/stores/settings/useSettingsStore.js.map +1 -1
- package/_cjs/types/token.d.ts +1 -0
- package/_cjs/types/widget.d.ts +1 -0
- package/_esm/components/AmountInput/AmountInputEndAdornment.js +11 -7
- package/_esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
- package/_esm/components/Routes/RoutesExpanded.js +1 -1
- package/_esm/components/Routes/RoutesExpanded.js.map +1 -1
- package/_esm/components/TokenList/TokenList.js +6 -3
- package/_esm/components/TokenList/TokenList.js.map +1 -1
- package/_esm/components/TokenList/VirtualizedTokenList.js +41 -19
- package/_esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
- package/_esm/components/TokenList/types.d.ts +3 -2
- package/_esm/config/version.d.ts +1 -1
- package/_esm/config/version.js +1 -1
- package/_esm/hooks/index.d.ts +0 -1
- package/_esm/hooks/index.js +0 -1
- package/_esm/hooks/index.js.map +1 -1
- package/_esm/hooks/useDebouncedWatch.d.ts +1 -1
- package/_esm/hooks/useRoutes.js +49 -25
- package/_esm/hooks/useRoutes.js.map +1 -1
- package/_esm/hooks/useSettingMonitor.js +8 -12
- package/_esm/hooks/useSettingMonitor.js.map +1 -1
- package/_esm/hooks/useToken.d.ts +1 -1
- package/_esm/hooks/useTokenAddressBalance.d.ts +3 -2
- package/_esm/hooks/useTokenAddressBalance.js.map +1 -1
- package/_esm/hooks/useTokenBalances.d.ts +3 -2
- package/_esm/hooks/useTokenBalances.js +33 -14
- package/_esm/hooks/useTokenBalances.js.map +1 -1
- package/_esm/hooks/useTokens.d.ts +3 -1
- package/_esm/hooks/useTokens.js +44 -31
- package/_esm/hooks/useTokens.js.map +1 -1
- package/_esm/i18n/en.json +3 -1
- package/_esm/pages/RoutesPage/RoutesPage.js +1 -1
- package/_esm/pages/RoutesPage/RoutesPage.js.map +1 -1
- package/_esm/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +10 -27
- package/_esm/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js.map +1 -1
- package/_esm/pages/SettingsPage/BridgeAndExchangeSettings.js +2 -2
- package/_esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
- package/_esm/stores/form/createFormStore.js +10 -6
- package/_esm/stores/form/createFormStore.js.map +1 -1
- package/_esm/stores/form/types.d.ts +3 -14
- package/_esm/stores/form/types.js.map +1 -1
- package/_esm/stores/form/useFieldController.d.ts +1 -1
- package/_esm/stores/form/useFieldValues.d.ts +1 -1
- package/_esm/stores/settings/types.d.ts +10 -9
- package/_esm/stores/settings/types.js.map +1 -1
- package/_esm/stores/settings/useSettingsStore.js +40 -30
- package/_esm/stores/settings/useSettingsStore.js.map +1 -1
- package/_esm/types/token.d.ts +1 -0
- package/_esm/types/widget.d.ts +1 -0
- package/components/AmountInput/AmountInputEndAdornment.tsx +15 -12
- package/components/Routes/RoutesExpanded.tsx +1 -1
- package/components/TokenList/TokenList.tsx +8 -2
- package/components/TokenList/VirtualizedTokenList.tsx +63 -41
- package/components/TokenList/types.ts +3 -2
- package/config/version.ts +1 -1
- package/hooks/index.ts +0 -1
- package/hooks/useRoutes.ts +58 -31
- package/hooks/useSettingMonitor.ts +20 -21
- package/hooks/useTokenAddressBalance.ts +2 -1
- package/hooks/useTokenBalances.ts +34 -29
- package/hooks/useTokens.ts +65 -36
- package/i18n/en.json +3 -1
- package/package.json +6 -6
- package/pages/RoutesPage/RoutesPage.tsx +1 -1
- package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.tsx +16 -35
- package/pages/SettingsPage/BridgeAndExchangeSettings.tsx +2 -2
- package/stores/form/createFormStore.ts +15 -15
- package/stores/form/types.ts +3 -14
- package/stores/settings/types.ts +10 -13
- package/stores/settings/useSettingsStore.ts +51 -53
- package/types/token.ts +1 -0
- package/types/widget.ts +1 -0
- package/_cjs/hooks/useFeaturedTokens.d.ts +0 -1
- package/_cjs/hooks/useFeaturedTokens.js +0 -11
- package/_cjs/hooks/useFeaturedTokens.js.map +0 -1
- package/_esm/hooks/useFeaturedTokens.d.ts +0 -1
- package/_esm/hooks/useFeaturedTokens.js +0 -7
- package/_esm/hooks/useFeaturedTokens.js.map +0 -1
- 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
|
-
|
|
19
|
-
|
|
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 (
|
|
43
|
+
if (!reset) {
|
|
42
44
|
// Add new tools
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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[`
|
|
51
|
+
updatedState[`enabled${toolType}`] = Object.fromEntries(Object.entries(updatedState[`enabled${toolType}`]).filter(([key]) => tools.includes(key)));
|
|
51
52
|
}
|
|
52
53
|
else {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}, {});
|
|
54
|
+
tools.forEach((tool) => {
|
|
55
|
+
updatedState[`enabled${toolType}`][tool] = true;
|
|
56
|
+
});
|
|
57
57
|
}
|
|
58
|
-
updatedState[`
|
|
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
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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:
|
|
94
|
+
version: 3,
|
|
83
95
|
partialize: (state) => {
|
|
84
|
-
const {
|
|
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[`
|
|
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":";;;AACA,mDAA6C;AAC7C,qDAA2D;AAG3D,mCAA4C;AAE/B,QAAA,eAAe,GAAG,KAAK,CAAC;AAExB,QAAA,2BAA2B,GAGpC;IACF,aAAa,EAAE,aAAa;IAC5B,QAAQ,EAAE,uBAAe;IACzB,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEW,QAAA,eAAe,GAAkB;IAC5C,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,QAAQ;IAClB,iBAAiB,EAAE,IAAI;IACvB,qBAAqB,EAAE,IAAI;IAC3B,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;CACrB,CAAC;AAEW,QAAA,gBAAgB,GAAG,IAAA,kCAAoB,EAClD,IAAA,oBAAO,EACL,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACb,GAAG,uBAAe;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CACvB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACT,CAAC,GAAG,CAAC,EAAE,KAAK;KACb,CAAC,CAAC;IACL,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CACpB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACZ,MAAM,YAAY,GAAkB,EAAE,GAAG,KAAK,EAAE,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC9B,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;IACJ,eAAe,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACZ,MAAM,YAAY,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAClC,IAAI,
|
|
1
|
+
{"version":3,"file":"useSettingsStore.js","sourceRoot":"","sources":["../../../stores/settings/useSettingsStore.ts"],"names":[],"mappings":"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"}
|
package/_cjs/types/token.d.ts
CHANGED
package/_cjs/types/widget.d.ts
CHANGED
|
@@ -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
|
|
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 (
|
|
26
|
-
maxAmount =
|
|
27
|
+
if (token.amount > recommendedAmount) {
|
|
28
|
+
maxAmount = token.amount - recommendedAmount;
|
|
27
29
|
}
|
|
28
30
|
}
|
|
29
|
-
|
|
30
|
-
|
|
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,
|
|
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 },
|
|
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 {
|
|
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
|
-
|
|
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":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,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;
|
|
1
|
+
{"version":3,"file":"TokenList.js","sourceRoot":"","sources":["../../../components/TokenList/TokenList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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 = ({
|
|
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
|
-
//
|
|
15
|
+
// Base size for TokenListItem
|
|
21
16
|
let size = 64;
|
|
22
|
-
if
|
|
17
|
+
// Early return if categories are not shown
|
|
18
|
+
if (!showCategories) {
|
|
23
19
|
return size;
|
|
24
20
|
}
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
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
|
-
|
|
19
|
+
showCategories?: boolean;
|
|
19
20
|
onClick(tokenAddress: string): void;
|
|
20
21
|
}
|
|
21
22
|
export interface TokenListItemBaseProps {
|
package/_esm/config/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/widget";
|
|
2
|
-
export declare const version = "3.0.0-alpha.
|
|
2
|
+
export declare const version = "3.0.0-alpha.23";
|
package/_esm/config/version.js
CHANGED
package/_esm/hooks/index.d.ts
CHANGED
|
@@ -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';
|
package/_esm/hooks/index.js
CHANGED
|
@@ -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';
|
package/_esm/hooks/index.js.map
CHANGED
|
@@ -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,
|
|
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").
|
|
1
|
+
export declare const useDebouncedWatch: <T extends (keyof import("../stores").DefaultValues)[]>(delay: number, ...name: T) => import("../stores").FormFieldArray<T>;
|
package/_esm/hooks/useRoutes.js
CHANGED
|
@@ -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 {
|
|
17
|
-
'
|
|
18
|
-
'
|
|
16
|
+
const { disabledBridges, disabledExchanges, enabledAutoRefuel, routePriority, slippage, } = useSettings([
|
|
17
|
+
'disabledBridges',
|
|
18
|
+
'disabledExchanges',
|
|
19
19
|
'enabledAutoRefuel',
|
|
20
|
-
'
|
|
21
|
-
'
|
|
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
|
|
75
|
-
|
|
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,
|
|
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 =
|
|
91
|
-
?
|
|
92
|
-
|
|
93
|
-
.
|
|
94
|
-
|
|
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
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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) {
|