@wagmi/connectors 6.1.4 → 7.0.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/esm/baseAccount.js +27 -8
- package/dist/esm/baseAccount.js.map +1 -1
- package/dist/esm/coinbaseWallet.js +4 -208
- package/dist/esm/coinbaseWallet.js.map +1 -1
- package/dist/esm/gemini.js +1 -1
- package/dist/esm/gemini.js.map +1 -1
- package/dist/esm/metaMask.js +3 -3
- package/dist/esm/metaMask.js.map +1 -1
- package/dist/esm/porto.js +2 -2
- package/dist/esm/porto.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/walletConnect.js +0 -47
- package/dist/esm/walletConnect.js.map +1 -1
- package/dist/types/baseAccount.d.ts +36 -1
- package/dist/types/baseAccount.d.ts.map +1 -1
- package/dist/types/coinbaseWallet.d.ts +9 -51
- package/dist/types/coinbaseWallet.d.ts.map +1 -1
- package/dist/types/gemini.d.ts.map +1 -1
- package/dist/types/metaMask.d.ts +1 -10
- package/dist/types/metaMask.d.ts.map +1 -1
- package/dist/types/porto.d.ts +1 -1
- package/dist/types/porto.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/walletConnect.d.ts +0 -47
- package/dist/types/walletConnect.d.ts.map +1 -1
- package/package.json +35 -14
- package/src/baseAccount.ts +75 -11
- package/src/coinbaseWallet.ts +15 -315
- package/src/gemini.ts +1 -1
- package/src/metaMask.ts +4 -13
- package/src/porto.ts +3 -2
- package/src/version.ts +1 -1
- package/src/walletConnect.ts +0 -47
package/src/coinbaseWallet.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
createCoinbaseWalletSDK,
|
|
3
|
-
Preference,
|
|
4
3
|
ProviderInterface,
|
|
5
4
|
} from '@coinbase/wallet-sdk'
|
|
6
5
|
import {
|
|
@@ -8,11 +7,7 @@ import {
|
|
|
8
7
|
type Connector,
|
|
9
8
|
createConnector,
|
|
10
9
|
} from '@wagmi/core'
|
|
11
|
-
import type {
|
|
12
|
-
import type {
|
|
13
|
-
CoinbaseWalletProvider as CBW_Provider,
|
|
14
|
-
CoinbaseWalletSDK as CBW_SDK,
|
|
15
|
-
} from 'cbw-sdk'
|
|
10
|
+
import type { Mutable, Omit } from '@wagmi/core/internal'
|
|
16
11
|
import {
|
|
17
12
|
type AddEthereumChainParameter,
|
|
18
13
|
type Address,
|
|
@@ -24,59 +19,20 @@ import {
|
|
|
24
19
|
UserRejectedRequestError,
|
|
25
20
|
} from 'viem'
|
|
26
21
|
|
|
27
|
-
type
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
? Compute<
|
|
32
|
-
{
|
|
33
|
-
headlessMode?: false | undefined
|
|
34
|
-
/** Coinbase Wallet SDK version */
|
|
35
|
-
version?: version | '3' | undefined
|
|
36
|
-
} & Version4Parameters
|
|
37
|
-
>
|
|
38
|
-
: Compute<
|
|
39
|
-
{
|
|
40
|
-
/**
|
|
41
|
-
* @deprecated `headlessMode` will be removed in the next major version. Upgrade to `version: '4'`.
|
|
42
|
-
*/
|
|
43
|
-
headlessMode?: true | undefined
|
|
44
|
-
/**
|
|
45
|
-
* Coinbase Wallet SDK version
|
|
46
|
-
* @deprecated Version 3 will be removed in the next major version. Upgrade to `version: '4'`.
|
|
47
|
-
* @default '4'
|
|
48
|
-
*/
|
|
49
|
-
version?: version | '4' | undefined
|
|
50
|
-
} & Version3Parameters
|
|
51
|
-
>
|
|
52
|
-
|
|
53
|
-
coinbaseWallet.type = 'coinbaseWallet' as const
|
|
54
|
-
export function coinbaseWallet<version extends Version>(
|
|
55
|
-
parameters: CoinbaseWalletParameters<version> = {} as any,
|
|
56
|
-
): version extends '4'
|
|
57
|
-
? ReturnType<typeof version4>
|
|
58
|
-
: ReturnType<typeof version3> {
|
|
59
|
-
if (parameters.version === '3' || parameters.headlessMode)
|
|
60
|
-
return version3(parameters as Version3Parameters) as any
|
|
61
|
-
return version4(parameters as Version4Parameters) as any
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
type Version4Parameters = Mutable<
|
|
22
|
+
export type CoinbaseWalletParameters<
|
|
23
|
+
/** @deprecated remove */
|
|
24
|
+
_ = unknown,
|
|
25
|
+
> = Mutable<
|
|
65
26
|
Omit<
|
|
66
27
|
Parameters<typeof createCoinbaseWalletSDK>[0],
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
> & {
|
|
70
|
-
// TODO(v3): Remove `Preference['options']`
|
|
71
|
-
/**
|
|
72
|
-
* Preference for the type of wallet to display.
|
|
73
|
-
* @default 'all'
|
|
74
|
-
*/
|
|
75
|
-
preference?: Preference['options'] | Compute<Preference> | undefined
|
|
76
|
-
}
|
|
28
|
+
'appChainIds' // set via wagmi config
|
|
29
|
+
>
|
|
77
30
|
>
|
|
78
31
|
|
|
79
|
-
|
|
32
|
+
coinbaseWallet.type = 'coinbaseWallet' as const
|
|
33
|
+
export function coinbaseWallet(
|
|
34
|
+
parameters: CoinbaseWalletParameters = {} as any,
|
|
35
|
+
) {
|
|
80
36
|
type Provider = ProviderInterface & {
|
|
81
37
|
// for backwards compatibility
|
|
82
38
|
close?(): void
|
|
@@ -195,20 +151,14 @@ function version4(parameters: Version4Parameters) {
|
|
|
195
151
|
},
|
|
196
152
|
async getProvider() {
|
|
197
153
|
if (!walletProvider) {
|
|
198
|
-
const preference = (() => {
|
|
199
|
-
if (typeof parameters.preference === 'string')
|
|
200
|
-
return { options: parameters.preference }
|
|
201
|
-
return {
|
|
202
|
-
...parameters.preference,
|
|
203
|
-
options: parameters.preference?.options ?? 'all',
|
|
204
|
-
}
|
|
205
|
-
})()
|
|
206
|
-
|
|
207
154
|
const { createCoinbaseWalletSDK } = await import('@coinbase/wallet-sdk')
|
|
208
155
|
const sdk = createCoinbaseWalletSDK({
|
|
209
156
|
...parameters,
|
|
210
157
|
appChainIds: config.chains.map((x) => x.id),
|
|
211
|
-
preference
|
|
158
|
+
preference: {
|
|
159
|
+
options: 'all',
|
|
160
|
+
...(parameters.preference ?? {}),
|
|
161
|
+
},
|
|
212
162
|
})
|
|
213
163
|
|
|
214
164
|
walletProvider = sdk.getProvider()
|
|
@@ -308,253 +258,3 @@ function version4(parameters: Version4Parameters) {
|
|
|
308
258
|
},
|
|
309
259
|
}))
|
|
310
260
|
}
|
|
311
|
-
|
|
312
|
-
type Version3Parameters = Mutable<
|
|
313
|
-
Omit<
|
|
314
|
-
ConstructorParameters<typeof CBW_SDK>[0],
|
|
315
|
-
'reloadOnDisconnect' // remove property since TSDoc says default is `true`
|
|
316
|
-
>
|
|
317
|
-
> & {
|
|
318
|
-
/**
|
|
319
|
-
* Fallback Ethereum JSON RPC URL
|
|
320
|
-
* @default ""
|
|
321
|
-
*/
|
|
322
|
-
jsonRpcUrl?: string | undefined
|
|
323
|
-
/**
|
|
324
|
-
* Fallback Ethereum Chain ID
|
|
325
|
-
* @default 1
|
|
326
|
-
*/
|
|
327
|
-
chainId?: number | undefined
|
|
328
|
-
/**
|
|
329
|
-
* Whether or not to reload dapp automatically after disconnect.
|
|
330
|
-
* @default false
|
|
331
|
-
*/
|
|
332
|
-
reloadOnDisconnect?: boolean | undefined
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
function version3(parameters: Version3Parameters) {
|
|
336
|
-
const reloadOnDisconnect = false
|
|
337
|
-
|
|
338
|
-
type Provider = CBW_Provider
|
|
339
|
-
|
|
340
|
-
let sdk: CBW_SDK | undefined
|
|
341
|
-
let walletProvider: Provider | undefined
|
|
342
|
-
|
|
343
|
-
let accountsChanged: Connector['onAccountsChanged'] | undefined
|
|
344
|
-
let chainChanged: Connector['onChainChanged'] | undefined
|
|
345
|
-
let disconnect: Connector['onDisconnect'] | undefined
|
|
346
|
-
|
|
347
|
-
return createConnector<Provider>((config) => ({
|
|
348
|
-
id: 'coinbaseWalletSDK',
|
|
349
|
-
name: 'Coinbase Wallet',
|
|
350
|
-
rdns: 'com.coinbase.wallet',
|
|
351
|
-
type: coinbaseWallet.type,
|
|
352
|
-
async connect({ chainId, withCapabilities } = {}) {
|
|
353
|
-
try {
|
|
354
|
-
const provider = await this.getProvider()
|
|
355
|
-
const accounts = (
|
|
356
|
-
(await provider.request({
|
|
357
|
-
method: 'eth_requestAccounts',
|
|
358
|
-
})) as string[]
|
|
359
|
-
).map((x) => getAddress(x))
|
|
360
|
-
|
|
361
|
-
if (!accountsChanged) {
|
|
362
|
-
accountsChanged = this.onAccountsChanged.bind(this)
|
|
363
|
-
provider.on('accountsChanged', accountsChanged)
|
|
364
|
-
}
|
|
365
|
-
if (!chainChanged) {
|
|
366
|
-
chainChanged = this.onChainChanged.bind(this)
|
|
367
|
-
provider.on('chainChanged', chainChanged)
|
|
368
|
-
}
|
|
369
|
-
if (!disconnect) {
|
|
370
|
-
disconnect = this.onDisconnect.bind(this)
|
|
371
|
-
provider.on('disconnect', disconnect)
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
// Switch to chain if provided
|
|
375
|
-
let currentChainId = await this.getChainId()
|
|
376
|
-
if (chainId && currentChainId !== chainId) {
|
|
377
|
-
const chain = await this.switchChain!({ chainId }).catch((error) => {
|
|
378
|
-
if (error.code === UserRejectedRequestError.code) throw error
|
|
379
|
-
return { id: currentChainId }
|
|
380
|
-
})
|
|
381
|
-
currentChainId = chain?.id ?? currentChainId
|
|
382
|
-
}
|
|
383
|
-
|
|
384
|
-
return {
|
|
385
|
-
accounts: (withCapabilities
|
|
386
|
-
? accounts.map((address) => ({ address, capabilities: {} }))
|
|
387
|
-
: accounts) as never,
|
|
388
|
-
chainId: currentChainId,
|
|
389
|
-
}
|
|
390
|
-
} catch (error) {
|
|
391
|
-
if (
|
|
392
|
-
/(user closed modal|accounts received is empty|user denied account)/i.test(
|
|
393
|
-
(error as Error).message,
|
|
394
|
-
)
|
|
395
|
-
)
|
|
396
|
-
throw new UserRejectedRequestError(error as Error)
|
|
397
|
-
throw error
|
|
398
|
-
}
|
|
399
|
-
},
|
|
400
|
-
async disconnect() {
|
|
401
|
-
const provider = await this.getProvider()
|
|
402
|
-
|
|
403
|
-
if (accountsChanged) {
|
|
404
|
-
provider.removeListener('accountsChanged', accountsChanged)
|
|
405
|
-
accountsChanged = undefined
|
|
406
|
-
}
|
|
407
|
-
if (chainChanged) {
|
|
408
|
-
provider.removeListener('chainChanged', chainChanged)
|
|
409
|
-
chainChanged = undefined
|
|
410
|
-
}
|
|
411
|
-
if (disconnect) {
|
|
412
|
-
provider.removeListener('disconnect', disconnect)
|
|
413
|
-
disconnect = undefined
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
provider.disconnect()
|
|
417
|
-
provider.close()
|
|
418
|
-
},
|
|
419
|
-
async getAccounts() {
|
|
420
|
-
const provider = await this.getProvider()
|
|
421
|
-
return (
|
|
422
|
-
await provider.request<string[]>({
|
|
423
|
-
method: 'eth_accounts',
|
|
424
|
-
})
|
|
425
|
-
).map((x) => getAddress(x))
|
|
426
|
-
},
|
|
427
|
-
async getChainId() {
|
|
428
|
-
const provider = await this.getProvider()
|
|
429
|
-
const chainId = await provider.request<Hex>({
|
|
430
|
-
method: 'eth_chainId',
|
|
431
|
-
})
|
|
432
|
-
return Number(chainId)
|
|
433
|
-
},
|
|
434
|
-
async getProvider() {
|
|
435
|
-
if (!walletProvider) {
|
|
436
|
-
// Unwrapping import for Vite compatibility.
|
|
437
|
-
// See: https://github.com/vitejs/vite/issues/9703
|
|
438
|
-
const CoinbaseWalletSDK = await (async () => {
|
|
439
|
-
const { default: SDK } = await import('cbw-sdk')
|
|
440
|
-
if (typeof SDK !== 'function' && typeof SDK.default === 'function')
|
|
441
|
-
return SDK.default
|
|
442
|
-
return SDK as unknown as typeof SDK.default
|
|
443
|
-
})()
|
|
444
|
-
|
|
445
|
-
sdk = new CoinbaseWalletSDK({ ...parameters, reloadOnDisconnect })
|
|
446
|
-
|
|
447
|
-
// Force types to retrieve private `walletExtension` method from the Coinbase Wallet SDK.
|
|
448
|
-
const walletExtensionChainId = (
|
|
449
|
-
sdk as unknown as {
|
|
450
|
-
get walletExtension(): { getChainId(): number } | undefined
|
|
451
|
-
}
|
|
452
|
-
).walletExtension?.getChainId()
|
|
453
|
-
|
|
454
|
-
const chain =
|
|
455
|
-
config.chains.find((chain) =>
|
|
456
|
-
parameters.chainId
|
|
457
|
-
? chain.id === parameters.chainId
|
|
458
|
-
: chain.id === walletExtensionChainId,
|
|
459
|
-
) || config.chains[0]
|
|
460
|
-
const chainId = parameters.chainId || chain?.id
|
|
461
|
-
const jsonRpcUrl =
|
|
462
|
-
parameters.jsonRpcUrl || chain?.rpcUrls.default.http[0]
|
|
463
|
-
|
|
464
|
-
walletProvider = sdk.makeWeb3Provider(jsonRpcUrl, chainId)
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
return walletProvider
|
|
468
|
-
},
|
|
469
|
-
async isAuthorized() {
|
|
470
|
-
try {
|
|
471
|
-
const accounts = await this.getAccounts()
|
|
472
|
-
return !!accounts.length
|
|
473
|
-
} catch {
|
|
474
|
-
return false
|
|
475
|
-
}
|
|
476
|
-
},
|
|
477
|
-
async switchChain({ addEthereumChainParameter, chainId }) {
|
|
478
|
-
const chain = config.chains.find((chain) => chain.id === chainId)
|
|
479
|
-
if (!chain) throw new SwitchChainError(new ChainNotConfiguredError())
|
|
480
|
-
|
|
481
|
-
const provider = await this.getProvider()
|
|
482
|
-
|
|
483
|
-
try {
|
|
484
|
-
await provider.request({
|
|
485
|
-
method: 'wallet_switchEthereumChain',
|
|
486
|
-
params: [{ chainId: numberToHex(chain.id) }],
|
|
487
|
-
})
|
|
488
|
-
return chain
|
|
489
|
-
} catch (error) {
|
|
490
|
-
// Indicates chain is not added to provider
|
|
491
|
-
if ((error as ProviderRpcError).code === 4902) {
|
|
492
|
-
try {
|
|
493
|
-
let blockExplorerUrls: string[] | undefined
|
|
494
|
-
if (addEthereumChainParameter?.blockExplorerUrls)
|
|
495
|
-
blockExplorerUrls = addEthereumChainParameter.blockExplorerUrls
|
|
496
|
-
else
|
|
497
|
-
blockExplorerUrls = chain.blockExplorers?.default.url
|
|
498
|
-
? [chain.blockExplorers?.default.url]
|
|
499
|
-
: []
|
|
500
|
-
|
|
501
|
-
let rpcUrls: readonly string[]
|
|
502
|
-
if (addEthereumChainParameter?.rpcUrls?.length)
|
|
503
|
-
rpcUrls = addEthereumChainParameter.rpcUrls
|
|
504
|
-
else rpcUrls = [chain.rpcUrls.default?.http[0] ?? '']
|
|
505
|
-
|
|
506
|
-
const addEthereumChain = {
|
|
507
|
-
blockExplorerUrls,
|
|
508
|
-
chainId: numberToHex(chainId),
|
|
509
|
-
chainName: addEthereumChainParameter?.chainName ?? chain.name,
|
|
510
|
-
iconUrls: addEthereumChainParameter?.iconUrls,
|
|
511
|
-
nativeCurrency:
|
|
512
|
-
addEthereumChainParameter?.nativeCurrency ??
|
|
513
|
-
chain.nativeCurrency,
|
|
514
|
-
rpcUrls,
|
|
515
|
-
} satisfies AddEthereumChainParameter
|
|
516
|
-
|
|
517
|
-
await provider.request({
|
|
518
|
-
method: 'wallet_addEthereumChain',
|
|
519
|
-
params: [addEthereumChain],
|
|
520
|
-
})
|
|
521
|
-
|
|
522
|
-
return chain
|
|
523
|
-
} catch (error) {
|
|
524
|
-
throw new UserRejectedRequestError(error as Error)
|
|
525
|
-
}
|
|
526
|
-
}
|
|
527
|
-
|
|
528
|
-
throw new SwitchChainError(error as Error)
|
|
529
|
-
}
|
|
530
|
-
},
|
|
531
|
-
onAccountsChanged(accounts) {
|
|
532
|
-
if (accounts.length === 0) this.onDisconnect()
|
|
533
|
-
else
|
|
534
|
-
config.emitter.emit('change', {
|
|
535
|
-
accounts: accounts.map((x) => getAddress(x)),
|
|
536
|
-
})
|
|
537
|
-
},
|
|
538
|
-
onChainChanged(chain) {
|
|
539
|
-
const chainId = Number(chain)
|
|
540
|
-
config.emitter.emit('change', { chainId })
|
|
541
|
-
},
|
|
542
|
-
async onDisconnect(_error) {
|
|
543
|
-
config.emitter.emit('disconnect')
|
|
544
|
-
|
|
545
|
-
const provider = await this.getProvider()
|
|
546
|
-
if (accountsChanged) {
|
|
547
|
-
provider.removeListener('accountsChanged', accountsChanged)
|
|
548
|
-
accountsChanged = undefined
|
|
549
|
-
}
|
|
550
|
-
if (chainChanged) {
|
|
551
|
-
provider.removeListener('chainChanged', chainChanged)
|
|
552
|
-
chainChanged = undefined
|
|
553
|
-
}
|
|
554
|
-
if (disconnect) {
|
|
555
|
-
provider.removeListener('disconnect', disconnect)
|
|
556
|
-
disconnect = undefined
|
|
557
|
-
}
|
|
558
|
-
},
|
|
559
|
-
}))
|
|
560
|
-
}
|
package/src/gemini.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { AppMetadata, ProviderInterface } from '@gemini-wallet/core'
|
|
2
|
-
import { GeminiWalletProvider } from '@gemini-wallet/core'
|
|
3
2
|
import {
|
|
4
3
|
ChainNotConfiguredError,
|
|
5
4
|
type Connector,
|
|
@@ -110,6 +109,7 @@ export function gemini(parameters: GeminiParameters = {}) {
|
|
|
110
109
|
},
|
|
111
110
|
async getProvider() {
|
|
112
111
|
if (!walletProvider) {
|
|
112
|
+
const { GeminiWalletProvider } = await import('@gemini-wallet/core')
|
|
113
113
|
walletProvider = new GeminiWalletProvider({
|
|
114
114
|
appMetadata: parameters.appMetadata ?? {},
|
|
115
115
|
chain: {
|
package/src/metaMask.ts
CHANGED
|
@@ -61,16 +61,7 @@ type WagmiMetaMaskSDKOptions = Compute<
|
|
|
61
61
|
| 'useDeeplink'
|
|
62
62
|
| 'readonlyRPCMap'
|
|
63
63
|
>
|
|
64
|
-
>
|
|
65
|
-
/** @deprecated */
|
|
66
|
-
forceDeleteProvider?: MetaMaskSDKOptions['forceDeleteProvider']
|
|
67
|
-
/** @deprecated */
|
|
68
|
-
forceInjectProvider?: MetaMaskSDKOptions['forceInjectProvider']
|
|
69
|
-
/** @deprecated */
|
|
70
|
-
injectProvider?: MetaMaskSDKOptions['injectProvider']
|
|
71
|
-
/** @deprecated */
|
|
72
|
-
useDeeplink?: MetaMaskSDKOptions['useDeeplink']
|
|
73
|
-
}
|
|
64
|
+
>
|
|
74
65
|
>
|
|
75
66
|
|
|
76
67
|
metaMask.type = 'metaMask' as const
|
|
@@ -259,12 +250,12 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
|
|
|
259
250
|
})?.[0]
|
|
260
251
|
|
|
261
252
|
sdk = new MetaMaskSDK({
|
|
253
|
+
// Workaround cast since MetaMask SDK does not support `'exactOptionalPropertyTypes'`
|
|
254
|
+
...(parameters as RemoveUndefined<typeof parameters>),
|
|
262
255
|
_source: 'wagmi',
|
|
263
256
|
forceDeleteProvider: false,
|
|
264
257
|
forceInjectProvider: false,
|
|
265
258
|
injectProvider: false,
|
|
266
|
-
// Workaround cast since MetaMask SDK does not support `'exactOptionalPropertyTypes'`
|
|
267
|
-
...(parameters as RemoveUndefined<typeof parameters>),
|
|
268
259
|
readonlyRPCMap,
|
|
269
260
|
dappMetadata: {
|
|
270
261
|
...parameters.dappMetadata,
|
|
@@ -278,7 +269,7 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
|
|
|
278
269
|
? window.location.origin
|
|
279
270
|
: 'https://wagmi.sh',
|
|
280
271
|
},
|
|
281
|
-
useDeeplink:
|
|
272
|
+
useDeeplink: true,
|
|
282
273
|
})
|
|
283
274
|
const result = await sdk.init()
|
|
284
275
|
// On initial load, sometimes `sdk.getProvider` does not return provider.
|
package/src/porto.ts
CHANGED
|
@@ -4,8 +4,7 @@ import {
|
|
|
4
4
|
createConnector,
|
|
5
5
|
} from '@wagmi/core'
|
|
6
6
|
import type { ExactPartial } from '@wagmi/core/internal'
|
|
7
|
-
import {
|
|
8
|
-
import { z } from 'porto/internal'
|
|
7
|
+
import type { Porto, RpcSchema } from 'porto'
|
|
9
8
|
import {
|
|
10
9
|
type Address,
|
|
11
10
|
getAddress,
|
|
@@ -89,6 +88,8 @@ export function porto(parameters: PortoParameters = {}) {
|
|
|
89
88
|
|
|
90
89
|
try {
|
|
91
90
|
if (!accounts?.length && !isReconnecting) {
|
|
91
|
+
const { RpcSchema } = await import('porto')
|
|
92
|
+
const { z } = await import('porto/internal')
|
|
92
93
|
const res = await provider.request({
|
|
93
94
|
method: 'wallet_connect',
|
|
94
95
|
params: [
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '
|
|
1
|
+
export const version = '7.0.0'
|
package/src/walletConnect.ts
CHANGED
|
@@ -73,53 +73,6 @@ export type WalletConnectParameters = Compute<
|
|
|
73
73
|
>
|
|
74
74
|
|
|
75
75
|
walletConnect.type = 'walletConnect' as const
|
|
76
|
-
/**
|
|
77
|
-
* @deprecated **NOTE: This connector uses a vulnerable dependency downstream** (`@walletconnect/ethereum-provider@2.21.1` > `@reown/appkit@1.8.9` > `@reown/appkit-utils@1.8.9` > `@walletconnect/logger@2.1.2` > `pino@7.11.0`). You should override `pino` to a secure version via your package manager:
|
|
78
|
-
*
|
|
79
|
-
* ### npm
|
|
80
|
-
* ```json
|
|
81
|
-
* {
|
|
82
|
-
* "overrides": {
|
|
83
|
-
* "@walletconnect/logger": {
|
|
84
|
-
* "pino": "10.0.0"
|
|
85
|
-
* }
|
|
86
|
-
* }
|
|
87
|
-
* }
|
|
88
|
-
* ```
|
|
89
|
-
*
|
|
90
|
-
* ### pnpm
|
|
91
|
-
* ```json
|
|
92
|
-
* {
|
|
93
|
-
* "pnpm": {
|
|
94
|
-
* "overrides": {
|
|
95
|
-
* "@walletconnect/logger>pino": "10.0.0"
|
|
96
|
-
* }
|
|
97
|
-
* }
|
|
98
|
-
* }
|
|
99
|
-
* ```
|
|
100
|
-
*
|
|
101
|
-
* ### yarn
|
|
102
|
-
* ```json
|
|
103
|
-
* {
|
|
104
|
-
* "resolutions": {
|
|
105
|
-
* "@walletconnect/logger/pino": "10.0.0"
|
|
106
|
-
* }
|
|
107
|
-
* }
|
|
108
|
-
* ```
|
|
109
|
-
*
|
|
110
|
-
* ### bun
|
|
111
|
-
* ```json
|
|
112
|
-
* {
|
|
113
|
-
* "overrides": {
|
|
114
|
-
* "@walletconnect/logger": {
|
|
115
|
-
* "pino": "10.0.0"
|
|
116
|
-
* }
|
|
117
|
-
* }
|
|
118
|
-
* }
|
|
119
|
-
* ```
|
|
120
|
-
*
|
|
121
|
-
* Normally the Wagmi team would upgrade `@walletconnect/ethereum-provider` to a fixed version for you, but `@walletconnect/ethereum-provider` was relicensed recently from Apache to a [non-permissive license](https://github.com/reown-com/appkit/blob/main/LICENSE.md). We are trying to get the WalletConnect team to release a version that closes the vulnerability under the old Apache license.
|
|
122
|
-
*/
|
|
123
76
|
export function walletConnect(parameters: WalletConnectParameters) {
|
|
124
77
|
const isNewChainsStale = parameters.isNewChainsStale ?? true
|
|
125
78
|
|