@wagmi/connectors 5.0.0 → 5.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.
@@ -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,229 @@ 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
+ // Unwrap import
89
+ const { default: SDK_ } = await import('@coinbase/wallet-sdk');
90
+ let SDK;
91
+ if (typeof SDK_ !== 'function' && typeof SDK_.default === 'function')
92
+ SDK = SDK_.default;
93
+ else
94
+ SDK = SDK_;
95
+ sdk = new SDK({
96
+ ...parameters,
97
+ appChainIds: config.chains.map((x) => x.id),
98
+ });
99
+ walletProvider = sdk.makeWeb3Provider({
100
+ ...parameters,
101
+ options: parameters.preference ?? 'all',
102
+ });
103
+ }
104
+ return walletProvider;
105
+ },
106
+ async isAuthorized() {
107
+ try {
108
+ const accounts = await this.getAccounts();
109
+ return !!accounts.length;
110
+ }
111
+ catch {
112
+ return false;
113
+ }
114
+ },
115
+ async switchChain({ addEthereumChainParameter, chainId }) {
116
+ const chain = config.chains.find((chain) => chain.id === chainId);
117
+ if (!chain)
118
+ throw new SwitchChainError(new ChainNotConfiguredError());
119
+ const provider = await this.getProvider();
120
+ try {
121
+ await provider.request({
122
+ method: 'wallet_switchEthereumChain',
123
+ params: [{ chainId: numberToHex(chain.id) }],
124
+ });
125
+ return chain;
126
+ }
127
+ catch (error) {
128
+ // Indicates chain is not added to provider
129
+ if (error.code === 4902) {
130
+ try {
131
+ let blockExplorerUrls;
132
+ if (addEthereumChainParameter?.blockExplorerUrls)
133
+ blockExplorerUrls = addEthereumChainParameter.blockExplorerUrls;
134
+ else
135
+ blockExplorerUrls = chain.blockExplorers?.default.url
136
+ ? [chain.blockExplorers?.default.url]
137
+ : [];
138
+ let rpcUrls;
139
+ if (addEthereumChainParameter?.rpcUrls?.length)
140
+ rpcUrls = addEthereumChainParameter.rpcUrls;
141
+ else
142
+ rpcUrls = [chain.rpcUrls.default?.http[0] ?? ''];
143
+ const addEthereumChain = {
144
+ blockExplorerUrls,
145
+ chainId: numberToHex(chainId),
146
+ chainName: addEthereumChainParameter?.chainName ?? chain.name,
147
+ iconUrls: addEthereumChainParameter?.iconUrls,
148
+ nativeCurrency: addEthereumChainParameter?.nativeCurrency ??
149
+ chain.nativeCurrency,
150
+ rpcUrls,
151
+ };
152
+ await provider.request({
153
+ method: 'wallet_addEthereumChain',
154
+ params: [addEthereumChain],
155
+ });
156
+ return chain;
157
+ }
158
+ catch (error) {
159
+ throw new UserRejectedRequestError(error);
160
+ }
63
161
  }
64
- class SDK {
162
+ throw new SwitchChainError(error);
163
+ }
164
+ },
165
+ onAccountsChanged(accounts) {
166
+ if (accounts.length === 0)
167
+ this.onDisconnect();
168
+ else
169
+ config.emitter.emit('change', {
170
+ accounts: accounts.map((x) => getAddress(x)),
171
+ });
172
+ },
173
+ onChainChanged(chain) {
174
+ const chainId = Number(chain);
175
+ config.emitter.emit('change', { chainId });
176
+ },
177
+ async onDisconnect(_error) {
178
+ config.emitter.emit('disconnect');
179
+ const provider = await this.getProvider();
180
+ if (accountsChanged) {
181
+ provider.removeListener('accountsChanged', accountsChanged);
182
+ accountsChanged = undefined;
183
+ }
184
+ if (chainChanged) {
185
+ provider.removeListener('chainChanged', chainChanged);
186
+ chainChanged = undefined;
187
+ }
188
+ if (disconnect) {
189
+ provider.removeListener('disconnect', disconnect);
190
+ disconnect = undefined;
191
+ }
192
+ },
193
+ }));
194
+ }
195
+ function version3(parameters) {
196
+ const reloadOnDisconnect = false;
197
+ let sdk;
198
+ let walletProvider;
199
+ let accountsChanged;
200
+ let chainChanged;
201
+ let disconnect;
202
+ return createConnector((config) => ({
203
+ id: 'coinbaseWalletSDK',
204
+ name: 'Coinbase Wallet',
205
+ supportsSimulation: true,
206
+ type: coinbaseWallet.type,
207
+ async connect({ chainId } = {}) {
208
+ try {
209
+ const provider = await this.getProvider();
210
+ const accounts = (await provider.request({
211
+ method: 'eth_requestAccounts',
212
+ })).map((x) => getAddress(x));
213
+ if (!accountsChanged) {
214
+ accountsChanged = this.onAccountsChanged.bind(this);
215
+ provider.on('accountsChanged', accountsChanged);
216
+ }
217
+ if (!chainChanged) {
218
+ chainChanged = this.onChainChanged.bind(this);
219
+ provider.on('chainChanged', chainChanged);
220
+ }
221
+ if (!disconnect) {
222
+ disconnect = this.onDisconnect.bind(this);
223
+ provider.on('disconnect', disconnect);
65
224
  }
225
+ // Switch to chain if provided
226
+ let currentChainId = await this.getChainId();
227
+ if (chainId && currentChainId !== chainId) {
228
+ const chain = await this.switchChain({ chainId }).catch((error) => {
229
+ if (error.code === UserRejectedRequestError.code)
230
+ throw error;
231
+ return { id: currentChainId };
232
+ });
233
+ currentChainId = chain?.id ?? currentChainId;
234
+ }
235
+ return { accounts, chainId: currentChainId };
236
+ }
237
+ catch (error) {
238
+ if (/(user closed modal|accounts received is empty|user denied account)/i.test(error.message))
239
+ throw new UserRejectedRequestError(error);
240
+ throw error;
241
+ }
242
+ },
243
+ async disconnect() {
244
+ const provider = await this.getProvider();
245
+ if (accountsChanged) {
246
+ provider.removeListener('accountsChanged', accountsChanged);
247
+ accountsChanged = undefined;
248
+ }
249
+ if (chainChanged) {
250
+ provider.removeListener('chainChanged', chainChanged);
251
+ chainChanged = undefined;
252
+ }
253
+ if (disconnect) {
254
+ provider.removeListener('disconnect', disconnect);
255
+ disconnect = undefined;
256
+ }
257
+ provider.disconnect();
258
+ provider.close();
259
+ },
260
+ async getAccounts() {
261
+ const provider = await this.getProvider();
262
+ return (await provider.request({
263
+ method: 'eth_accounts',
264
+ })).map((x) => getAddress(x));
265
+ },
266
+ async getChainId() {
267
+ const provider = await this.getProvider();
268
+ const chainId = await provider.request({ method: 'eth_chainId' });
269
+ return Number(chainId);
270
+ },
271
+ async getProvider() {
272
+ if (!walletProvider) {
273
+ const { default: SDK_ } = await import('cbw-sdk');
274
+ let SDK;
275
+ if (typeof SDK_ !== 'function' && typeof SDK_.default === 'function')
276
+ SDK = SDK_.default;
277
+ else
278
+ SDK = SDK_;
279
+ sdk = new SDK({ reloadOnDisconnect, ...parameters });
280
+ // Force types to retrieve private `walletExtension` method from the Coinbase Wallet SDK.
66
281
  const walletExtensionChainId = sdk.walletExtension?.getChainId();
67
282
  const chain = config.chains.find((chain) => parameters.chainId
68
283
  ? chain.id === parameters.chainId
@@ -82,16 +297,15 @@ export function coinbaseWallet(parameters) {
82
297
  return false;
83
298
  }
84
299
  },
85
- async switchChain({ chainId }) {
300
+ async switchChain({ addEthereumChainParameter, chainId }) {
86
301
  const chain = config.chains.find((chain) => chain.id === chainId);
87
302
  if (!chain)
88
303
  throw new SwitchChainError(new ChainNotConfiguredError());
89
304
  const provider = await this.getProvider();
90
- const chainId_ = numberToHex(chain.id);
91
305
  try {
92
306
  await provider.request({
93
307
  method: 'wallet_switchEthereumChain',
94
- params: [{ chainId: chainId_ }],
308
+ params: [{ chainId: numberToHex(chain.id) }],
95
309
  });
96
310
  return chain;
97
311
  }
@@ -99,17 +313,30 @@ export function coinbaseWallet(parameters) {
99
313
  // Indicates chain is not added to provider
100
314
  if (error.code === 4902) {
101
315
  try {
316
+ let blockExplorerUrls;
317
+ if (addEthereumChainParameter?.blockExplorerUrls)
318
+ blockExplorerUrls = addEthereumChainParameter.blockExplorerUrls;
319
+ else
320
+ blockExplorerUrls = chain.blockExplorers?.default.url
321
+ ? [chain.blockExplorers?.default.url]
322
+ : [];
323
+ let rpcUrls;
324
+ if (addEthereumChainParameter?.rpcUrls?.length)
325
+ rpcUrls = addEthereumChainParameter.rpcUrls;
326
+ else
327
+ rpcUrls = [chain.rpcUrls.default?.http[0] ?? ''];
328
+ const addEthereumChain = {
329
+ blockExplorerUrls,
330
+ chainId: numberToHex(chainId),
331
+ chainName: addEthereumChainParameter?.chainName ?? chain.name,
332
+ iconUrls: addEthereumChainParameter?.iconUrls,
333
+ nativeCurrency: addEthereumChainParameter?.nativeCurrency ??
334
+ chain.nativeCurrency,
335
+ rpcUrls,
336
+ };
102
337
  await provider.request({
103
338
  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
- ],
339
+ params: [addEthereumChain],
113
340
  });
114
341
  return chain;
115
342
  }
@@ -122,20 +349,31 @@ export function coinbaseWallet(parameters) {
122
349
  },
123
350
  onAccountsChanged(accounts) {
124
351
  if (accounts.length === 0)
125
- config.emitter.emit('disconnect');
352
+ this.onDisconnect();
126
353
  else
127
- config.emitter.emit('change', { accounts: accounts.map(getAddress) });
354
+ config.emitter.emit('change', {
355
+ accounts: accounts.map((x) => getAddress(x)),
356
+ });
128
357
  },
129
358
  onChainChanged(chain) {
130
- const chainId = normalizeChainId(chain);
359
+ const chainId = Number(chain);
131
360
  config.emitter.emit('change', { chainId });
132
361
  },
133
362
  async onDisconnect(_error) {
134
363
  config.emitter.emit('disconnect');
135
364
  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));
365
+ if (accountsChanged) {
366
+ provider.removeListener('accountsChanged', accountsChanged);
367
+ accountsChanged = undefined;
368
+ }
369
+ if (chainChanged) {
370
+ provider.removeListener('chainChanged', chainChanged);
371
+ chainChanged = undefined;
372
+ }
373
+ if (disconnect) {
374
+ provider.removeListener('disconnect', disconnect);
375
+ disconnect = undefined;
376
+ }
139
377
  },
140
378
  }));
141
379
  }
@@ -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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"}