@broxus/evm-connect 1.0.0 → 1.2.0
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/EvmConnectButton/index.js +3 -2
- package/dist/cjs/components/EvmConnectDialog/index.js +5 -5
- package/dist/cjs/components/EvmProvidersDispatcher/ConnectionRequest/index.js +12 -12
- package/dist/cjs/components/EvmProvidersDispatcher/index.js +2 -1
- package/dist/cjs/context/EvmWalletProvidersContext.d.ts +3 -4
- package/dist/cjs/context/EvmWalletProvidersContext.js +17 -16
- package/dist/cjs/context/EvmWalletServiceContext.d.ts +2 -1
- package/dist/cjs/context/EvmWalletServiceContext.js +4 -2
- package/dist/cjs/main.d.ts +1 -0
- package/dist/cjs/main.js +3 -0
- package/dist/cjs/services/EvmWalletService.d.ts +2 -2
- package/dist/cjs/services/EvmWalletService.js +9 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/cjs/types.d.ts +7 -0
- package/dist/esm/components/EvmConnectButton/index.js +4 -3
- package/dist/esm/components/EvmConnectDialog/index.js +5 -5
- package/dist/esm/components/EvmProvidersDispatcher/ConnectionRequest/index.js +12 -12
- package/dist/esm/components/EvmProvidersDispatcher/index.js +3 -2
- package/dist/esm/context/EvmWalletProvidersContext.d.ts +3 -4
- package/dist/esm/context/EvmWalletProvidersContext.js +17 -16
- package/dist/esm/context/EvmWalletServiceContext.d.ts +2 -1
- package/dist/esm/context/EvmWalletServiceContext.js +4 -2
- package/dist/esm/main.d.ts +1 -0
- package/dist/esm/main.js +1 -0
- package/dist/esm/services/EvmWalletService.d.ts +2 -2
- package/dist/esm/services/EvmWalletService.js +9 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/esm/types.d.ts +7 -0
- package/dist/style.min.css +1 -0
- package/package.json +9 -4
|
@@ -31,7 +31,8 @@ const EvmConnectDialog_1 = require("../../components/EvmConnectDialog");
|
|
|
31
31
|
const context_1 = require("../../context");
|
|
32
32
|
exports.EvmConnectButton = (0, mobx_react_lite_1.observer)((props) => {
|
|
33
33
|
const walletService = (0, context_1.useEvmWalletService)();
|
|
34
|
-
const
|
|
34
|
+
const walletProviders = React.useContext(context_1.EvmWalletProvidersContext);
|
|
35
|
+
const { children, className, disabled, popupClassName, popupType, shape, size, standalone, type = 'primary', onClose, onConnect, onOpen, } = props;
|
|
35
36
|
const [isModalShown, setModalVisibility] = React.useState(false);
|
|
36
37
|
const connect = React.useCallback(async () => {
|
|
37
38
|
setModalVisibility(false);
|
|
@@ -47,6 +48,6 @@ exports.EvmConnectButton = (0, mobx_react_lite_1.observer)((props) => {
|
|
|
47
48
|
}, [onOpen]);
|
|
48
49
|
return (React.createElement(React.Fragment, null,
|
|
49
50
|
React.createElement(react_uikit_1.Button, { "aria-disabled": walletService.isInitializing || walletService.isConnecting, disabled: disabled === undefined ? walletService.isInitializing || walletService.isConnecting : disabled, className: className, shape: shape, size: size, type: type, onClick: standalone ? connect : open }, children),
|
|
50
|
-
!standalone && (React.createElement(context_1.EvmWalletProvidersProvider, { agreementsNote: agreementsNote,
|
|
51
|
+
!standalone && (React.createElement(context_1.EvmWalletProvidersProvider, { agreementsNote: walletProviders?.agreementsNote, onConnect: close },
|
|
51
52
|
React.createElement(EvmConnectDialog_1.EvmConnectDialog, { className: popupClassName, open: isModalShown, type: popupType, onClose: close })))));
|
|
52
53
|
});
|
|
@@ -39,15 +39,15 @@ const intl_1 = __importDefault(require("../../intl"));
|
|
|
39
39
|
require("./index.css");
|
|
40
40
|
exports.EvmConnectDialog = (0, mobx_react_lite_1.observer)(({ className, open, type, onClose }) => {
|
|
41
41
|
const intl = (0, react_intl_1.useIntl)();
|
|
42
|
-
const
|
|
42
|
+
const walletProviders = (0, context_1.useEvmWalletProviders)();
|
|
43
43
|
const onClosed = () => {
|
|
44
|
-
reset();
|
|
44
|
+
walletProviders.reset();
|
|
45
45
|
};
|
|
46
46
|
const close = () => {
|
|
47
47
|
onClose?.();
|
|
48
48
|
};
|
|
49
49
|
if (type === 'drawer') {
|
|
50
|
-
return (React.createElement(react_uikit_1.Drawer, { className: className, destroyOnClose: true, keyboard: !connectingProvider, maskClosable: !connectingProvider, motion: {
|
|
50
|
+
return (React.createElement(react_uikit_1.Drawer, { className: className, destroyOnClose: true, keyboard: !walletProviders.connectingProvider, maskClosable: !walletProviders.connectingProvider, motion: {
|
|
51
51
|
motionLeave: true,
|
|
52
52
|
removeOnLeave: true,
|
|
53
53
|
// eslint-disable-next-line sort-keys
|
|
@@ -58,8 +58,8 @@ exports.EvmConnectDialog = (0, mobx_react_lite_1.observer)(({ className, open, t
|
|
|
58
58
|
React.createElement(react_uikit_1.Component, { className: "uk-drawer-title" }, intl.formatMessage(intl_1.default.EVM_CONNECT_DISPATCHER_POPUP_TITLE))),
|
|
59
59
|
React.createElement("div", { className: "uk-drawer-body" },
|
|
60
60
|
React.createElement(components_1.EvmProvidersDispatcher, null)),
|
|
61
|
-
React.createElement(react_uikit_1.Text, { align: "center", className: "uk-drawer-footer uk-margin-top", component: "footer", kind: "meta" }, agreementsNote || intl.formatMessage(intl_1.default.EVM_CONNECT_AGREEMENTS_NOTE))));
|
|
61
|
+
React.createElement(react_uikit_1.Text, { align: "center", className: "uk-drawer-footer uk-margin-top", component: "footer", kind: "meta" }, walletProviders.agreementsNote || intl.formatMessage(intl_1.default.EVM_CONNECT_AGREEMENTS_NOTE))));
|
|
62
62
|
}
|
|
63
|
-
return (React.createElement(react_uikit_1.Modal, { centered: true, className: (0, classnames_1.default)('evm-connect-modal', className), closeIcon: React.createElement(react_components_1.Close, { kind: "modal", ratio: 0.9, onClick: close }), destroyOnClose: true, footer: (React.createElement(react_uikit_1.Text, { align: "center", component: "div", kind: "meta" }, agreementsNote || intl.formatMessage(intl_1.default.EVM_CONNECT_AGREEMENTS_NOTE))), keyboard: !connectingProvider, maskClosable: !connectingProvider, title: intl.formatMessage(intl_1.default.EVM_CONNECT_DISPATCHER_POPUP_TITLE), visible: open, width: 380, onClose: close, onClosed: onClosed },
|
|
63
|
+
return (React.createElement(react_uikit_1.Modal, { centered: true, className: (0, classnames_1.default)('evm-connect-modal', className), closeIcon: React.createElement(react_components_1.Close, { kind: "modal", ratio: 0.9, onClick: close }), destroyOnClose: true, footer: (React.createElement(react_uikit_1.Text, { align: "center", component: "div", kind: "meta" }, walletProviders.agreementsNote || intl.formatMessage(intl_1.default.EVM_CONNECT_AGREEMENTS_NOTE))), keyboard: !walletProviders.connectingProvider, maskClosable: !walletProviders.connectingProvider, title: intl.formatMessage(intl_1.default.EVM_CONNECT_DISPATCHER_POPUP_TITLE), visible: open, width: 380, onClose: close, onClosed: onClosed },
|
|
64
64
|
React.createElement(components_1.EvmProvidersDispatcher, null)));
|
|
65
65
|
});
|
|
@@ -37,29 +37,29 @@ const intl_1 = __importDefault(require("../../../intl"));
|
|
|
37
37
|
require("./index.css");
|
|
38
38
|
function ConnectionRequest() {
|
|
39
39
|
const intl = (0, react_intl_1.useIntl)();
|
|
40
|
-
const
|
|
40
|
+
const walletProviders = (0, context_1.useEvmWalletProviders)();
|
|
41
41
|
const tryAgain = async () => {
|
|
42
|
-
if (connectingProvider) {
|
|
43
|
-
await connect(connectingProvider);
|
|
42
|
+
if (walletProviders.connectingProvider) {
|
|
43
|
+
await walletProviders.connect(walletProviders.connectingProvider);
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
return (React.createElement("div", { className: "evm-connect-connection-request" },
|
|
47
|
-
React.createElement(react_uikit_1.Button, { className: "evm-connect-connection-request-back-button uk-position-top-left", type: "text", onClick: reset },
|
|
47
|
+
React.createElement(react_uikit_1.Button, { className: "evm-connect-connection-request-back-button uk-position-top-left", type: "text", onClick: walletProviders.reset },
|
|
48
48
|
React.createElement(react_components_1.Icon, { icon: "arrowLeft", ratio: 0.9 })),
|
|
49
49
|
React.createElement(react_uikit_1.Grid, { childWidth: 1, gap: "collapse" },
|
|
50
|
-
connectingProvider?.info.icon && (React.createElement(react_uikit_1.Text, { align: "center", className: (0, classnames_1.default)('uk-margin-top', {
|
|
51
|
-
'uk-margin-bottom': connectingProvider?.info.description,
|
|
52
|
-
'uk-margin-medium-bottom': !connectingProvider?.info.description,
|
|
50
|
+
walletProviders.connectingProvider?.info.icon && (React.createElement(react_uikit_1.Text, { align: "center", className: (0, classnames_1.default)('uk-margin-top', {
|
|
51
|
+
'uk-margin-bottom': walletProviders.connectingProvider?.info.description,
|
|
52
|
+
'uk-margin-medium-bottom': !walletProviders.connectingProvider?.info.description,
|
|
53
53
|
}) },
|
|
54
|
-
React.createElement("img", { src: connectingProvider.info.icon, alt: connectingProvider.info.name, height: 60, width: 60 }))),
|
|
55
|
-
connectingProvider?.info.description && (React.createElement(react_uikit_1.Text, { align: "center", className: "uk-margin-medium-bottom", component: "div", kind: "meta" }, connectingProvider.info.description)),
|
|
56
|
-
!error ? (React.createElement(react_uikit_1.Text, { align: "center" },
|
|
54
|
+
React.createElement("img", { src: walletProviders.connectingProvider.info.icon, alt: walletProviders.connectingProvider.info.name, height: 60, width: 60 }))),
|
|
55
|
+
walletProviders.connectingProvider?.info.description && (React.createElement(react_uikit_1.Text, { align: "center", className: "uk-margin-medium-bottom", component: "div", kind: "meta" }, walletProviders.connectingProvider.info.description)),
|
|
56
|
+
!walletProviders.error ? (React.createElement(react_uikit_1.Text, { align: "center" },
|
|
57
57
|
React.createElement("h4", { className: "evm-connect-connection-request-title" }, intl.formatMessage(intl_1.default.EVM_CONNECT_DISPATCHER_POPUP_REQUEST_TITLE, {
|
|
58
|
-
title: connectingProvider?.info.name ?? 'wallet',
|
|
58
|
+
title: walletProviders.connectingProvider?.info.name ?? 'wallet',
|
|
59
59
|
})),
|
|
60
60
|
React.createElement("div", null, intl.formatMessage(intl_1.default.EVM_CONNECT_DISPATCHER_POPUP_REQUEST_NOTE)))) : (React.createElement(react_uikit_1.Text, { align: "center" },
|
|
61
61
|
React.createElement("h4", { className: "evm-connect-connection-request-title uk-text-danger" }, intl.formatMessage(intl_1.default.EVM_CONNECT_DISPATCHER_POPUP_REQUEST_FAILED_TITLE)),
|
|
62
|
-
React.createElement("div", { className: "uk-margin-small-bottom" }, error.message ? (React.createElement(react_uikit_1.Text, { color: "danger" }, error.message)) : intl.formatMessage(intl_1.default.EVM_CONNECT_DISPATCHER_POPUP_REQUEST_FAILED_NOTE)),
|
|
62
|
+
React.createElement("div", { className: "uk-margin-small-bottom" }, walletProviders.error.message ? (React.createElement(react_uikit_1.Text, { color: "danger" }, walletProviders.error.message)) : intl.formatMessage(intl_1.default.EVM_CONNECT_DISPATCHER_POPUP_REQUEST_FAILED_NOTE)),
|
|
63
63
|
React.createElement(react_uikit_1.Button, { className: "evm-connect-connection-request-button", type: "default", onClick: tryAgain }, intl.formatMessage(intl_1.default.EVM_CONNECT_DISPATCHER_POPUP_REQUEST_TRY_AGAIN_BTN_TEXT)))))));
|
|
64
64
|
}
|
|
65
65
|
exports.ConnectionRequest = ConnectionRequest;
|
|
@@ -33,8 +33,9 @@ const context_1 = require("../../context");
|
|
|
33
33
|
const hooks_1 = require("../../hooks");
|
|
34
34
|
require("./index.css");
|
|
35
35
|
exports.EvmProvidersDispatcher = (0, mobx_react_lite_1.observer)(() => {
|
|
36
|
+
const walletService = (0, context_1.useEvmWalletService)();
|
|
36
37
|
const walletProviders = (0, context_1.useEvmWalletProviders)();
|
|
37
|
-
const orderedProviders = (0, hooks_1.useOrderedConnections)(
|
|
38
|
+
const orderedProviders = (0, hooks_1.useOrderedConnections)(walletService.providers ?? []);
|
|
38
39
|
const dispatcher = React.useRef(null);
|
|
39
40
|
const content = React.useRef(null);
|
|
40
41
|
React.useLayoutEffect(() => {
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { type EthereumConnector } from '../core';
|
|
2
3
|
import { type EvmWalletProviderConfig } from '../types';
|
|
3
4
|
export interface EvmWalletProvidersContextConsumer {
|
|
4
5
|
agreementsNote?: React.ReactNode;
|
|
5
6
|
connect: (providerConfig: EvmWalletProviderConfig) => Promise<void>;
|
|
6
7
|
connectingProvider?: EvmWalletProviderConfig | null;
|
|
7
8
|
error?: Error | null;
|
|
8
|
-
providers?: Readonly<EvmWalletProviderConfig[]>;
|
|
9
9
|
reset: VoidFunction;
|
|
10
10
|
}
|
|
11
11
|
export declare const EvmWalletProvidersContext: React.Context<EvmWalletProvidersContextConsumer | null>;
|
|
12
12
|
export declare function useEvmWalletProviders(): EvmWalletProvidersContextConsumer;
|
|
13
13
|
export type EvmWalletProvidersProviderProps = React.PropsWithChildren<{
|
|
14
14
|
agreementsNote?: React.ReactNode;
|
|
15
|
-
|
|
16
|
-
onConnected?: VoidFunction;
|
|
15
|
+
onConnect?: (connector?: EthereumConnector) => Promise<void> | void;
|
|
17
16
|
}>;
|
|
18
|
-
export declare const EvmWalletProvidersProvider: ((
|
|
17
|
+
export declare const EvmWalletProvidersProvider: (({ agreementsNote, children, onConnect }: EvmWalletProvidersProviderProps) => React.JSX.Element) & {
|
|
19
18
|
displayName: string;
|
|
20
19
|
};
|
|
@@ -35,10 +35,9 @@ function useEvmWalletProviders() {
|
|
|
35
35
|
return (0, react_uikit_1.useContext)(exports.EvmWalletProvidersContext);
|
|
36
36
|
}
|
|
37
37
|
exports.useEvmWalletProviders = useEvmWalletProviders;
|
|
38
|
-
exports.EvmWalletProvidersProvider = (0, mobx_react_lite_1.observer)((
|
|
38
|
+
exports.EvmWalletProvidersProvider = (0, mobx_react_lite_1.observer)(({ agreementsNote, children, onConnect }) => {
|
|
39
39
|
const walletService = (0, EvmWalletServiceContext_1.useEvmWalletService)();
|
|
40
40
|
const [recentMeta, setRecentMeta] = (0, hooks_1.useRecentConnectionMeta)();
|
|
41
|
-
const { agreementsNote, children, providers = walletService.providers } = props;
|
|
42
41
|
const [error, setError] = React.useState(null);
|
|
43
42
|
const [connectingProvider, setConnectingProvider] = React.useState(null);
|
|
44
43
|
const connect = React.useCallback(async (providerConfig) => {
|
|
@@ -50,20 +49,23 @@ exports.EvmWalletProvidersProvider = (0, mobx_react_lite_1.observer)((props) =>
|
|
|
50
49
|
? walletService.networks.find(network => network.chainId === recentMeta.chainId) ?? 1
|
|
51
50
|
: 1;
|
|
52
51
|
(0, js_utils_1.debug)(`Try to activate ${providerConfig.info.name} connection with chain`, typeof chainParams === 'number' ? chainParams : chainParams.chainId);
|
|
53
|
-
await providerConfig.connector?.connect(typeof chainParams === 'number'
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
52
|
+
await providerConfig.connector?.connect(typeof chainParams === 'number'
|
|
53
|
+
? chainParams
|
|
54
|
+
: {
|
|
55
|
+
blockExplorerUrls: [chainParams.explorer.baseUrl],
|
|
56
|
+
chainId: Number(chainParams.chainId),
|
|
57
|
+
chainName: chainParams.name,
|
|
58
|
+
nativeCurrency: {
|
|
59
|
+
decimals: 18,
|
|
60
|
+
name: chainParams.currency.name,
|
|
61
|
+
symbol: chainParams.currency.symbol,
|
|
62
|
+
},
|
|
63
|
+
rpcUrls: [chainParams.rpcUrl],
|
|
64
|
+
});
|
|
64
65
|
if (providerConfig.id !== walletService.providerId) {
|
|
65
66
|
await prevConnector?.disconnect(true);
|
|
66
67
|
}
|
|
68
|
+
await onConnect?.(providerConfig.connector);
|
|
67
69
|
setRecentMeta({
|
|
68
70
|
chainId: providerConfig.connector.chainId?.toString(),
|
|
69
71
|
disconnected: false,
|
|
@@ -75,7 +77,7 @@ exports.EvmWalletProvidersProvider = (0, mobx_react_lite_1.observer)((props) =>
|
|
|
75
77
|
catch (e) {
|
|
76
78
|
setError(e);
|
|
77
79
|
}
|
|
78
|
-
}, [recentMeta, setRecentMeta, walletService]);
|
|
80
|
+
}, [onConnect, recentMeta?.chainId, setRecentMeta, walletService]);
|
|
79
81
|
const reset = React.useCallback(() => {
|
|
80
82
|
setError(null);
|
|
81
83
|
setConnectingProvider(null);
|
|
@@ -85,9 +87,8 @@ exports.EvmWalletProvidersProvider = (0, mobx_react_lite_1.observer)((props) =>
|
|
|
85
87
|
connect,
|
|
86
88
|
connectingProvider,
|
|
87
89
|
error,
|
|
88
|
-
providers,
|
|
89
90
|
reset,
|
|
90
|
-
}), [agreementsNote, connect, connectingProvider, error,
|
|
91
|
+
}), [agreementsNote, connect, connectingProvider, error, reset]);
|
|
91
92
|
return React.createElement(exports.EvmWalletProvidersContext.Provider, { value: context }, children);
|
|
92
93
|
});
|
|
93
94
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -3,8 +3,9 @@ import { EvmWalletService, type EvmWalletServiceCtorParams } from '../services';
|
|
|
3
3
|
export declare const EvmWalletServiceContext: React.Context<EvmWalletService | null>;
|
|
4
4
|
export declare function useEvmWalletService(): EvmWalletService;
|
|
5
5
|
type EvmWalletProviderProps = React.PropsWithChildren<{
|
|
6
|
+
agreementsNote?: React.ReactNode;
|
|
6
7
|
params?: EvmWalletServiceCtorParams;
|
|
7
8
|
wallet?: EvmWalletService;
|
|
8
9
|
}>;
|
|
9
|
-
export declare const EvmWalletServiceProvider: React.MemoExoticComponent<({ children, params, wallet, }: EvmWalletProviderProps) => React.JSX.Element>;
|
|
10
|
+
export declare const EvmWalletServiceProvider: React.MemoExoticComponent<({ agreementsNote, children, params, wallet, }: EvmWalletProviderProps) => React.JSX.Element>;
|
|
10
11
|
export {};
|
|
@@ -27,6 +27,7 @@ exports.EvmWalletServiceProvider = exports.useEvmWalletService = exports.EvmWall
|
|
|
27
27
|
const react_uikit_1 = require("@broxus/react-uikit");
|
|
28
28
|
const mobx_1 = require("mobx");
|
|
29
29
|
const React = __importStar(require("react"));
|
|
30
|
+
const EvmWalletProvidersContext_1 = require("../context/EvmWalletProvidersContext");
|
|
30
31
|
const hooks_1 = require("../hooks");
|
|
31
32
|
const services_1 = require("../services");
|
|
32
33
|
exports.EvmWalletServiceContext = React.createContext(null);
|
|
@@ -34,7 +35,7 @@ function useEvmWalletService() {
|
|
|
34
35
|
return (0, react_uikit_1.useContext)(exports.EvmWalletServiceContext);
|
|
35
36
|
}
|
|
36
37
|
exports.useEvmWalletService = useEvmWalletService;
|
|
37
|
-
exports.EvmWalletServiceProvider = React.memo(({ children, params, wallet, }) => {
|
|
38
|
+
exports.EvmWalletServiceProvider = React.memo(({ agreementsNote, children, params, wallet, }) => {
|
|
38
39
|
const [, setRecentMeta] = (0, hooks_1.useRecentConnectionMeta)();
|
|
39
40
|
const context = React.useMemo(() => {
|
|
40
41
|
if (wallet instanceof services_1.EvmWalletService) {
|
|
@@ -48,7 +49,8 @@ exports.EvmWalletServiceProvider = React.memo(({ children, params, wallet, }) =>
|
|
|
48
49
|
setRecentMeta({ ...recentMeta, chainId: chainId.toString() });
|
|
49
50
|
}
|
|
50
51
|
}, { delay: 10, fireImmediately: context.isReady }), [context, setRecentMeta]);
|
|
51
|
-
return React.createElement(exports.EvmWalletServiceContext.Provider, { value: context },
|
|
52
|
+
return (React.createElement(exports.EvmWalletServiceContext.Provider, { value: context },
|
|
53
|
+
React.createElement(EvmWalletProvidersContext_1.EvmWalletProvidersProvider, { agreementsNote: agreementsNote }, children)));
|
|
52
54
|
});
|
|
53
55
|
if (process.env.NODE_ENV !== 'production') {
|
|
54
56
|
exports.EvmWalletServiceContext.displayName = 'EvmWalletServiceContext';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/cjs/main.js
ADDED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { type EvmNetworkConfig } from '@broxus/js-bridge-essentials';
|
|
2
1
|
import { AbstractStore, type NativeCurrency } from '@broxus/js-core';
|
|
3
2
|
import { type IReactionDisposer } from 'mobx';
|
|
4
3
|
import Web3 from 'web3';
|
|
5
4
|
import { type EthereumConnector } from '../core';
|
|
6
|
-
import { type AddEthereumChainParams, type EvmWalletProviderConfig } from '../types';
|
|
5
|
+
import { type AddEthereumChainParams, type EvmNetworkConfig, type EvmWalletProviderConfig, type WatchAssetParameters } from '../types';
|
|
7
6
|
export interface EvmWalletServiceCtorParams {
|
|
8
7
|
defaultNetworkId?: number;
|
|
9
8
|
/**
|
|
@@ -43,6 +42,7 @@ export declare class EvmWalletService extends AbstractStore<EvmWalletServiceData
|
|
|
43
42
|
* @returns {Promise<void>}
|
|
44
43
|
*/
|
|
45
44
|
switchNetwork(chainIdOrParams: number | AddEthereumChainParams): Promise<void>;
|
|
45
|
+
watchAsset(params: WatchAssetParameters): Promise<true | undefined>;
|
|
46
46
|
/**
|
|
47
47
|
* Define current provider connector
|
|
48
48
|
* @returns {EthereumConnector|undefined}
|
|
@@ -79,6 +79,9 @@ class EvmWalletService extends js_core_1.AbstractStore {
|
|
|
79
79
|
async switchNetwork(chainIdOrParams) {
|
|
80
80
|
await this.connector?.switchNetwork(chainIdOrParams);
|
|
81
81
|
}
|
|
82
|
+
async watchAsset(params) {
|
|
83
|
+
return this.connector?.watchAsset(params);
|
|
84
|
+
}
|
|
82
85
|
/**
|
|
83
86
|
* Define current provider connector
|
|
84
87
|
* @returns {EthereumConnector|undefined}
|
|
@@ -311,6 +314,12 @@ __decorate([
|
|
|
311
314
|
__metadata("design:paramtypes", [Object]),
|
|
312
315
|
__metadata("design:returntype", Promise)
|
|
313
316
|
], EvmWalletService.prototype, "switchNetwork", null);
|
|
317
|
+
__decorate([
|
|
318
|
+
mobx_1.action.bound,
|
|
319
|
+
__metadata("design:type", Function),
|
|
320
|
+
__metadata("design:paramtypes", [Object]),
|
|
321
|
+
__metadata("design:returntype", Promise)
|
|
322
|
+
], EvmWalletService.prototype, "watchAsset", null);
|
|
314
323
|
__decorate([
|
|
315
324
|
mobx_1.computed,
|
|
316
325
|
__metadata("design:type", Object),
|