@wagmi/connectors 5.0.0 → 5.0.2

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.
@@ -1,24 +1,40 @@
1
- import { CoinbaseWalletSDK, } from '@coinbase/wallet-sdk';
2
- import { ChainNotConfiguredError, createConnector, normalizeChainId, } from '@wagmi/core';
1
+ import { ChainNotConfiguredError, createConnector, } from '@wagmi/core';
3
2
  import { SwitchChainError, UserRejectedRequestError, getAddress, numberToHex, } from 'viem';
4
3
  coinbaseWallet.type = 'coinbaseWallet';
5
- export function coinbaseWallet(parameters) {
6
- const reloadOnDisconnect = false;
4
+ export function coinbaseWallet(parameters = {}) {
5
+ if (parameters.version === '3' || parameters.headlessMode)
6
+ return version3(parameters);
7
+ return version4(parameters);
8
+ }
9
+ function version4(parameters) {
7
10
  let sdk;
8
11
  let walletProvider;
12
+ let accountsChanged;
13
+ let chainChanged;
14
+ let disconnect;
9
15
  return createConnector((config) => ({
10
16
  id: 'coinbaseWalletSDK',
11
17
  name: 'Coinbase Wallet',
18
+ supportsSimulation: true,
12
19
  type: coinbaseWallet.type,
13
20
  async connect({ chainId } = {}) {
14
21
  try {
15
22
  const provider = await this.getProvider();
16
23
  const accounts = (await provider.request({
17
24
  method: 'eth_requestAccounts',
18
- })).map(getAddress);
19
- provider.on('accountsChanged', this.onAccountsChanged);
20
- provider.on('chainChanged', this.onChainChanged);
21
- provider.on('disconnect', this.onDisconnect.bind(this));
25
+ })).map((x) => getAddress(x));
26
+ if (!accountsChanged) {
27
+ accountsChanged = this.onAccountsChanged.bind(this);
28
+ provider.on('accountsChanged', accountsChanged);
29
+ }
30
+ if (!chainChanged) {
31
+ chainChanged = this.onChainChanged.bind(this);
32
+ provider.on('chainChanged', chainChanged);
33
+ }
34
+ if (!disconnect) {
35
+ disconnect = this.onDisconnect.bind(this);
36
+ provider.on('disconnect', disconnect);
37
+ }
22
38
  // Switch to chain if provided
23
39
  let currentChainId = await this.getChainId();
24
40
  if (chainId && currentChainId !== chainId) {
@@ -39,30 +55,231 @@ export function coinbaseWallet(parameters) {
39
55
  },
40
56
  async disconnect() {
41
57
  const provider = await this.getProvider();
42
- provider.removeListener('accountsChanged', this.onAccountsChanged);
43
- provider.removeListener('chainChanged', this.onChainChanged);
44
- provider.removeListener('disconnect', this.onDisconnect.bind(this));
58
+ if (accountsChanged) {
59
+ provider.removeListener('accountsChanged', accountsChanged);
60
+ accountsChanged = undefined;
61
+ }
62
+ if (chainChanged) {
63
+ provider.removeListener('chainChanged', chainChanged);
64
+ chainChanged = undefined;
65
+ }
66
+ if (disconnect) {
67
+ provider.removeListener('disconnect', disconnect);
68
+ disconnect = undefined;
69
+ }
45
70
  provider.disconnect();
46
- provider.close();
71
+ provider.close?.();
47
72
  },
48
73
  async getAccounts() {
49
74
  const provider = await this.getProvider();
50
75
  return (await provider.request({
51
76
  method: 'eth_accounts',
52
- })).map(getAddress);
77
+ })).map((x) => getAddress(x));
53
78
  },
54
79
  async getChainId() {
55
80
  const provider = await this.getProvider();
56
- return normalizeChainId(provider.chainId);
81
+ const chainId = await provider.request({
82
+ method: 'eth_chainId',
83
+ });
84
+ return Number(chainId);
57
85
  },
58
86
  async getProvider() {
59
87
  if (!walletProvider) {
60
- sdk = new CoinbaseWalletSDK({ reloadOnDisconnect, ...parameters });
61
- // Mock implementations to retrieve private `walletExtension` method from the Coinbase Wallet SDK.
62
- class WalletProvider {
88
+ // Unwrapping import for Vite compatibility.
89
+ // See: https://github.com/vitejs/vite/issues/9703
90
+ const { default: CoinbaseSDK_ } = await import('@coinbase/wallet-sdk');
91
+ const CoinbaseSDK = (() => {
92
+ if (typeof CoinbaseSDK_ !== 'function' &&
93
+ typeof CoinbaseSDK_.default === 'function')
94
+ return CoinbaseSDK_.default;
95
+ return CoinbaseSDK_;
96
+ })();
97
+ sdk = new CoinbaseSDK({
98
+ ...parameters,
99
+ appChainIds: config.chains.map((x) => x.id),
100
+ });
101
+ walletProvider = sdk.makeWeb3Provider({
102
+ ...parameters,
103
+ options: parameters.preference ?? 'all',
104
+ });
105
+ }
106
+ return walletProvider;
107
+ },
108
+ async isAuthorized() {
109
+ try {
110
+ const accounts = await this.getAccounts();
111
+ return !!accounts.length;
112
+ }
113
+ catch {
114
+ return false;
115
+ }
116
+ },
117
+ async switchChain({ addEthereumChainParameter, chainId }) {
118
+ const chain = config.chains.find((chain) => chain.id === chainId);
119
+ if (!chain)
120
+ throw new SwitchChainError(new ChainNotConfiguredError());
121
+ const provider = await this.getProvider();
122
+ try {
123
+ await provider.request({
124
+ method: 'wallet_switchEthereumChain',
125
+ params: [{ chainId: numberToHex(chain.id) }],
126
+ });
127
+ return chain;
128
+ }
129
+ catch (error) {
130
+ // Indicates chain is not added to provider
131
+ if (error.code === 4902) {
132
+ try {
133
+ let blockExplorerUrls;
134
+ if (addEthereumChainParameter?.blockExplorerUrls)
135
+ blockExplorerUrls = addEthereumChainParameter.blockExplorerUrls;
136
+ else
137
+ blockExplorerUrls = chain.blockExplorers?.default.url
138
+ ? [chain.blockExplorers?.default.url]
139
+ : [];
140
+ let rpcUrls;
141
+ if (addEthereumChainParameter?.rpcUrls?.length)
142
+ rpcUrls = addEthereumChainParameter.rpcUrls;
143
+ else
144
+ rpcUrls = [chain.rpcUrls.default?.http[0] ?? ''];
145
+ const addEthereumChain = {
146
+ blockExplorerUrls,
147
+ chainId: numberToHex(chainId),
148
+ chainName: addEthereumChainParameter?.chainName ?? chain.name,
149
+ iconUrls: addEthereumChainParameter?.iconUrls,
150
+ nativeCurrency: addEthereumChainParameter?.nativeCurrency ??
151
+ chain.nativeCurrency,
152
+ rpcUrls,
153
+ };
154
+ await provider.request({
155
+ method: 'wallet_addEthereumChain',
156
+ params: [addEthereumChain],
157
+ });
158
+ return chain;
159
+ }
160
+ catch (error) {
161
+ throw new UserRejectedRequestError(error);
162
+ }
63
163
  }
64
- class SDK {
164
+ throw new SwitchChainError(error);
165
+ }
166
+ },
167
+ onAccountsChanged(accounts) {
168
+ if (accounts.length === 0)
169
+ this.onDisconnect();
170
+ else
171
+ config.emitter.emit('change', {
172
+ accounts: accounts.map((x) => getAddress(x)),
173
+ });
174
+ },
175
+ onChainChanged(chain) {
176
+ const chainId = Number(chain);
177
+ config.emitter.emit('change', { chainId });
178
+ },
179
+ async onDisconnect(_error) {
180
+ config.emitter.emit('disconnect');
181
+ const provider = await this.getProvider();
182
+ if (accountsChanged) {
183
+ provider.removeListener('accountsChanged', accountsChanged);
184
+ accountsChanged = undefined;
185
+ }
186
+ if (chainChanged) {
187
+ provider.removeListener('chainChanged', chainChanged);
188
+ chainChanged = undefined;
189
+ }
190
+ if (disconnect) {
191
+ provider.removeListener('disconnect', disconnect);
192
+ disconnect = undefined;
193
+ }
194
+ },
195
+ }));
196
+ }
197
+ function version3(parameters) {
198
+ const reloadOnDisconnect = false;
199
+ let sdk;
200
+ let walletProvider;
201
+ let accountsChanged;
202
+ let chainChanged;
203
+ let disconnect;
204
+ return createConnector((config) => ({
205
+ id: 'coinbaseWalletSDK',
206
+ name: 'Coinbase Wallet',
207
+ supportsSimulation: true,
208
+ type: coinbaseWallet.type,
209
+ async connect({ chainId } = {}) {
210
+ try {
211
+ const provider = await this.getProvider();
212
+ const accounts = (await provider.request({
213
+ method: 'eth_requestAccounts',
214
+ })).map((x) => getAddress(x));
215
+ if (!accountsChanged) {
216
+ accountsChanged = this.onAccountsChanged.bind(this);
217
+ provider.on('accountsChanged', accountsChanged);
218
+ }
219
+ if (!chainChanged) {
220
+ chainChanged = this.onChainChanged.bind(this);
221
+ provider.on('chainChanged', chainChanged);
222
+ }
223
+ if (!disconnect) {
224
+ disconnect = this.onDisconnect.bind(this);
225
+ provider.on('disconnect', disconnect);
65
226
  }
227
+ // Switch to chain if provided
228
+ let currentChainId = await this.getChainId();
229
+ if (chainId && currentChainId !== chainId) {
230
+ const chain = await this.switchChain({ chainId }).catch((error) => {
231
+ if (error.code === UserRejectedRequestError.code)
232
+ throw error;
233
+ return { id: currentChainId };
234
+ });
235
+ currentChainId = chain?.id ?? currentChainId;
236
+ }
237
+ return { accounts, chainId: currentChainId };
238
+ }
239
+ catch (error) {
240
+ if (/(user closed modal|accounts received is empty|user denied account)/i.test(error.message))
241
+ throw new UserRejectedRequestError(error);
242
+ throw error;
243
+ }
244
+ },
245
+ async disconnect() {
246
+ const provider = await this.getProvider();
247
+ if (accountsChanged) {
248
+ provider.removeListener('accountsChanged', accountsChanged);
249
+ accountsChanged = undefined;
250
+ }
251
+ if (chainChanged) {
252
+ provider.removeListener('chainChanged', chainChanged);
253
+ chainChanged = undefined;
254
+ }
255
+ if (disconnect) {
256
+ provider.removeListener('disconnect', disconnect);
257
+ disconnect = undefined;
258
+ }
259
+ provider.disconnect();
260
+ provider.close();
261
+ },
262
+ async getAccounts() {
263
+ const provider = await this.getProvider();
264
+ return (await provider.request({
265
+ method: 'eth_accounts',
266
+ })).map((x) => getAddress(x));
267
+ },
268
+ async getChainId() {
269
+ const provider = await this.getProvider();
270
+ const chainId = await provider.request({ method: 'eth_chainId' });
271
+ return Number(chainId);
272
+ },
273
+ async getProvider() {
274
+ if (!walletProvider) {
275
+ const { default: SDK_ } = await import('cbw-sdk');
276
+ let SDK;
277
+ if (typeof SDK_ !== 'function' && typeof SDK_.default === 'function')
278
+ SDK = SDK_.default;
279
+ else
280
+ SDK = SDK_;
281
+ sdk = new SDK({ reloadOnDisconnect, ...parameters });
282
+ // Force types to retrieve private `walletExtension` method from the Coinbase Wallet SDK.
66
283
  const walletExtensionChainId = sdk.walletExtension?.getChainId();
67
284
  const chain = config.chains.find((chain) => parameters.chainId
68
285
  ? chain.id === parameters.chainId
@@ -82,16 +299,15 @@ export function coinbaseWallet(parameters) {
82
299
  return false;
83
300
  }
84
301
  },
85
- async switchChain({ chainId }) {
302
+ async switchChain({ addEthereumChainParameter, chainId }) {
86
303
  const chain = config.chains.find((chain) => chain.id === chainId);
87
304
  if (!chain)
88
305
  throw new SwitchChainError(new ChainNotConfiguredError());
89
306
  const provider = await this.getProvider();
90
- const chainId_ = numberToHex(chain.id);
91
307
  try {
92
308
  await provider.request({
93
309
  method: 'wallet_switchEthereumChain',
94
- params: [{ chainId: chainId_ }],
310
+ params: [{ chainId: numberToHex(chain.id) }],
95
311
  });
96
312
  return chain;
97
313
  }
@@ -99,17 +315,30 @@ export function coinbaseWallet(parameters) {
99
315
  // Indicates chain is not added to provider
100
316
  if (error.code === 4902) {
101
317
  try {
318
+ let blockExplorerUrls;
319
+ if (addEthereumChainParameter?.blockExplorerUrls)
320
+ blockExplorerUrls = addEthereumChainParameter.blockExplorerUrls;
321
+ else
322
+ blockExplorerUrls = chain.blockExplorers?.default.url
323
+ ? [chain.blockExplorers?.default.url]
324
+ : [];
325
+ let rpcUrls;
326
+ if (addEthereumChainParameter?.rpcUrls?.length)
327
+ rpcUrls = addEthereumChainParameter.rpcUrls;
328
+ else
329
+ rpcUrls = [chain.rpcUrls.default?.http[0] ?? ''];
330
+ const addEthereumChain = {
331
+ blockExplorerUrls,
332
+ chainId: numberToHex(chainId),
333
+ chainName: addEthereumChainParameter?.chainName ?? chain.name,
334
+ iconUrls: addEthereumChainParameter?.iconUrls,
335
+ nativeCurrency: addEthereumChainParameter?.nativeCurrency ??
336
+ chain.nativeCurrency,
337
+ rpcUrls,
338
+ };
102
339
  await provider.request({
103
340
  method: 'wallet_addEthereumChain',
104
- params: [
105
- {
106
- chainId: chainId_,
107
- chainName: chain.name,
108
- nativeCurrency: chain.nativeCurrency,
109
- rpcUrls: [chain.rpcUrls.default?.http[0] ?? ''],
110
- blockExplorerUrls: [chain.blockExplorers?.default.url],
111
- },
112
- ],
341
+ params: [addEthereumChain],
113
342
  });
114
343
  return chain;
115
344
  }
@@ -122,20 +351,31 @@ export function coinbaseWallet(parameters) {
122
351
  },
123
352
  onAccountsChanged(accounts) {
124
353
  if (accounts.length === 0)
125
- config.emitter.emit('disconnect');
354
+ this.onDisconnect();
126
355
  else
127
- config.emitter.emit('change', { accounts: accounts.map(getAddress) });
356
+ config.emitter.emit('change', {
357
+ accounts: accounts.map((x) => getAddress(x)),
358
+ });
128
359
  },
129
360
  onChainChanged(chain) {
130
- const chainId = normalizeChainId(chain);
361
+ const chainId = Number(chain);
131
362
  config.emitter.emit('change', { chainId });
132
363
  },
133
364
  async onDisconnect(_error) {
134
365
  config.emitter.emit('disconnect');
135
366
  const provider = await this.getProvider();
136
- provider.removeListener('accountsChanged', this.onAccountsChanged);
137
- provider.removeListener('chainChanged', this.onChainChanged);
138
- provider.removeListener('disconnect', this.onDisconnect.bind(this));
367
+ if (accountsChanged) {
368
+ provider.removeListener('accountsChanged', accountsChanged);
369
+ accountsChanged = undefined;
370
+ }
371
+ if (chainChanged) {
372
+ provider.removeListener('chainChanged', chainChanged);
373
+ chainChanged = undefined;
374
+ }
375
+ if (disconnect) {
376
+ provider.removeListener('disconnect', disconnect);
377
+ disconnect = undefined;
378
+ }
139
379
  },
140
380
  }));
141
381
  }
@@ -1 +1 @@
1
- {"version":3,"file":"coinbaseWallet.js","sourceRoot":"","sources":["../../src/coinbaseWallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coinbaseWallet.js","sourceRoot":"","sources":["../../src/coinbaseWallet.ts"],"names":[],"mappings":"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"}