@broxus/evm-connect 1.7.8 → 1.8.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/dist/cjs/components/EvmProvidersDispatcher/ProviderButton/index.js +11 -2
- package/dist/cjs/services/EvmWalletService.d.ts +3 -1
- package/dist/cjs/services/EvmWalletService.js +17 -5
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/types.d.ts +1 -0
- package/dist/esm/components/EvmProvidersDispatcher/ProviderButton/index.js +12 -3
- package/dist/esm/services/EvmWalletService.d.ts +3 -1
- package/dist/esm/services/EvmWalletService.js +17 -5
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types.d.ts +1 -0
- package/package.json +4 -4
|
@@ -64,6 +64,15 @@ exports.ProviderButton = (0, mobx_react_lite_1.observer)((props) => {
|
|
|
64
64
|
if (hasProvider === undefined) {
|
|
65
65
|
return (React.createElement(react_uikit_1.Button, { className: "evm-connect-provider-button", disabled: true }, intl.formatMessage(intl_1.default.EVM_CONNECT_INITIALIZING_HINT)));
|
|
66
66
|
}
|
|
67
|
+
const ua = (0, js_utils_1.getUserAgent)();
|
|
68
|
+
const universalLink = providerConfig.info.links?.universalLink;
|
|
69
|
+
if ((0, js_utils_1.isMobile)(ua) && !hasProvider && universalLink) {
|
|
70
|
+
return (React.createElement(react_uikit_1.Button, { className: "tvm-connect-provider-button", href: universalLink, rel: "noopener noreferrer" },
|
|
71
|
+
React.createElement("span", { className: "tvm-connect-provider-icon" }, typeof providerConfig.info.icon === 'string' ? (React.createElement(react_components_1.TokenIcon, { iconUrl: providerConfig.info.icon, size: 28 })) : providerConfig.info.icon),
|
|
72
|
+
React.createElement("span", { className: "tvm-connect-provider-title" },
|
|
73
|
+
providerConfig.info.name,
|
|
74
|
+
providerConfig.info.description && (React.createElement(react_uikit_1.Text, { className: "tvm-connect-provider-subtitle", color: "muted", component: "div", size: "xsmall", wrap: "truncate" }, providerConfig.info.description)))));
|
|
75
|
+
}
|
|
67
76
|
if (!hasProvider) {
|
|
68
77
|
const [platform = 'UNKNOWN', uri] = (0, utils_1.getEvmProviderPlatformLink)({ ...providerConfig.info.links }) ?? [];
|
|
69
78
|
let text;
|
|
@@ -74,7 +83,7 @@ exports.ProviderButton = (0, mobx_react_lite_1.observer)((props) => {
|
|
|
74
83
|
}
|
|
75
84
|
catch { }
|
|
76
85
|
return (React.createElement(react_uikit_1.Button, { className: "evm-connect-provider-button", href: uri, rel: "noopener noreferrer", target: "_blank" },
|
|
77
|
-
React.createElement("span", { className: "evm-connect-provider-icon" }, typeof providerConfig.info.icon === 'string' ? (React.createElement(react_components_1.TokenIcon, { iconUrl: providerConfig.info.icon, size: 28 })) :
|
|
86
|
+
React.createElement("span", { className: "evm-connect-provider-icon" }, typeof providerConfig.info.icon === 'string' ? (React.createElement(react_components_1.TokenIcon, { iconUrl: providerConfig.info.icon, size: 28 })) : providerConfig.info.icon),
|
|
78
87
|
React.createElement("span", { className: "evm-connect-provider-title" },
|
|
79
88
|
intl.formatMessage(intl_1.default.EVM_CONNECT_INSTALL_PROVIDER, {
|
|
80
89
|
providerName: providerConfig.info.name ?? '',
|
|
@@ -84,7 +93,7 @@ exports.ProviderButton = (0, mobx_react_lite_1.observer)((props) => {
|
|
|
84
93
|
const isConnected = walletService.isConnected && walletService.providerId === providerConfig.id;
|
|
85
94
|
const isConnecting = walletService.isConnecting && walletProviders.connectingProvider?.id === providerConfig.id;
|
|
86
95
|
return (React.createElement(react_uikit_1.Button, { className: "evm-connect-provider-button", disabled: isConnected || isConnecting, onClick: onSelect },
|
|
87
|
-
React.createElement("span", { className: "evm-connect-provider-icon" }, typeof providerConfig.info.icon === 'string' ? (React.createElement(react_components_1.TokenIcon, { iconUrl: providerConfig.info.icon, size: 28 })) :
|
|
96
|
+
React.createElement("span", { className: "evm-connect-provider-icon" }, typeof providerConfig.info.icon === 'string' ? (React.createElement(react_components_1.TokenIcon, { iconUrl: providerConfig.info.icon, size: 28 })) : providerConfig.info.icon),
|
|
88
97
|
React.createElement("span", { className: "evm-connect-provider-title" },
|
|
89
98
|
providerConfig.info.name,
|
|
90
99
|
providerConfig.info.description && (React.createElement(react_uikit_1.Text, { className: "evm-connect-provider-subtitle", color: "muted", component: "div", size: "xsmall", wrap: "truncate" }, providerConfig.info.description))),
|
|
@@ -4,6 +4,7 @@ import Web3 from 'web3';
|
|
|
4
4
|
import { type EthereumConnector } from '../core';
|
|
5
5
|
import { type AddEthereumChainParams, type EvmNetworkConfig, type EvmWalletProviderConfig, type WatchAssetParameters } from '../types';
|
|
6
6
|
export interface EvmWalletServiceCtorParams {
|
|
7
|
+
autoInit?: boolean;
|
|
7
8
|
defaultNetworkId?: number;
|
|
8
9
|
/**
|
|
9
10
|
* List of supported networks
|
|
@@ -31,6 +32,7 @@ export declare class EvmWalletService extends AbstractStore<EvmWalletServiceData
|
|
|
31
32
|
* @returns {EthereumConnector|undefined}
|
|
32
33
|
*/
|
|
33
34
|
get connector(): EthereumConnector | undefined;
|
|
35
|
+
init(): Promise<void>;
|
|
34
36
|
/**
|
|
35
37
|
* Manually connect to the wallet
|
|
36
38
|
* @returns {Promise<void>}
|
|
@@ -170,7 +172,7 @@ export declare class EvmWalletService extends AbstractStore<EvmWalletServiceData
|
|
|
170
172
|
* Trying to resolve EVM Wallet connection
|
|
171
173
|
* @protected
|
|
172
174
|
*/
|
|
173
|
-
protected
|
|
175
|
+
protected _init(): Promise<void>;
|
|
174
176
|
protected accountDisposer: IReactionDisposer | undefined;
|
|
175
177
|
protected networkDisposer: IReactionDisposer | undefined;
|
|
176
178
|
}
|
|
@@ -31,9 +31,12 @@ class EvmWalletService extends js_core_1.AbstractStore {
|
|
|
31
31
|
providerId: params?.providerId,
|
|
32
32
|
}));
|
|
33
33
|
(0, mobx_1.makeObservable)(this);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
const autoInit = params?.autoInit ?? true;
|
|
35
|
+
if (autoInit) {
|
|
36
|
+
this._init().catch(reason => {
|
|
37
|
+
(0, js_utils_1.error)('Wallet init failed with an error', reason);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
37
40
|
}
|
|
38
41
|
/**
|
|
39
42
|
* Define current provider connector
|
|
@@ -42,6 +45,9 @@ class EvmWalletService extends js_core_1.AbstractStore {
|
|
|
42
45
|
get connector() {
|
|
43
46
|
return this.providers?.find(config => config.id === this.providerId)?.connector;
|
|
44
47
|
}
|
|
48
|
+
async init() {
|
|
49
|
+
await this._init();
|
|
50
|
+
}
|
|
45
51
|
/**
|
|
46
52
|
* Manually connect to the wallet
|
|
47
53
|
* @returns {Promise<void>}
|
|
@@ -289,7 +295,7 @@ class EvmWalletService extends js_core_1.AbstractStore {
|
|
|
289
295
|
* Trying to resolve EVM Wallet connection
|
|
290
296
|
* @protected
|
|
291
297
|
*/
|
|
292
|
-
async
|
|
298
|
+
async _init() {
|
|
293
299
|
this.accountDisposer = (0, mobx_1.reaction)(() => this.address, async (address, prevAddress) => {
|
|
294
300
|
if (address?.toLowerCase() !== prevAddress?.toLowerCase()) {
|
|
295
301
|
this.setState('isSyncing', undefined);
|
|
@@ -317,6 +323,12 @@ __decorate([
|
|
|
317
323
|
__metadata("design:type", Object),
|
|
318
324
|
__metadata("design:paramtypes", [])
|
|
319
325
|
], EvmWalletService.prototype, "connector", null);
|
|
326
|
+
__decorate([
|
|
327
|
+
mobx_1.action.bound,
|
|
328
|
+
__metadata("design:type", Function),
|
|
329
|
+
__metadata("design:paramtypes", []),
|
|
330
|
+
__metadata("design:returntype", Promise)
|
|
331
|
+
], EvmWalletService.prototype, "init", null);
|
|
320
332
|
__decorate([
|
|
321
333
|
mobx_1.action.bound,
|
|
322
334
|
__metadata("design:type", Function),
|
|
@@ -458,4 +470,4 @@ __decorate([
|
|
|
458
470
|
__metadata("design:type", Function),
|
|
459
471
|
__metadata("design:paramtypes", []),
|
|
460
472
|
__metadata("design:returntype", Promise)
|
|
461
|
-
], EvmWalletService.prototype, "
|
|
473
|
+
], EvmWalletService.prototype, "_init", null);
|