@broxus/evm-connect 1.3.8 → 1.4.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.
@@ -2,7 +2,6 @@ import { type ButtonProps } from '@broxus/react-uikit';
2
2
  import * as React from 'react';
3
3
  import './index.css';
4
4
  export interface EvmConnectorProps {
5
- changeNetworkButtonText?: React.ReactNode;
6
5
  changeWalletButtonText?: React.ReactNode;
7
6
  className?: string;
8
7
  connectButtonShape?: ButtonProps['shape'];
@@ -15,10 +15,7 @@ export const EvmConnector = observer((props) => {
15
15
  const walletService = useEvmWalletService();
16
16
  const [, setRecentMeta] = useRecentConnectionMeta();
17
17
  const drop = React.useRef(null);
18
- const { changeNetworkButtonText = intl.formatMessage(messages.EVM_CONNECT_CHANGE_NETWORK_BTN_TEXT), changeWalletButtonText = intl.formatMessage(messages.EVM_CONNECT_CHANGE_WALLET_BTN_TEXT), className, connectButtonShape, connectButtonText = intl.formatMessage(messages.EVM_CONNECT_CONNECT_BTN_TEXT), connectButtonType, disconnectButtonText = intl.formatMessage(messages.EVM_CONNECT_DISCONNECT_BTN_TEXT), popupType, suffix, showDropMenu = true, showSubIcon = true, standalone = walletService.providers?.length === 1, } = props;
19
- const changeNetwork = async () => {
20
- drop.current?.close();
21
- };
18
+ const { changeWalletButtonText = intl.formatMessage(messages.EVM_CONNECT_CHANGE_WALLET_BTN_TEXT), className, connectButtonShape, connectButtonText = intl.formatMessage(messages.EVM_CONNECT_CONNECT_BTN_TEXT), connectButtonType, disconnectButtonText = intl.formatMessage(messages.EVM_CONNECT_DISCONNECT_BTN_TEXT), popupType, suffix, showDropMenu = true, showSubIcon = true, standalone = walletService.providers?.length === 1, } = props;
22
19
  const changeWallet = () => {
23
20
  drop.current?.close();
24
21
  };
@@ -57,8 +54,6 @@ export const EvmConnector = observer((props) => {
57
54
  React.createElement(Flex, { alignItems: "center", className: "evm-connect-connector-suffix" },
58
55
  suffix,
59
56
  walletService.isConnected && showDropMenu && (React.createElement(Dropdown, { ref: drop, action: "click", overlayClassName: "evm-connect-dropdown", overlay: (React.createElement(List, { className: "uk-margin-remove", size: "large" },
60
- React.createElement(List.Item, null,
61
- React.createElement(Button, { className: "evm-connect-change-network", disabled: true, type: "link", onClick: changeNetwork }, changeNetworkButtonText)),
62
57
  !standalone && (React.createElement(List.Item, { key: "connect-wallet" },
63
58
  React.createElement(EvmConnectButton, { className: "evm-connect-change-wallet", popupType: popupType, type: "link", onOpen: changeWallet }, changeWalletButtonText))),
64
59
  React.createElement(List.Item, null,
@@ -7,5 +7,5 @@ type EvmWalletProviderProps = React.PropsWithChildren<{
7
7
  params?: EvmWalletServiceCtorParams;
8
8
  wallet?: EvmWalletService;
9
9
  }>;
10
- export declare const EvmWalletServiceProvider: React.MemoExoticComponent<({ agreementsNote, children, params, wallet, }: EvmWalletProviderProps) => React.JSX.Element>;
10
+ export declare function EvmWalletServiceProvider({ agreementsNote, children, params, wallet, }: EvmWalletProviderProps): React.JSX.Element;
11
11
  export {};
@@ -8,7 +8,7 @@ export const EvmWalletServiceContext = React.createContext(null);
8
8
  export function useEvmWalletService() {
9
9
  return useContext(EvmWalletServiceContext);
10
10
  }
11
- export const EvmWalletServiceProvider = React.memo(({ agreementsNote, children, params, wallet, }) => {
11
+ export function EvmWalletServiceProvider({ agreementsNote, children, params, wallet, }) {
12
12
  const [, setRecentMeta] = useRecentConnectionMeta();
13
13
  const context = React.useMemo(() => {
14
14
  if (wallet instanceof EvmWalletService) {
@@ -24,7 +24,7 @@ export const EvmWalletServiceProvider = React.memo(({ agreementsNote, children,
24
24
  }, { delay: 10, fireImmediately: context.isReady }), [context, setRecentMeta]);
25
25
  return (React.createElement(EvmWalletServiceContext.Provider, { value: context },
26
26
  React.createElement(EvmWalletProvidersProvider, { agreementsNote: agreementsNote }, children)));
27
- });
27
+ }
28
28
  if (process.env.NODE_ENV !== 'production') {
29
29
  EvmWalletServiceContext.displayName = 'EvmWalletServiceContext';
30
30
  }
@@ -19,10 +19,6 @@ declare const _default: {
19
19
  defaultMessage: string;
20
20
  id: string;
21
21
  };
22
- EVM_CONNECT_CHANGE_NETWORK_BTN_TEXT: {
23
- defaultMessage: string;
24
- id: string;
25
- };
26
22
  EVM_CONNECT_CHANGE_WALLET_BTN_TEXT: {
27
23
  defaultMessage: string;
28
24
  id: string;
@@ -21,10 +21,6 @@ export default defineMessages({
21
21
  defaultMessage: 'Disconnect',
22
22
  id: 'EVM_CONNECT_DISCONNECT_BTN_TEXT',
23
23
  },
24
- EVM_CONNECT_CHANGE_NETWORK_BTN_TEXT: {
25
- defaultMessage: 'Change network',
26
- id: 'EVM_CONNECT_CHANGE_NETWORK_BTN_TEXT',
27
- },
28
24
  EVM_CONNECT_CHANGE_WALLET_BTN_TEXT: {
29
25
  defaultMessage: 'Change wallet',
30
26
  id: 'EVM_CONNECT_CHANGE_WALLET_BTN_TEXT',
@@ -41,6 +41,12 @@ export declare class EvmWalletService extends AbstractStore<EvmWalletServiceData
41
41
  * @returns {Promise<void>}
42
42
  */
43
43
  disconnect(force?: boolean): Promise<void>;
44
+ /**
45
+ * Add network to the current connected wallet
46
+ * @param {AddEthereumChainParams} chainParams
47
+ * @returns {Promise<void>}
48
+ */
49
+ addNetwork(chainParams: AddEthereumChainParams): Promise<void>;
44
50
  /**
45
51
  * Switch network or add a new one if not exists in the current connected wallet
46
52
  * @param {number|AddEthereumChainParams} chainIdOrParams
@@ -63,12 +63,19 @@ export class EvmWalletService extends AbstractStore {
63
63
  try {
64
64
  await this.connector?.disconnect();
65
65
  this.setData('balance', undefined);
66
- this.setState('providerId', undefined);
67
66
  }
68
67
  catch (e) {
69
68
  error('EVM Wallet disconnect error', e);
70
69
  }
71
70
  }
71
+ /**
72
+ * Add network to the current connected wallet
73
+ * @param {AddEthereumChainParams} chainParams
74
+ * @returns {Promise<void>}
75
+ */
76
+ async addNetwork(chainParams) {
77
+ await this.connector?.addNetwork(chainParams);
78
+ }
72
79
  /**
73
80
  * Switch network or add a new one if not exists in the current connected wallet
74
81
  * @param {number|AddEthereumChainParams} chainIdOrParams
@@ -307,6 +314,12 @@ __decorate([
307
314
  __metadata("design:paramtypes", [Boolean]),
308
315
  __metadata("design:returntype", Promise)
309
316
  ], EvmWalletService.prototype, "disconnect", null);
317
+ __decorate([
318
+ action.bound,
319
+ __metadata("design:type", Function),
320
+ __metadata("design:paramtypes", [Object]),
321
+ __metadata("design:returntype", Promise)
322
+ ], EvmWalletService.prototype, "addNetwork", null);
310
323
  __decorate([
311
324
  action.bound,
312
325
  __metadata("design:type", Function),