@ant-design/web3-wagmi 1.1.2 → 2.0.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.
Files changed (48) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/esm/interface.d.ts +7 -3
  3. package/dist/esm/wagmi-provider/config-provider.d.ts +7 -5
  4. package/dist/esm/wagmi-provider/config-provider.js +64 -31
  5. package/dist/esm/wagmi-provider/index.d.ts +8 -5
  6. package/dist/esm/wagmi-provider/index.js +28 -48
  7. package/dist/esm/wagmi-provider/methods/addNameToAccount.d.ts +2 -1
  8. package/dist/esm/wagmi-provider/methods/addNameToAccount.js +4 -4
  9. package/dist/esm/wagmi-provider/methods/getNFTMetadata.d.ts +2 -1
  10. package/dist/esm/wagmi-provider/methods/getNFTMetadata.js +4 -4
  11. package/dist/esm/wallets/coinbase-wallet.d.ts +2 -2
  12. package/dist/esm/wallets/coinbase-wallet.js +25 -23
  13. package/dist/esm/wallets/index.d.ts +1 -0
  14. package/dist/esm/wallets/index.js +2 -1
  15. package/dist/esm/wallets/meta-mask.d.ts +2 -2
  16. package/dist/esm/wallets/meta-mask.js +44 -24
  17. package/dist/esm/wallets/safeheron.d.ts +2 -2
  18. package/dist/esm/wallets/safeheron.js +50 -23
  19. package/dist/esm/wallets/token-pocket.d.ts +2 -2
  20. package/dist/esm/wallets/token-pocket.js +3 -26
  21. package/dist/esm/wallets/universal-wallet.d.ts +9 -0
  22. package/dist/esm/wallets/universal-wallet.js +151 -0
  23. package/dist/esm/wallets/wallet-connect.d.ts +6 -1
  24. package/dist/esm/wallets/wallet-connect.js +57 -47
  25. package/dist/lib/interface.d.ts +7 -3
  26. package/dist/lib/wagmi-provider/config-provider.d.ts +7 -5
  27. package/dist/lib/wagmi-provider/config-provider.js +38 -20
  28. package/dist/lib/wagmi-provider/index.d.ts +8 -5
  29. package/dist/lib/wagmi-provider/index.js +22 -29
  30. package/dist/lib/wagmi-provider/methods/addNameToAccount.d.ts +2 -1
  31. package/dist/lib/wagmi-provider/methods/addNameToAccount.js +2 -2
  32. package/dist/lib/wagmi-provider/methods/getNFTMetadata.d.ts +2 -1
  33. package/dist/lib/wagmi-provider/methods/getNFTMetadata.js +2 -2
  34. package/dist/lib/wallets/coinbase-wallet.d.ts +2 -2
  35. package/dist/lib/wallets/coinbase-wallet.js +15 -11
  36. package/dist/lib/wallets/index.d.ts +1 -0
  37. package/dist/lib/wallets/index.js +11 -0
  38. package/dist/lib/wallets/meta-mask.d.ts +2 -2
  39. package/dist/lib/wallets/meta-mask.js +18 -11
  40. package/dist/lib/wallets/safeheron.d.ts +2 -2
  41. package/dist/lib/wallets/safeheron.js +18 -11
  42. package/dist/lib/wallets/token-pocket.d.ts +2 -2
  43. package/dist/lib/wallets/token-pocket.js +8 -11
  44. package/dist/lib/wallets/universal-wallet.d.ts +9 -0
  45. package/dist/lib/wallets/universal-wallet.js +57 -0
  46. package/dist/lib/wallets/wallet-connect.d.ts +6 -1
  47. package/dist/lib/wallets/wallet-connect.js +28 -20
  48. package/package.json +7 -5
