@lifi/widget 2.0.0-beta.0 → 2.0.0-beta.1
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/ChainSelect/ChainSelect.d.ts +1 -0
- package/cjs/components/GasMessage/FundsSufficiencyMessage.d.ts +1 -0
- package/cjs/components/Step/CircularProgress.d.ts +1 -0
- package/cjs/components/Step/StepList.d.ts +1 -0
- package/cjs/components/SwapInput/SwapInputEndAdornment.d.ts +1 -0
- package/cjs/components/SwapRoutes/SwapRoutesExpanded.d.ts +1 -0
- package/cjs/config/version.d.ts +1 -1
- package/cjs/config/version.js +1 -1
- package/cjs/i18n/pt.json +8 -5
- package/cjs/i18n/uk.json +3 -3
- package/cjs/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +1 -0
- package/cjs/pages/SelectTokenPage/SearchTokenInput.d.ts +1 -0
- package/cjs/pages/SelectWalletPage/SelectWalletPage.d.ts +1 -0
- package/cjs/pages/SelectWalletPage/SelectWalletPage.js +5 -5
- package/cjs/pages/SettingsPage/GasPriceSelect.d.ts +1 -0
- package/cjs/pages/SettingsPage/SettingsPage.d.ts +1 -0
- package/cjs/pages/SettingsPage/ShowDestinationWallet.d.ts +1 -0
- package/cjs/pages/SettingsPage/SlippageInput.d.ts +1 -0
- package/cjs/providers/WalletProvider/WalletProvider.js +72 -28
- package/cjs/providers/WalletProvider/index.d.ts +1 -1
- package/cjs/providers/WalletProvider/index.js +1 -1
- package/cjs/providers/WalletProvider/types.d.ts +1 -1
- package/components/ChainSelect/ChainSelect.d.ts +1 -0
- package/components/GasMessage/FundsSufficiencyMessage.d.ts +1 -0
- package/components/Step/CircularProgress.d.ts +1 -0
- package/components/Step/StepList.d.ts +1 -0
- package/components/SwapInput/SwapInputEndAdornment.d.ts +1 -0
- package/components/SwapRoutes/SwapRoutesExpanded.d.ts +1 -0
- package/config/version.d.ts +1 -1
- package/config/version.js +1 -1
- package/i18n/pt.json +8 -5
- package/i18n/uk.json +3 -3
- package/package.json +2 -2
- package/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +1 -0
- package/pages/SelectTokenPage/SearchTokenInput.d.ts +1 -0
- package/pages/SelectWalletPage/SelectWalletPage.d.ts +1 -0
- package/pages/SelectWalletPage/SelectWalletPage.js +5 -5
- package/pages/SettingsPage/GasPriceSelect.d.ts +1 -0
- package/pages/SettingsPage/SettingsPage.d.ts +1 -0
- package/pages/SettingsPage/ShowDestinationWallet.d.ts +1 -0
- package/pages/SettingsPage/SlippageInput.d.ts +1 -0
- package/providers/WalletProvider/WalletProvider.js +73 -29
- package/providers/WalletProvider/index.d.ts +1 -1
- package/providers/WalletProvider/index.js +1 -1
- package/providers/WalletProvider/types.d.ts +1 -1
- package/tsconfig.cjs.tsbuildinfo +1 -1
package/cjs/config/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/widget";
|
|
2
|
-
export declare const version = "2.0.0-beta.
|
|
2
|
+
export declare const version = "2.0.0-beta.1";
|
package/cjs/config/version.js
CHANGED
package/cjs/i18n/pt.json
CHANGED
|
@@ -184,11 +184,13 @@
|
|
|
184
184
|
"swapStepDetails": "Converter na {{chain}} via {{tool}}",
|
|
185
185
|
"swapping": "Convertendo",
|
|
186
186
|
"tags": {
|
|
187
|
-
"
|
|
188
|
-
"
|
|
189
|
-
"
|
|
190
|
-
"
|
|
191
|
-
"
|
|
187
|
+
"cheapest": "Barato",
|
|
188
|
+
"fastest": "Rápido",
|
|
189
|
+
"insurable": "Assegurável",
|
|
190
|
+
"insurance": "Seguro",
|
|
191
|
+
"insured": "Segurado",
|
|
192
|
+
"recommended": "Recomendado",
|
|
193
|
+
"safest": "Seguro"
|
|
192
194
|
},
|
|
193
195
|
"to": "Para",
|
|
194
196
|
"tokenOnChain": "{{tokenSymbol}} na {{chainName}}",
|
|
@@ -218,6 +220,7 @@
|
|
|
218
220
|
}
|
|
219
221
|
},
|
|
220
222
|
"tooltip": {
|
|
223
|
+
"additionalProviderFee": "Pontes adicionais, DEXes e taxas de serviço.",
|
|
221
224
|
"estimatedNetworkFee": "Taxa de rede estimada.",
|
|
222
225
|
"estimatedTime": "Tempo de execução da conversão estimado em minutos.",
|
|
223
226
|
"notFound": {
|
package/cjs/i18n/uk.json
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"from": "Своп з",
|
|
42
42
|
"gas": "Газ",
|
|
43
43
|
"gasSwap": "Своп газу",
|
|
44
|
-
"routes": "Ви
|
|
44
|
+
"routes": "Ви отримаєте",
|
|
45
45
|
"selectChain": "Оберіть чейн",
|
|
46
46
|
"selectWallet": "Виберіть свій гаманець",
|
|
47
47
|
"settings": "Налаштування",
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
"rateChange": "Зміна курсу",
|
|
158
158
|
"receiving": "Отримання",
|
|
159
159
|
"refuelStepDetails": "Отримати газ через {{tool}}",
|
|
160
|
-
"routes": "Ви
|
|
160
|
+
"routes": "Ви отримаєте",
|
|
161
161
|
"selectChain": "Чейн",
|
|
162
162
|
"selectChainAndToken": "Виберіть чейн і токен",
|
|
163
163
|
"selectToken": "Токен",
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
"tags": {
|
|
187
187
|
"cheapest": "Дешевий",
|
|
188
188
|
"fastest": "Швидкий",
|
|
189
|
-
"insurable": "
|
|
189
|
+
"insurable": "Страховка",
|
|
190
190
|
"insurance": "Страхування",
|
|
191
191
|
"insured": "Застрахований",
|
|
192
192
|
"recommended": "Рекомендований",
|
|
@@ -16,6 +16,9 @@ const SelectWalletPage = () => {
|
|
|
16
16
|
const { navigateBack } = (0, hooks_1.useNavigateBack)();
|
|
17
17
|
const { connect } = (0, providers_1.useWallet)();
|
|
18
18
|
const [walletIdentity, setWalletIdentity] = (0, react_1.useState)({ show: false });
|
|
19
|
+
// separate into installed and not installed wallets
|
|
20
|
+
const installedWallets = wallet_management_1.supportedWallets.filter((wallet) => wallet.installed());
|
|
21
|
+
const notInstalledWallets = wallet_management_1.supportedWallets.filter((wallet) => !wallet.installed() && wallet.name !== 'Default Wallet');
|
|
19
22
|
const closeDialog = () => {
|
|
20
23
|
setWalletIdentity((state) => ({
|
|
21
24
|
...state,
|
|
@@ -23,10 +26,7 @@ const SelectWalletPage = () => {
|
|
|
23
26
|
}));
|
|
24
27
|
};
|
|
25
28
|
const handleConnect = (0, react_1.useCallback)(async (wallet) => {
|
|
26
|
-
const
|
|
27
|
-
const identityCheckPassed = wallet.checkProviderIdentity({
|
|
28
|
-
provider: ethereum,
|
|
29
|
-
});
|
|
29
|
+
const identityCheckPassed = wallet.installed();
|
|
30
30
|
if (!identityCheckPassed) {
|
|
31
31
|
setWalletIdentity({
|
|
32
32
|
show: true,
|
|
@@ -40,7 +40,7 @@ const SelectWalletPage = () => {
|
|
|
40
40
|
return ((0, jsx_runtime_1.jsxs)(material_1.Container, { disableGutters: true, children: [(0, jsx_runtime_1.jsx)(material_1.List, { sx: {
|
|
41
41
|
paddingLeft: 1.5,
|
|
42
42
|
paddingRight: 1.5,
|
|
43
|
-
}, children:
|
|
43
|
+
}, children: [...installedWallets, ...notInstalledWallets].map((wallet) => ((0, jsx_runtime_1.jsxs)(ListItemButton_1.ListItemButton, { onClick: () => handleConnect(wallet), children: [(0, jsx_runtime_1.jsx)(material_1.ListItemAvatar, { children: (0, jsx_runtime_1.jsx)(material_1.Avatar, { src: wallet.icon.src || wallet.icon, alt: wallet.name, children: wallet.name[0] }) }), (0, jsx_runtime_1.jsx)(ListItemText_1.ListItemText, { primary: wallet.name })] }, wallet.name))) }), (0, jsx_runtime_1.jsxs)(Dialog_1.Dialog, { open: walletIdentity.show, onClose: closeDialog, children: [(0, jsx_runtime_1.jsx)(material_1.DialogContent, { children: (0, jsx_runtime_1.jsx)(material_1.DialogContentText, { children: t('wallet.extensionNotFound', {
|
|
44
44
|
name: walletIdentity.wallet?.name,
|
|
45
45
|
}) }) }), (0, jsx_runtime_1.jsx)(material_1.DialogActions, { children: (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", onClick: closeDialog, autoFocus: true, children: t('button.ok') }) })] })] }));
|
|
46
46
|
};
|
|
@@ -5,6 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const wallet_management_1 = require("@lifi/wallet-management");
|
|
6
6
|
const react_1 = require("react");
|
|
7
7
|
const WidgetProvider_1 = require("../WidgetProvider");
|
|
8
|
+
const liFiWalletManagement = new wallet_management_1.LiFiWalletManagement();
|
|
8
9
|
const stub = () => {
|
|
9
10
|
throw new Error(`You forgot to wrap your component in <${exports.WalletProvider.name}>.`);
|
|
10
11
|
};
|
|
@@ -21,8 +22,26 @@ const useWallet = () => (0, react_1.useContext)(WalletContext);
|
|
|
21
22
|
exports.useWallet = useWallet;
|
|
22
23
|
const WalletProvider = ({ children }) => {
|
|
23
24
|
const { walletManagement } = (0, WidgetProvider_1.useWidgetConfig)();
|
|
24
|
-
const { connect: walletManagementConnect, disconnect: walletManagementDisconnect, signer, provider, } = (0, wallet_management_1.useLiFiWalletManagement)();
|
|
25
25
|
const [account, setAccount] = (0, react_1.useState)({});
|
|
26
|
+
const [currentWallet, setCurrentWallet] = (0, react_1.useState)();
|
|
27
|
+
(0, react_1.useEffect)(() => {
|
|
28
|
+
const autoConnect = async () => {
|
|
29
|
+
const persistedActiveWallets = (0, wallet_management_1.readActiveWallets)();
|
|
30
|
+
const activeWallets = wallet_management_1.supportedWallets.filter((wallet) => persistedActiveWallets.some((perstistedWallet) => perstistedWallet.name === wallet.name));
|
|
31
|
+
if (!activeWallets.length) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
await liFiWalletManagement.autoConnect(activeWallets);
|
|
35
|
+
activeWallets[0].on('walletAccountChanged', handleWalletUpdate);
|
|
36
|
+
handleWalletUpdate(activeWallets[0]);
|
|
37
|
+
};
|
|
38
|
+
autoConnect();
|
|
39
|
+
}, []);
|
|
40
|
+
const handleWalletUpdate = async (wallet) => {
|
|
41
|
+
setCurrentWallet(wallet);
|
|
42
|
+
const account = await (0, exports.extractAccountFromSigner)(wallet?.account?.signer);
|
|
43
|
+
setAccount(account);
|
|
44
|
+
};
|
|
26
45
|
const connect = (0, react_1.useCallback)(async (wallet) => {
|
|
27
46
|
if (walletManagement) {
|
|
28
47
|
const signer = await walletManagement.connect();
|
|
@@ -30,17 +49,22 @@ const WalletProvider = ({ children }) => {
|
|
|
30
49
|
setAccount(account);
|
|
31
50
|
return;
|
|
32
51
|
}
|
|
33
|
-
await
|
|
34
|
-
|
|
52
|
+
await liFiWalletManagement.connect(wallet);
|
|
53
|
+
wallet.on('walletAccountChanged', handleWalletUpdate);
|
|
54
|
+
handleWalletUpdate(wallet);
|
|
55
|
+
}, [walletManagement]);
|
|
35
56
|
const disconnect = (0, react_1.useCallback)(async () => {
|
|
36
57
|
if (walletManagement) {
|
|
37
58
|
await walletManagement.disconnect();
|
|
38
59
|
setAccount({});
|
|
39
60
|
return;
|
|
40
61
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
62
|
+
if (currentWallet) {
|
|
63
|
+
await liFiWalletManagement.disconnect(currentWallet);
|
|
64
|
+
currentWallet.removeAllListeners();
|
|
65
|
+
handleWalletUpdate(undefined);
|
|
66
|
+
}
|
|
67
|
+
}, [walletManagement, currentWallet]);
|
|
44
68
|
const switchChain = (0, react_1.useCallback)(async (chainId) => {
|
|
45
69
|
if (walletManagement?.switchChain) {
|
|
46
70
|
const signer = await walletManagement.switchChain(chainId);
|
|
@@ -48,34 +72,46 @@ const WalletProvider = ({ children }) => {
|
|
|
48
72
|
setAccount(account);
|
|
49
73
|
return true;
|
|
50
74
|
}
|
|
51
|
-
|
|
52
|
-
|
|
75
|
+
try {
|
|
76
|
+
await currentWallet?.switchChain(chainId);
|
|
77
|
+
handleWalletUpdate(currentWallet);
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
}, [walletManagement, currentWallet]);
|
|
53
84
|
const addChain = (0, react_1.useCallback)(async (chainId) => {
|
|
54
85
|
if (walletManagement?.addChain) {
|
|
55
86
|
return walletManagement.addChain(chainId);
|
|
56
87
|
}
|
|
57
|
-
|
|
58
|
-
|
|
88
|
+
try {
|
|
89
|
+
await currentWallet?.addChain(chainId);
|
|
90
|
+
handleWalletUpdate(currentWallet);
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
}, [walletManagement, currentWallet]);
|
|
59
97
|
const addToken = (0, react_1.useCallback)(async (chainId, token) => {
|
|
60
98
|
if (walletManagement?.addToken) {
|
|
61
99
|
return walletManagement.addToken(token, chainId);
|
|
62
100
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
101
|
+
await currentWallet?.addToken(chainId, token);
|
|
102
|
+
handleWalletUpdate(currentWallet);
|
|
103
|
+
return;
|
|
104
|
+
}, [walletManagement, currentWallet]);
|
|
105
|
+
// keep widget in sync with changing external signer object
|
|
66
106
|
(0, react_1.useEffect)(() => {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
account
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
setAccount(account);
|
|
76
|
-
};
|
|
77
|
-
updateAccount();
|
|
78
|
-
}, [signer, walletManagement]);
|
|
107
|
+
if (walletManagement) {
|
|
108
|
+
const updateAccount = async () => {
|
|
109
|
+
const account = await (0, exports.extractAccountFromSigner)(walletManagement?.signer);
|
|
110
|
+
setAccount(account);
|
|
111
|
+
};
|
|
112
|
+
updateAccount();
|
|
113
|
+
}
|
|
114
|
+
}, [walletManagement, walletManagement?.signer]);
|
|
79
115
|
const value = (0, react_1.useMemo)(() => ({
|
|
80
116
|
connect,
|
|
81
117
|
disconnect,
|
|
@@ -83,8 +119,16 @@ const WalletProvider = ({ children }) => {
|
|
|
83
119
|
addChain,
|
|
84
120
|
addToken,
|
|
85
121
|
account,
|
|
86
|
-
provider,
|
|
87
|
-
}), [
|
|
122
|
+
provider: currentWallet?.account?.provider,
|
|
123
|
+
}), [
|
|
124
|
+
account,
|
|
125
|
+
addChain,
|
|
126
|
+
addToken,
|
|
127
|
+
connect,
|
|
128
|
+
disconnect,
|
|
129
|
+
currentWallet,
|
|
130
|
+
switchChain,
|
|
131
|
+
]);
|
|
88
132
|
return ((0, jsx_runtime_1.jsx)(WalletContext.Provider, { value: value, children: children }));
|
|
89
133
|
};
|
|
90
134
|
exports.WalletProvider = WalletProvider;
|
|
@@ -98,7 +142,7 @@ const extractAccountFromSigner = async (signer) => {
|
|
|
98
142
|
};
|
|
99
143
|
}
|
|
100
144
|
catch (error) {
|
|
101
|
-
console.
|
|
145
|
+
console.error(error);
|
|
102
146
|
return {};
|
|
103
147
|
}
|
|
104
148
|
};
|
|
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./types"), exports);
|
|
18
17
|
__exportStar(require("./WalletProvider"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
@@ -7,7 +7,7 @@ export interface WalletContextProps {
|
|
|
7
7
|
provider?: Provider;
|
|
8
8
|
addChain(chainId: number): Promise<boolean>;
|
|
9
9
|
addToken(chainId: number, token: Token): Promise<void>;
|
|
10
|
-
disconnect(): void;
|
|
10
|
+
disconnect(wallet?: Wallet): void;
|
|
11
11
|
switchChain(chainId: number): Promise<boolean>;
|
|
12
12
|
connect(wallet?: Wallet | undefined): Promise<void>;
|
|
13
13
|
}
|
package/config/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/widget";
|
|
2
|
-
export declare const version = "2.0.0-beta.
|
|
2
|
+
export declare const version = "2.0.0-beta.1";
|
package/config/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/widget';
|
|
2
|
-
export const version = '2.0.0-beta.
|
|
2
|
+
export const version = '2.0.0-beta.1';
|
package/i18n/pt.json
CHANGED
|
@@ -184,11 +184,13 @@
|
|
|
184
184
|
"swapStepDetails": "Converter na {{chain}} via {{tool}}",
|
|
185
185
|
"swapping": "Convertendo",
|
|
186
186
|
"tags": {
|
|
187
|
-
"
|
|
188
|
-
"
|
|
189
|
-
"
|
|
190
|
-
"
|
|
191
|
-
"
|
|
187
|
+
"cheapest": "Barato",
|
|
188
|
+
"fastest": "Rápido",
|
|
189
|
+
"insurable": "Assegurável",
|
|
190
|
+
"insurance": "Seguro",
|
|
191
|
+
"insured": "Segurado",
|
|
192
|
+
"recommended": "Recomendado",
|
|
193
|
+
"safest": "Seguro"
|
|
192
194
|
},
|
|
193
195
|
"to": "Para",
|
|
194
196
|
"tokenOnChain": "{{tokenSymbol}} na {{chainName}}",
|
|
@@ -218,6 +220,7 @@
|
|
|
218
220
|
}
|
|
219
221
|
},
|
|
220
222
|
"tooltip": {
|
|
223
|
+
"additionalProviderFee": "Pontes adicionais, DEXes e taxas de serviço.",
|
|
221
224
|
"estimatedNetworkFee": "Taxa de rede estimada.",
|
|
222
225
|
"estimatedTime": "Tempo de execução da conversão estimado em minutos.",
|
|
223
226
|
"notFound": {
|
package/i18n/uk.json
CHANGED
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"from": "Своп з",
|
|
42
42
|
"gas": "Газ",
|
|
43
43
|
"gasSwap": "Своп газу",
|
|
44
|
-
"routes": "Ви
|
|
44
|
+
"routes": "Ви отримаєте",
|
|
45
45
|
"selectChain": "Оберіть чейн",
|
|
46
46
|
"selectWallet": "Виберіть свій гаманець",
|
|
47
47
|
"settings": "Налаштування",
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
"rateChange": "Зміна курсу",
|
|
158
158
|
"receiving": "Отримання",
|
|
159
159
|
"refuelStepDetails": "Отримати газ через {{tool}}",
|
|
160
|
-
"routes": "Ви
|
|
160
|
+
"routes": "Ви отримаєте",
|
|
161
161
|
"selectChain": "Чейн",
|
|
162
162
|
"selectChainAndToken": "Виберіть чейн і токен",
|
|
163
163
|
"selectToken": "Токен",
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
"tags": {
|
|
187
187
|
"cheapest": "Дешевий",
|
|
188
188
|
"fastest": "Швидкий",
|
|
189
|
-
"insurable": "
|
|
189
|
+
"insurable": "Страховка",
|
|
190
190
|
"insurance": "Страхування",
|
|
191
191
|
"insured": "Застрахований",
|
|
192
192
|
"recommended": "Рекомендований",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/widget",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.1",
|
|
4
4
|
"description": "LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.",
|
|
5
5
|
"main": "./cjs/index.js",
|
|
6
6
|
"module": "./index.js",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@ethersproject/experimental": "^5.7.0",
|
|
45
45
|
"@ethersproject/providers": "^5.7.2",
|
|
46
46
|
"@lifi/sdk": "^2.0.0-beta.8",
|
|
47
|
-
"@lifi/wallet-management": "^
|
|
47
|
+
"@lifi/wallet-management": "^2.0.0-beta.0",
|
|
48
48
|
"@mui/icons-material": "^5.11.16",
|
|
49
49
|
"@mui/lab": "^5.0.0-alpha.127",
|
|
50
50
|
"@mui/material": "^5.12.1",
|
|
@@ -13,6 +13,9 @@ export const SelectWalletPage = () => {
|
|
|
13
13
|
const { navigateBack } = useNavigateBack();
|
|
14
14
|
const { connect } = useWallet();
|
|
15
15
|
const [walletIdentity, setWalletIdentity] = useState({ show: false });
|
|
16
|
+
// separate into installed and not installed wallets
|
|
17
|
+
const installedWallets = supportedWallets.filter((wallet) => wallet.installed());
|
|
18
|
+
const notInstalledWallets = supportedWallets.filter((wallet) => !wallet.installed() && wallet.name !== 'Default Wallet');
|
|
16
19
|
const closeDialog = () => {
|
|
17
20
|
setWalletIdentity((state) => ({
|
|
18
21
|
...state,
|
|
@@ -20,10 +23,7 @@ export const SelectWalletPage = () => {
|
|
|
20
23
|
}));
|
|
21
24
|
};
|
|
22
25
|
const handleConnect = useCallback(async (wallet) => {
|
|
23
|
-
const
|
|
24
|
-
const identityCheckPassed = wallet.checkProviderIdentity({
|
|
25
|
-
provider: ethereum,
|
|
26
|
-
});
|
|
26
|
+
const identityCheckPassed = wallet.installed();
|
|
27
27
|
if (!identityCheckPassed) {
|
|
28
28
|
setWalletIdentity({
|
|
29
29
|
show: true,
|
|
@@ -37,7 +37,7 @@ export const SelectWalletPage = () => {
|
|
|
37
37
|
return (_jsxs(Container, { disableGutters: true, children: [_jsx(List, { sx: {
|
|
38
38
|
paddingLeft: 1.5,
|
|
39
39
|
paddingRight: 1.5,
|
|
40
|
-
}, children:
|
|
40
|
+
}, children: [...installedWallets, ...notInstalledWallets].map((wallet) => (_jsxs(ListItemButton, { onClick: () => handleConnect(wallet), children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: wallet.icon.src || wallet.icon, alt: wallet.name, children: wallet.name[0] }) }), _jsx(ListItemText, { primary: wallet.name })] }, wallet.name))) }), _jsxs(Dialog, { open: walletIdentity.show, onClose: closeDialog, children: [_jsx(DialogContent, { children: _jsx(DialogContentText, { children: t('wallet.extensionNotFound', {
|
|
41
41
|
name: walletIdentity.wallet?.name,
|
|
42
42
|
}) }) }), _jsx(DialogActions, { children: _jsx(Button, { variant: "contained", onClick: closeDialog, autoFocus: true, children: t('button.ok') }) })] })] }));
|
|
43
43
|
};
|