@wagmi/connectors 5.0.16 → 5.0.18

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,2 +1,2 @@
1
- export const version = '5.0.16';
1
+ export const version = '5.0.18';
2
2
  //# sourceMappingURL=version.js.map
@@ -5,9 +5,7 @@ export type MetaMaskParameters = Evaluate<ExactPartial<Omit<MetaMaskSDKOptions,
5
5
  export declare function metaMask(parameters?: MetaMaskParameters): import("@wagmi/core").CreateConnectorFn<SDKProvider, {
6
6
  onConnect(connectInfo: ProviderConnectInfo): void;
7
7
  onDisplayUri(uri: string): void;
8
- }, {
9
- 'metaMaskSDK.disconnected': true;
10
- }>;
8
+ }, Record<string, unknown>>;
11
9
  export declare namespace metaMask {
12
10
  var type: "metaMask";
13
11
  }
@@ -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;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"}
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,EASzB,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;4BA6UlC;yBAjVe,QAAQ"}
@@ -1,2 +1,2 @@
1
- export declare const version = "5.0.16";
1
+ export declare const version = "5.0.18";
2
2
  //# sourceMappingURL=version.d.ts.map
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.16",
4
+ "version": "5.0.18",
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.4"
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.26.0",
42
+ "@metamask/sdk": "0.26.2",
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
@@ -20,6 +20,7 @@ import {
20
20
  UserRejectedRequestError,
21
21
  getAddress,
22
22
  numberToHex,
23
+ withRetry,
23
24
  } from 'viem'
24
25
 
25
26
  export type MetaMaskParameters = Evaluate<
@@ -33,7 +34,6 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
33
34
  onConnect(connectInfo: ProviderConnectInfo): void
34
35
  onDisplayUri(uri: string): void
35
36
  }
36
- type StorageItem = { 'metaMaskSDK.disconnected': true }
37
37
  type Listener = Parameters<Provider['on']>[1]
38
38
 
39
39
  let sdk: MetaMaskSDK
@@ -46,7 +46,7 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
46
46
  let displayUri: ((uri: string) => void) | undefined
47
47
  let disconnect: Connector['onDisconnect'] | undefined
48
48
 
49
- return createConnector<Provider, Properties, StorageItem>((config) => ({
49
+ return createConnector<Provider, Properties>((config) => ({
50
50
  id: 'metaMaskSDK',
51
51
  name: 'MetaMask',
52
52
  type: metaMask.type,
@@ -83,8 +83,6 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
83
83
  currentChainId = chain?.id ?? currentChainId
84
84
  }
85
85
 
86
- await config.storage?.removeItem('metaMaskSDK.disconnected')
87
-
88
86
  if (displayUri) {
89
87
  provider.removeListener('display_uri', displayUri)
90
88
  displayUri = undefined
@@ -140,10 +138,7 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
140
138
  provider.on('connect', connect as Listener)
141
139
  }
142
140
 
143
- sdk.terminate()
144
-
145
- // Add shim signalling connector is disconnected
146
- await config.storage?.setItem('metaMaskSDK.disconnected', true)
141
+ await sdk.terminate()
147
142
  },
148
143
  async getAccounts() {
149
144
  const provider = await this.getProvider()
@@ -197,12 +192,12 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
197
192
  },
198
193
  async isAuthorized() {
199
194
  try {
200
- const isDisconnected =
201
- // If shim exists in storage, connector is disconnected
202
- await config.storage?.getItem('metaMaskSDK.disconnected')
203
- if (isDisconnected) return false
204
-
205
- const accounts = await this.getAccounts()
195
+ // MetaMask mobile provider sometimes fails to immediately resolve
196
+ // JSON-RPC requests on page load
197
+ const accounts = await withRetry(() => this.getAccounts(), {
198
+ delay: 200,
199
+ retryCount: 3,
200
+ })
206
201
  return !!accounts.length
207
202
  } catch {
208
203
  return false
@@ -295,7 +290,6 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
295
290
  else if (config.emitter.listenerCount('connect')) {
296
291
  const chainId = (await this.getChainId()).toString()
297
292
  this.onConnect({ chainId })
298
- await config.storage?.removeItem('metaMaskSDK.disconnected')
299
293
  }
300
294
  // Regular change event
301
295
  else
@@ -347,9 +341,6 @@ export function metaMask(parameters: MetaMaskParameters = {}) {
347
341
  localStorage.removeItem('MMSDK_cached_chainId')
348
342
  }
349
343
 
350
- // No need to remove 'metaMaskSDK.disconnected' from storage because `onDisconnect` is typically
351
- // only called when the wallet is disconnected through the wallet's interface, meaning the wallet
352
- // actually disconnected and we don't need to simulate it.
353
344
  config.emitter.emit('disconnect')
354
345
 
355
346
  // Manage EIP-1193 event listeners
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '5.0.16'
1
+ export const version = '5.0.18'