@@ -13,7 +13,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
13
13
  const AntDesignWeb3ConfigProvider = props => {
14
14
  const {
15
15
  children,
16
- assets,
16
+ chainAssets,
17
+ walletFactorys,
17
18
  availableChains,
18
19
  availableConnectors,
19
20
  ens,
@@ -22,18 +23,17 @@ const AntDesignWeb3ConfigProvider = props => {
22
23
  } = props;
23
24
  const {
24
25
  address,
25
- isDisconnected
26
+ isDisconnected,
27
+ chain
26
28
  } = (0, _wagmi.useAccount)();
29
+ const config = (0, _wagmi.useConfig)();
27
30
  const [account, setAccount] = _react.default.useState();
28
31
  const {
29
32
  connectAsync
30
33
  } = (0, _wagmi.useConnect)();
31
34
  const {
32
- switchNetwork
33
- } = (0, _wagmi.useSwitchNetwork)();
34
- const {
35
- chain
36
- } = (0, _wagmi.useNetwork)();
35
+ switchChain
36
+ } = (0, _wagmi.useSwitchChain)();
37
37
  const {
38
38
  disconnectAsync
39
39
  } = (0, _wagmi.useDisconnect)();
@@ -52,23 +52,33 @@ const AntDesignWeb3ConfigProvider = props => {
52
52
  const a = {
53
53
  address
54
54
  };
55
- setAccount(ens ? await (0, _methods.addNameToAccount)(a) : a);
55
+ setAccount(ens ? await (0, _methods.addNameToAccount)(config, a) : a);
56
56
  };
57
57
  updateAccounts();
58
58
  }, [address, isDisconnected, chain, ens]);
