@wagmi/connectors 5.0.15 → 5.0.17
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/metaMask.js +88 -20
- package/dist/esm/metaMask.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/metaMask.d.ts +1 -0
- package/dist/types/metaMask.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/walletConnect.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/metaMask.ts +96 -33
- package/src/version.ts +1 -1
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '5.0.
|
|
1
|
+
export const version = '5.0.17';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/types/metaMask.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { type ProviderConnectInfo } from 'viem';
|
|
|
4
4
|
export type MetaMaskParameters = Evaluate<ExactPartial<Omit<MetaMaskSDKOptions, '_source' | 'readonlyRPCMap'>>>;
|
|
5
5
|
export declare function metaMask(parameters?: MetaMaskParameters): import("@wagmi/core").CreateConnectorFn<SDKProvider, {
|
|
6
6
|
onConnect(connectInfo: ProviderConnectInfo): void;
|
|
7
|
+
onDisplayUri(uri: string): void;
|
|
7
8
|
}, {
|
|
8
9
|
'metaMaskSDK.disconnected': true;
|
|
9
10
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metaMask.d.ts","sourceRoot":"","sources":["../../src/metaMask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,WAAW,EACZ,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"metaMask.d.ts","sourceRoot":"","sources":["../../src/metaMask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,WAAW,EACZ,MAAM,eAAe,CAAA;AAMtB,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAGL,KAAK,mBAAmB,EAQzB,MAAM,MAAM,CAAA;AAEb,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CACvC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,gBAAgB,CAAC,CAAC,CACrE,CAAA;AAGD,wBAAgB,QAAQ,CAAC,UAAU,GAAE,kBAAuB;2BAGjC,mBAAmB,GAAG,IAAI;sBAC/B,MAAM,GAAG,IAAI;;gCAEgB,IAAI;GAqVtD;yBA3Ve,QAAQ"}
|
package/dist/types/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "5.0.
|
|
1
|
+
export declare const version = "5.0.17";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walletConnect.d.ts","sourceRoot":"","sources":["../../src/walletConnect.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,mBAAmB,EAOzB,MAAM,MAAM,CAAA;AAOb,KAAK,uBAAuB,GAAG,UAAU,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE/E,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAC5C;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,GAAG,IAAI,CACN,uBAAuB,EACrB,QAAQ,GACR,QAAQ,GACR,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,SAAS,GACT,QAAQ,GACR,aAAa,CAChB,GACC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC,CAC7D,CAAA;AAGD,wBAAgB,aAAa,CAAC,UAAU,EAAE,uBAAuB;yBAKxC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"walletConnect.d.ts","sourceRoot":"","sources":["../../src/walletConnect.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,mBAAmB,EAOzB,MAAM,MAAM,CAAA;AAOb,KAAK,uBAAuB,GAAG,UAAU,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE/E,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAC5C;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,GAAG,IAAI,CACN,uBAAuB,EACrB,QAAQ,GACR,QAAQ,GACR,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,SAAS,GACT,QAAQ,GACR,aAAa,CAChB,GACC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC,CAC7D,CAAA;AAGD,wBAAgB,aAAa,CAAC,UAAU,EAAE,uBAAuB;yBAKxC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QACzE,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;QAC5B,OAAO,EAAE,MAAM,CAAA;KAChB,CAAC;6BACuB,MAAM,EAAE;6BACR,OAAO,CAAC,MAAM,EAAE,CAAC;qBACzB,OAAO,CAAC,OAAO,CAAC;2BACV,mBAAmB,GAAG,IAAI;sBAC/B,MAAM,GAAG,IAAI;0BACT;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;kCAChB,MAAM,EAAE,GAAG,IAAI;+BAClB,GAAG,MAAM,kBAAkB;;;GAiXzD;yBAjYe,aAAa"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wagmi/connectors",
|
|
3
3
|
"description": "Collection of connectors for Wagmi",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.17",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"typescript": ">=5.0.4",
|
|
32
32
|
"viem": "2.x",
|
|
33
|
-
"@wagmi/core": "2.11.
|
|
33
|
+
"@wagmi/core": "2.11.5"
|
|
34
34
|
},
|
|
35
35
|
"peerDependenciesMeta": {
|
|
36
36
|
"typescript": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@coinbase/wallet-sdk": "4.0.3",
|
|
42
|
-
"@metamask/sdk": "0.
|
|
42
|
+
"@metamask/sdk": "0.26.0",
|
|
43
43
|
"@safe-global/safe-apps-provider": "0.18.1",
|
|
44
44
|
"@safe-global/safe-apps-sdk": "8.1.0",
|
|
45
45
|
"@walletconnect/ethereum-provider": "2.13.0",
|
package/src/metaMask.ts
CHANGED
|
@@ -3,7 +3,11 @@ import type {
|
|
|
3
3
|
MetaMaskSDKOptions,
|
|
4
4
|
SDKProvider,
|
|
5
5
|
} from '@metamask/sdk'
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
ChainNotConfiguredError,
|
|
8
|
+
type Connector,
|
|
9
|
+
createConnector,
|
|
10
|
+
} from '@wagmi/core'
|
|
7
11
|
import type { Evaluate, ExactPartial } from '@wagmi/core/internal'
|
|
8
12
|
import {
|
|
9
13
|
type AddEthereumChainParameter,
|
|
@@ -27,6 +31,7 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
|
|
|
27
31
|
type Provider = SDKProvider
|
|
28
32
|
type Properties = {
|
|
29
33
|
onConnect(connectInfo: ProviderConnectInfo): void
|
|
34
|
+
onDisplayUri(uri: string): void
|
|
30
35
|
}
|
|
31
36
|
type StorageItem = { 'metaMaskSDK.disconnected': true }
|
|
32
37
|
type Listener = Parameters<Provider['on']>[1]
|
|
@@ -35,17 +40,29 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
|
|
|
35
40
|
let provider: Provider | undefined
|
|
36
41
|
let providerPromise: Promise<typeof provider>
|
|
37
42
|
|
|
43
|
+
let accountsChanged: Connector['onAccountsChanged'] | undefined
|
|
44
|
+
let chainChanged: Connector['onChainChanged'] | undefined
|
|
45
|
+
let connect: Connector['onConnect'] | undefined
|
|
46
|
+
let displayUri: ((uri: string) => void) | undefined
|
|
47
|
+
let disconnect: Connector['onDisconnect'] | undefined
|
|
48
|
+
|
|
38
49
|
return createConnector<Provider, Properties, StorageItem>((config) => ({
|
|
39
50
|
id: 'metaMaskSDK',
|
|
40
51
|
name: 'MetaMask',
|
|
41
52
|
type: metaMask.type,
|
|
42
53
|
async setup() {
|
|
43
54
|
const provider = await this.getProvider()
|
|
44
|
-
if (provider)
|
|
45
|
-
|
|
55
|
+
if (provider && !connect) {
|
|
56
|
+
connect = this.onConnect.bind(this)
|
|
57
|
+
provider.on('connect', connect as Listener)
|
|
58
|
+
}
|
|
46
59
|
},
|
|
47
60
|
async connect({ chainId, isReconnecting } = {}) {
|
|
48
61
|
const provider = await this.getProvider()
|
|
62
|
+
if (!displayUri) {
|
|
63
|
+
displayUri = this.onDisplayUri
|
|
64
|
+
provider.on('display_uri', displayUri as Listener)
|
|
65
|
+
}
|
|
49
66
|
|
|
50
67
|
let accounts: readonly Address[] = []
|
|
51
68
|
if (isReconnecting) accounts = await this.getAccounts().catch(() => [])
|
|
@@ -56,17 +73,6 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
|
|
|
56
73
|
accounts = requestedAccounts.map((x) => getAddress(x))
|
|
57
74
|
}
|
|
58
75
|
|
|
59
|
-
provider.removeListener(
|
|
60
|
-
'connect',
|
|
61
|
-
this.onConnect.bind(this) as Listener,
|
|
62
|
-
)
|
|
63
|
-
provider.on(
|
|
64
|
-
'accountsChanged',
|
|
65
|
-
this.onAccountsChanged.bind(this) as Listener,
|
|
66
|
-
)
|
|
67
|
-
provider.on('chainChanged', this.onChainChanged as Listener)
|
|
68
|
-
provider.on('disconnect', this.onDisconnect.bind(this) as Listener)
|
|
69
|
-
|
|
70
76
|
// Switch to chain if provided
|
|
71
77
|
let currentChainId = (await this.getChainId()) as number
|
|
72
78
|
if (chainId && currentChainId !== chainId) {
|
|
@@ -79,6 +85,30 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
|
|
|
79
85
|
|
|
80
86
|
await config.storage?.removeItem('metaMaskSDK.disconnected')
|
|
81
87
|
|
|
88
|
+
if (displayUri) {
|
|
89
|
+
provider.removeListener('display_uri', displayUri)
|
|
90
|
+
displayUri = undefined
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Manage EIP-1193 event listeners
|
|
94
|
+
// https://eips.ethereum.org/EIPS/eip-1193#events
|
|
95
|
+
if (connect) {
|
|
96
|
+
provider.removeListener('connect', connect)
|
|
97
|
+
connect = undefined
|
|
98
|
+
}
|
|
99
|
+
if (!accountsChanged) {
|
|
100
|
+
accountsChanged = this.onAccountsChanged.bind(this)
|
|
101
|
+
provider.on('accountsChanged', accountsChanged as Listener)
|
|
102
|
+
}
|
|
103
|
+
if (!chainChanged) {
|
|
104
|
+
chainChanged = this.onChainChanged.bind(this)
|
|
105
|
+
provider.on('chainChanged', chainChanged as Listener)
|
|
106
|
+
}
|
|
107
|
+
if (!disconnect) {
|
|
108
|
+
disconnect = this.onDisconnect.bind(this)
|
|
109
|
+
provider.on('disconnect', disconnect as Listener)
|
|
110
|
+
}
|
|
111
|
+
|
|
82
112
|
return { accounts, chainId: currentChainId }
|
|
83
113
|
} catch (err) {
|
|
84
114
|
const error = err as RpcError
|
|
@@ -92,13 +122,23 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
|
|
|
92
122
|
async disconnect() {
|
|
93
123
|
const provider = await this.getProvider()
|
|
94
124
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
125
|
+
// Manage EIP-1193 event listeners
|
|
126
|
+
if (accountsChanged) {
|
|
127
|
+
provider.removeListener('accountsChanged', accountsChanged)
|
|
128
|
+
accountsChanged = undefined
|
|
129
|
+
}
|
|
130
|
+
if (chainChanged) {
|
|
131
|
+
provider.removeListener('chainChanged', chainChanged)
|
|
132
|
+
chainChanged = undefined
|
|
133
|
+
}
|
|
134
|
+
if (disconnect) {
|
|
135
|
+
provider.removeListener('disconnect', disconnect)
|
|
136
|
+
disconnect = undefined
|
|
137
|
+
}
|
|
138
|
+
if (!connect) {
|
|
139
|
+
connect = this.onConnect.bind(this)
|
|
140
|
+
provider.on('connect', connect as Listener)
|
|
141
|
+
}
|
|
102
142
|
|
|
103
143
|
sdk.terminate()
|
|
104
144
|
|
|
@@ -275,11 +315,21 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
|
|
|
275
315
|
config.emitter.emit('connect', { accounts, chainId })
|
|
276
316
|
|
|
277
317
|
const provider = await this.getProvider()
|
|
278
|
-
if (
|
|
279
|
-
provider.removeListener('connect',
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
318
|
+
if (connect) {
|
|
319
|
+
provider.removeListener('connect', connect)
|
|
320
|
+
connect = undefined
|
|
321
|
+
}
|
|
322
|
+
if (!accountsChanged) {
|
|
323
|
+
accountsChanged = this.onAccountsChanged.bind(this)
|
|
324
|
+
provider.on('accountsChanged', accountsChanged as Listener)
|
|
325
|
+
}
|
|
326
|
+
if (!chainChanged) {
|
|
327
|
+
chainChanged = this.onChainChanged.bind(this)
|
|
328
|
+
provider.on('chainChanged', chainChanged as Listener)
|
|
329
|
+
}
|
|
330
|
+
if (!disconnect) {
|
|
331
|
+
disconnect = this.onDisconnect.bind(this)
|
|
332
|
+
provider.on('disconnect', disconnect as Listener)
|
|
283
333
|
}
|
|
284
334
|
},
|
|
285
335
|
async onDisconnect(error) {
|
|
@@ -302,13 +352,26 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
|
|
|
302
352
|
// actually disconnected and we don't need to simulate it.
|
|
303
353
|
config.emitter.emit('disconnect')
|
|
304
354
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
this.onAccountsChanged.bind(this)
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
355
|
+
// Manage EIP-1193 event listeners
|
|
356
|
+
if (!accountsChanged) {
|
|
357
|
+
accountsChanged = this.onAccountsChanged.bind(this)
|
|
358
|
+
provider.on('accountsChanged', accountsChanged as Listener)
|
|
359
|
+
}
|
|
360
|
+
if (chainChanged) {
|
|
361
|
+
provider.removeListener('chainChanged', chainChanged)
|
|
362
|
+
chainChanged = undefined
|
|
363
|
+
}
|
|
364
|
+
if (disconnect) {
|
|
365
|
+
provider.removeListener('disconnect', disconnect)
|
|
366
|
+
disconnect = undefined
|
|
367
|
+
}
|
|
368
|
+
if (!connect) {
|
|
369
|
+
connect = this.onConnect.bind(this)
|
|
370
|
+
provider.on('connect', connect as Listener)
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
onDisplayUri(uri) {
|
|
374
|
+
config.emitter.emit('message', { type: 'display_uri', data: uri })
|
|
312
375
|
},
|
|
313
376
|
}))
|
|
314
377
|
}
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '5.0.
|
|
1
|
+
export const version = '5.0.17'
|