59
59
  const wallets = _react.default.useMemo(() => {
60
- return availableConnectors.map(connector => {
61
- const walletFactory = assets?.find(item => item.name === connector.name);
60
+ availableConnectors.forEach(connector => {
61
+ // check use assets config and console.error for alert
62
+ const walletFactory = walletFactorys?.find(item => item.connectors?.includes(connector.name));
62
63
  if (!walletFactory?.create) {
63
- console.error(`Can not find wallet factory for ${connector.name}, you should config it in WagmiWeb3ConfigProvider 'assets'.`);
64
+ console.error(`Can not find wallet factory for ${connector.name}, you should config it in WagmiWeb3ConfigProvider 'wallets'.`);
65
+ }
66
+ });
67
+
68
+ // Generate Wallet for @ant-design/web3
69
+ const allWallet = walletFactorys?.map(factory => {
70
+ const connectors = factory.connectors.map(name => availableConnectors.find(item => item.name === name)).filter(item => !!item);
71
+ if (connectors.length === 0) {
72
+ // Not config connector for this wallet factory, ignore it.
64
73
  return null;
65
74
  }
66
- return walletFactory.create(connector);
75
+ return factory.create(connectors);
67
76
  }).filter(item => item !== null);
68
- }, [availableConnectors, assets]);
77
+ return allWallet;
78
+ }, [availableConnectors, walletFactorys]);
69
79
  const chainList = _react.default.useMemo(() => {
70
80
  return availableChains.map(item => {
71
- const c = assets?.find(asset => {
81
+ const c = chainAssets?.find(asset => {
72
82
  return asset.id === item.id;
73
83
  });
74
84
  if (c?.id) {
@@ -82,7 +92,7 @@ const AntDesignWeb3ConfigProvider = props => {
82
92
  return null;
83
93
  }
84
94
  }).filter(item => item !== null);
85
- }, [availableChains, assets]);
95
+ }, [availableChains, chainAssets]);
86
96
  _react.default.useEffect(() => {
87
97
  if (!chain && currentChain) {
88
98
  // not connected any chain, keep current chain
@@ -92,7 +102,7 @@ const AntDesignWeb3ConfigProvider = props => {
92
102
  if (!currentWagmiChain) {
93
103
  return;
94
104
  }
95
- let c = assets?.find(item => item.id === currentWagmiChain?.id);
105
+ let c = chainAssets?.find(item => item.id === currentWagmiChain?.id);
96
106
  if (!c?.id) {
97
107
  c = {
98
108
  id: currentWagmiChain.id,
@@ -101,7 +111,7 @@ const AntDesignWeb3ConfigProvider = props => {
101
111
  }
102
112
  setCurrentChain(c);
103
113
  return;
104
- }, [chain, assets, availableChains, currentChain]);
114
+ }, [chain, chainAssets, availableChains, currentChain]);
105
115
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_web3Common.Web3ConfigProvider, {
106
116
  locale: locale,
107
117
  availableChains: chainList,
@@ -115,7 +125,13 @@ const AntDesignWeb3ConfigProvider = props => {
115
125
  } : undefined,
116
126
  availableWallets: wallets,
117
127
  connect: async wallet => {
118
- const connector = availableConnectors.find(item => item.name === wallet?.name);
128
+ let connector = await wallet?.getWagmiConnector?.();
129
+ if (!connector) {
130
+ connector = availableConnectors.find(item => item.name === wallet?.name);
131
+ }
132
+ if (!connector) {
133
+ throw new Error(`Can not find connector for ${wallet?.name}`);
134
+ }
119
135
  await connectAsync({
120
136
  connector,
121
137
  chainId: currentChain?.id
@@ -129,13 +145,15 @@ const AntDesignWeb3ConfigProvider = props => {
129
145
  // hava not connected any chain
130
146
  setCurrentChain(c);
131
147
  } else {
132
- switchNetwork?.(c.id);
148
+ switchChain?.({
149
+ chainId: c.id
150
+ });
133
151
  }
134
152
  },
135
153
  getNFTMetadata: async ({
136
154
  address: contractAddress,
137
155
  tokenId
138
- }) => (0, _methods.getNFTMetadata)(contractAddress, tokenId, chain?.id),
156
+ }) => (0, _methods.getNFTMetadata)(config, contractAddress, tokenId, chain?.id),
139
157
  children: children
140
158
  });
141
159
  };
@@ -1,12 +1,15 @@
1
1
  import React from 'react';
2
- import type { PublicClient, WebSocketPublicClient, Config } from 'wagmi';
3
2
  import type { Chain, Locale } from '@ant-design/web3-common';
3
+ import { QueryClient } from '@tanstack/react-query';
4
+ import type { Config } from 'wagmi';
4
5
  import type { WalletFactory } from '../interface';
5
- export type WagmiWeb3ConfigProviderProps<TPublicClient extends PublicClient = PublicClient, TWebSocketPublicClient extends WebSocketPublicClient = WebSocketPublicClient> = {
6
- config: Config<TPublicClient, TWebSocketPublicClient>;
6
+ export type WagmiWeb3ConfigProviderProps = {
7
+ config: Config;
7
8
  locale?: Locale;
8
- assets?: (Chain | WalletFactory)[];
9
+ wallets?: WalletFactory[];
10
+ chains?: Chain[];
9
11
  ens?: boolean;
12
+ queryClient?: QueryClient;
10
13
  balance?: boolean;
11
14
  };
12
- export declare function WagmiWeb3ConfigProvider<TPublicClient extends PublicClient, TWebSocketPublicClient extends WebSocketPublicClient>({ children, assets, ens, locale, balance, config, ...restProps }: React.PropsWithChildren<WagmiWeb3ConfigProviderProps<TPublicClient, TWebSocketPublicClient>>): React.ReactElement;
15
+ export declare function WagmiWeb3ConfigProvider({ children, wallets, chains, ens, locale, balance, config, queryClient, ...restProps }: React.PropsWithChildren<WagmiWeb3ConfigProviderProps>): React.ReactElement;
@@ -5,51 +5,44 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.WagmiWeb3ConfigProvider = WagmiWeb3ConfigProvider;
7
7
  var _react = _interopRequireDefault(require("react"));
8
+ var _web3Assets = require("@ant-design/web3-assets");
9
+ var _reactQuery = require("@tanstack/react-query");
8
10
  var _wagmi = require("wagmi");
9
11
  var _configProvider = require("./config-provider");
10
- var _web3Assets = require("@ant-design/web3-assets");
11
- var _wallets = require("../wallets");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
  // Built in popular chains
15
15
 
16
- // MetaMask built-in
17
-
18
16
  function WagmiWeb3ConfigProvider({
19
17
  children,
20
- assets = [],
18
+ wallets = [],
19
+ chains = [],
21
20
  ens,
22
21
  locale,
23
22
  balance,
24
23
  config,
24
+ queryClient,
25
25
  ...restProps
26
26
  }) {
27
- const availableChains = _react.default.useMemo(() => {
28
- // merge all available chains fro user select
29
- const chains = [];
30
- for (const connector of config.connectors) {
31
- connector.chains.forEach(chain => {
32
- if (chains.find(c => c.id === chain.id)) return;
33
- chains.push(chain);
34
- });
35
- }
36
- config.publicClient.chains?.forEach(chain => {
37
- if (chains.find(c => c.id === chain.id)) return;
38
- chains.push(chain);
39
- });
40
- return chains;
41
- }, [config]);
42
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_wagmi.WagmiConfig, {
27
+ const chainAssets = [...chains, _web3Assets.Mainnet];
28
+ const mergedQueryClient = _react.default.useMemo(() => {
29
+ return queryClient ?? new _reactQuery.QueryClient();
30
+ }, [queryClient]);
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_wagmi.WagmiProvider, {
43
32
  config: config,
44
33
  ...restProps,
45
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_configProvider.AntDesignWeb3ConfigProvider, {
46
- locale: locale,
47
- assets: [...assets, _wallets.MetaMask, _web3Assets.Mainnet, _web3Assets.Goerli],
48
- availableChains: availableChains,
49
- availableConnectors: config.connectors || [],
50
- ens: ens,
51
- balance: balance,
52
- children: children
34
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactQuery.QueryClientProvider, {
35
+ client: mergedQueryClient,
36
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_configProvider.AntDesignWeb3ConfigProvider, {
37
+ locale: locale,
38
+ chainAssets: chainAssets,
39
+ walletFactorys: wallets,
40
+ availableChains: config.chains,
41
+ availableConnectors: config.connectors,
42
+ ens: ens,
43
+ balance: balance,
44
+ children: children
45
+ })
53
46
  })
54
47
  });
55
48
  }
@@ -1,2 +1,3 @@
1
1
  import type { Account } from '@ant-design/web3-common';
2
- export declare function addNameToAccount(account: Account, chainId?: number): Promise<Account>;
2
+ import { type Config } from '@wagmi/core';
3
+ export declare function addNameToAccount(config: Config, account: Account, chainId?: number): Promise<Account>;
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.addNameToAccount = addNameToAccount;
7
7
  var _core = require("@wagmi/core");
8
- async function addNameToAccount(account, chainId) {
9
- const name = await (0, _core.fetchEnsName)({
8
+ async function addNameToAccount(config, account, chainId) {
9
+ const name = await (0, _core.getEnsName)(config, {
10
10
  address: account.address,
11
11
  chainId
12
12
  });
@@ -1,2 +1,3 @@
1
1
  import { type NFTMetadata } from '@ant-design/web3-common';
2
- export declare function getNFTMetadata(address: string, tokenId: bigint, chainId?: number): Promise<NFTMetadata>;
2
+ import { type Config } from '@wagmi/core';
3
+ export declare function getNFTMetadata(config: Config, address: string, tokenId: bigint, chainId?: number): Promise<NFTMetadata>;
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getNFTMetadata = getNFTMetadata;
7
7
  var _web3Common = require("@ant-design/web3-common");
8
8
  var _core = require("@wagmi/core");
9
- async function getNFTMetadata(address, tokenId, chainId) {
10
- const tokenURI = await (0, _core.readContract)({
9
+ async function getNFTMetadata(config, address, tokenId, chainId) {
10
+ const tokenURI = await (0, _core.readContract)(config, {
11
11
  address: (0, _web3Common.fillAddressWith0x)(address),
12
12
  args: [tokenId],
13
13
  chainId,
@@ -1,2 +1,2 @@
1
- import type { WalletFactory } from '../interface';
2
- export declare const CoinbaseWallet: WalletFactory;
1
+ import type { EthereumWallet } from '../interface';
2
+ export declare const CoinbaseWallet: EthereumWallet;
@@ -5,14 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.CoinbaseWallet = void 0;
7
7
  var _web3Assets = require("@ant-design/web3-assets");
8
- const CoinbaseWallet = exports.CoinbaseWallet = {
9
- name: 'Coinbase Wallet',
10
- create: () => {
11
- return {
12
- ..._web3Assets.metadata_CoinbaseWallet,
13
- hasWalletReady: async () => {
14
- return true;
15
- }
16
- };
17
- }
18
- };
8
+ const CoinbaseWallet = metadata => {
9
+ return {
10
+ connectors: ['Coinbase Wallet'],
11
+ create: () => {
12
+ return {
13
+ ..._web3Assets.metadata_CoinbaseWallet,
14
+ hasWalletReady: async () => {
15
+ return true;
16
+ },
17
+ ...metadata
18
+ };
19
+ }
20
+ };
21
+ };
22
+ exports.CoinbaseWallet = CoinbaseWallet;
@@ -3,3 +3,4 @@ export * from './wallet-connect';
3
3
  export * from './coinbase-wallet';
4
4
  export * from './token-pocket';
5
5
  export * from './safeheron';
6
+ export * from './universal-wallet';
@@ -57,4 +57,15 @@ Object.keys(_safeheron).forEach(function (key) {
57
57
  return _safeheron[key];
58
58
  }
59
59
  });
60
+ });
61
+ var _universalWallet = require("./universal-wallet");
62
+ Object.keys(_universalWallet).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _universalWallet[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _universalWallet[key];
69
+ }
70
+ });
60
71
  });
@@ -1,2 +1,2 @@
1
- import type { WalletFactory } from '../interface';
2
- export declare const MetaMask: WalletFactory;
1
+ import type { EthereumWallet } from '../interface';
2
+ export declare const MetaMask: EthereumWallet;
@@ -5,14 +5,21 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.MetaMask = void 0;
7
7
  var _web3Assets = require("@ant-design/web3-assets");
8
- const MetaMask = exports.MetaMask = {
9
- name: 'MetaMask',
10
- create: () => {
11
- return {
12
- ..._web3Assets.metadata_MetaMask,
13
- hasWalletReady: async () => {
14
- return !!window.ethereum?.isMetaMask;
15
- }
16
- };
17
- }
18
- };
8
+ const MetaMask = metadata => {
9
+ return {
10
+ connectors: ['MetaMask'],
11
+ create: () => {
12
+ return {
13
+ ..._web3Assets.metadata_MetaMask,
14
+ hasWalletReady: async () => {
15
+ return !!window.ethereum?.isMetaMask;
16
+ },
17
+ hasExtensionInstalled: async () => {
18
+ return !!window.ethereum?.isMetaMask;
19
+ },
20
+ ...metadata
21
+ };
22
+ }
23
+ };
24
+ };
25
+ exports.MetaMask = MetaMask;
@@ -1,2 +1,2 @@
1
- import type { WalletFactory } from '../interface';
2
- export declare const SafeheronWallet: WalletFactory;
1
+ import type { EthereumWallet } from '../interface';
2
+ export declare const SafeheronWallet: EthereumWallet;
@@ -5,14 +5,21 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.SafeheronWallet = void 0;
7
7
  var _web3Assets = require("@ant-design/web3-assets");
8
- const SafeheronWallet = exports.SafeheronWallet = {
9
- name: 'Safeheron',
10
- create: connector => {
11
- return {
12
- ..._web3Assets.metadata_Safeheron,
13
- hasWalletReady: async () => {
14
- return !!connector?.ready;
15
- }
16
- };
17
- }
18
- };
8
+ const SafeheronWallet = metadata => {
9
+ return {
10
+ connectors: ['Safeheron'],
11
+ create: connectors => {
12
+ return {
13
+ ..._web3Assets.metadata_Safeheron,
14
+ hasWalletReady: async () => {
15
+ return !!(await connectors?.[0]?.getProvider());
16
+ },
17
+ hasExtensionInstalled: async () => {
18
+ return !!(await connectors?.[0]?.getProvider());
19
+ },
20
+ ...metadata
21
+ };
22
+ }
23
+ };
24
+ };
25
+ exports.SafeheronWallet = SafeheronWallet;
@@ -1,2 +1,2 @@
1
- import type { WalletFactory } from '../interface';
2
- export declare const TokenPocket: WalletFactory;
1
+ import { EthereumWallet } from '../interface';
2
+ export declare const TokenPocket: EthereumWallet;
@@ -5,14 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.TokenPocket = void 0;
7
7
  var _web3Assets = require("@ant-design/web3-assets");
8
- const TokenPocket = exports.TokenPocket = {
9
- name: 'TokenPocket',
10
- create: () => {
11
- return {
12
- ..._web3Assets.metadata_TokenPocket,
13
- hasWalletReady: async () => {
14
- return true;
15
- }
16
- };
17
- }
18
- };
8
+ var _universalWallet = require("./universal-wallet");
9
+ const TokenPocket = metadata => {
10
+ return new _universalWallet.UniversalWallet({
11
+ ..._web3Assets.metadata_TokenPocket,
12
+ ...metadata
13
+ });
14
+ };
15
+ exports.TokenPocket = TokenPocket;
@@ -0,0 +1,9 @@
1
+ import type { WalletMetadata } from '@ant-design/web3-common';
2
+ import type { Connector } from 'wagmi';
3
+ import type { WalletFactory, WalletUseInWagmiAdapter } from '../interface';
4
+ export declare class UniversalWallet implements WalletFactory {
5
+ private wallet;
6
+ connectors: string[];
7
+ constructor(wallet: WalletMetadata);
8
+ create: (connectors?: readonly Connector[]) => WalletUseInWagmiAdapter;
9
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UniversalWallet = void 0;
7
+ class UniversalWallet {
8
+ connectors = [];
9
+ constructor(wallet) {
10
+ this.wallet = wallet;
11
+ if (wallet.extensions) {
12
+ // support injected connector
13
+ // https://wagmi.sh/react/connectors/injected
14
+ this.connectors.push(wallet.name);
15
+ }
16
+ if (wallet.app) {
17
+ // support WalletConnect https://wagmi.sh/react/connectors/walletConnect
18
+ this.connectors.push('WalletConnect');
19
+ }
20
+ }
21
+ create = connectors => {
22
+ const walletConnector = connectors?.find(item => item.name === 'WalletConnect');
23
+ const injectedConnector = connectors?.find(item => item.name === this.wallet.name);
24
+ const getQrCode = async () => {
25
+ const provider = await walletConnector?.getProvider();
26
+ return new Promise(resolve => {
27
+ provider?.on('display_uri', uri => {
28
+ resolve({
29
+ uri
30
+ });
31
+ });
32
+ });
33
+ };
34
+ const hasExtensionInstalled = async () => {
35
+ const provider = await injectedConnector?.getProvider();
36
+ return !!provider;
37
+ };
38
+ return {
39
+ ...this.wallet,
40
+ getWagmiConnector: async () => {
41
+ if (await hasExtensionInstalled()) {
42
+ return injectedConnector;
43
+ }
44
+ return walletConnector;
45
+ },
46
+ hasExtensionInstalled: async () => {
47
+ return hasExtensionInstalled();
48
+ },
49
+ hasWalletReady: async () => {
50
+ const installed = await hasExtensionInstalled();
51
+ return !!(installed || walletConnector);
52
+ },
53
+ getQrCode: walletConnector ? getQrCode : undefined
54
+ };
55
+ };
56
+ }
57
+ exports.UniversalWallet = UniversalWallet;
@@ -1,2 +1,7 @@
1
+ import { WalletMetadata } from '@ant-design/web3-common';
1
2
  import type { WalletFactory } from '../interface';
2
- export declare const WalletConnect: WalletFactory;
3
+ type EthereumWalletConnect = (metadata?: Partial<WalletMetadata> & {
4
+ useWalletConnectOfficialModal?: boolean;
5
+ }) => WalletFactory;
6
+ export declare const WalletConnect: EthereumWalletConnect;
7
+ export {};
@@ -5,25 +5,33 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.WalletConnect = void 0;
7
7
  var _web3Assets = require("@ant-design/web3-assets");
8
- const WalletConnect = exports.WalletConnect = {
9
- name: 'WalletConnect',
10
- create: connector => {
11
- const getQrCode = async () => {
12
- const provider = await connector?.getProvider();
13
- return new Promise(resolve => {
14
- provider.on('display_uri', uri => {
15
- resolve({
16
- uri
8
+ const WalletConnect = metadata => {
9
+ const {
10
+ useWalletConnectOfficialModal = false,
11
+ ...rest
12
+ } = metadata || {};
13
+ return {
14
+ connectors: ['WalletConnect'],
15
+ create: connectors => {
16
+ const getQrCode = async () => {
17
+ const provider = await connectors?.[0]?.getProvider();
18
+ return new Promise(resolve => {
19
+ provider?.on('display_uri', uri => {
20
+ resolve({
21
+ uri
22
+ });
17
23
  });
18
24
  });
19
- });
20
- };
21
- return {
22
- ..._web3Assets.metadata_WalletConnect,
23
- hasWalletReady: async () => {
24
- return true;
25
- },
26
- getQrCode: connector?.options.showQrModal === false ? getQrCode : undefined
27
- };
28
- }
29
- };
25
+ };
26
+ return {
27
+ ..._web3Assets.metadata_WalletConnect,
28
+ hasWalletReady: async () => {
29
+ return true;
30
+ },
31
+ getQrCode: useWalletConnectOfficialModal ? undefined : getQrCode,
32
+ ...rest
33
+ };
34
+ }
35
+ };
36
+ };
37
+ exports.WalletConnect = WalletConnect;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ant-design/web3-wagmi",
3
- "version": "1.1.2",
3
+ "version": "2.0.1",
4
4
  "main": "dist/lib/index.js",
5
5
  "module": "dist/esm/index.js",
6
6
  "typings": "dist/esm/index.d.ts",
@@ -31,17 +31,19 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "debug": "^4.3.4",
34
- "@ant-design/web3-assets": "1.1.2",
35
- "@ant-design/web3-common": "1.1.2"
34
+ "@wagmi/core": "^2.0.0",
35
+ "viem": "2.0.0",
36
+ "@tanstack/react-query": "^5.17.0",
37
+ "@ant-design/web3-assets": "1.1.4",
38
+ "@ant-design/web3-common": "1.3.0"
36
39
  },
37
40
  "devDependencies": {
38
41
  "@types/debug": "^4.1.12",
39
- "@wagmi/core": "^1.4.12",
40
42
  "father": "^4.3.8",
41
43
  "typescript": "^5.3.3"
42
44
  },
43
45
  "peerDependencies": {
44
- "wagmi": "^1.4.12"
46
+ "wagmi": "^2.0.0"
45
47
  },
46
48
  "publishConfig": {
47
49
  "registry": "https://registry.npmjs.org",