@wagmi/connectors 4.0.0-alpha.1 → 4.0.0-alpha.11

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 = '4.0.0-alpha.1';
1
+ export const version = '4.0.0-alpha.11';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAA"}
@@ -10,7 +10,7 @@ export function walletConnect(parameters) {
10
10
  id: 'walletConnect',
11
11
  name: 'WalletConnect',
12
12
  async setup() {
13
- const provider = await this.getProvider();
13
+ const provider = await this.getProvider().catch(() => null);
14
14
  if (!provider)
15
15
  return;
16
16
  provider.on('connect', this.onConnect.bind(this));
@@ -72,18 +72,18 @@ export function walletConnect(parameters) {
72
72
  async disconnect() {
73
73
  const provider = await this.getProvider();
74
74
  try {
75
- await provider.disconnect();
75
+ await provider?.disconnect();
76
76
  }
77
77
  catch (error) {
78
78
  if (!/No matching key/i.test(error.message))
79
79
  throw error;
80
80
  }
81
81
  finally {
82
- provider.removeListener('accountsChanged', this.onAccountsChanged.bind(this));
83
- provider.removeListener('chainChanged', this.onChainChanged);
84
- provider.removeListener('disconnect', this.onDisconnect.bind(this));
85
- provider.removeListener('session_delete', this.onSessionDelete.bind(this));
86
- provider.on('connect', this.onConnect.bind(this));
82
+ provider?.removeListener('accountsChanged', this.onAccountsChanged.bind(this));
83
+ provider?.removeListener('chainChanged', this.onChainChanged);
84
+ provider?.removeListener('disconnect', this.onDisconnect.bind(this));
85
+ provider?.removeListener('session_delete', this.onSessionDelete.bind(this));
86
+ provider?.on('connect', this.onConnect.bind(this));
87
87
  this.setRequestedChainsIds([]);
88
88
  }
89
89
  },
@@ -1 +1 @@
1
- {"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../src/walletConnect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletConnect.js","sourceRoot":"","sources":["../../src/walletConnect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"coinbaseWallet.d.ts","sourceRoot":"","sources":["../../src/coinbaseWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,iBAAiB,EAClB,MAAM,sBAAsB,CAAA;AAM7B,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AASnE,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAC7C,OAAO,CACL,IAAI,CACF,qBAAqB,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAClD,oBAAoB,CACrB,CACF,GAAG;IACF;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACzC,CACF,CAAA;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,wBAAwB,2EAmKlE"}
1
+ {"version":3,"file":"coinbaseWallet.d.ts","sourceRoot":"","sources":["../../src/coinbaseWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,iBAAiB,EAClB,MAAM,sBAAsB,CAAA;AAM7B,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AASnE,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAC7C,OAAO,CACL,IAAI,CACF,qBAAqB,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAClD,oBAAoB,CACrB,CACF,GAAG;IACF;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACzC,CACF,CAAA;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,wBAAwB,2EAiKlE"}
@@ -1,6 +1,7 @@
1
+ export { type InjectedParameters, injected, type MockParameters, mock, } from '@wagmi/core/internal';
1
2
  export { type CoinbaseWalletParameters, coinbaseWallet, } from '../coinbaseWallet.js';
2
- export { type InjectedParameters, injected } from '../injected.js';
3
3
  export { type LedgerParameters, ledger } from '../ledger.js';
4
+ export { type MetaMaskParameters, metaMask } from '../metaMask.js';
4
5
  export { type SafeParameters, safe } from '../safe.js';
5
6
  export { type WalletConnectParameters, walletConnect, } from '../walletConnect.js';
6
7
  export { version } from '../version.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,wBAAwB,EAC7B,cAAc,GACf,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,KAAK,kBAAkB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAElE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,KAAK,cAAc,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,EACL,KAAK,uBAAuB,EAC5B,aAAa,GACd,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,QAAQ,EACR,KAAK,cAAc,EACnB,IAAI,GACL,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,KAAK,wBAAwB,EAC7B,cAAc,GACf,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,KAAK,kBAAkB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAElE,OAAO,EAAE,KAAK,cAAc,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,EACL,KAAK,uBAAuB,EAC5B,aAAa,GACd,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { type MetaMaskSDKOptions, SDKProvider } from '@metamask/sdk';
2
+ import type { Evaluate, ExactPartial, Omit } from '@wagmi/core/internal';
3
+ import { type ProviderConnectInfo } from 'viem';
4
+ export type MetaMaskParameters = Evaluate<ExactPartial<Omit<MetaMaskSDKOptions, 'checkInstallationImmediately' | 'checkInstallationOnAllCalls' | 'defaultReadOnlyChainId' | 'readonlyRPCMap'>>>;
5
+ export declare function metaMask(parameters?: MetaMaskParameters): import("@wagmi/core").CreateConnectorFn<SDKProvider, {
6
+ onConnect(connectInfo: ProviderConnectInfo): void;
7
+ }, {
8
+ 'metaMaskSDK.disconnected': true;
9
+ }>;
10
+ //# sourceMappingURL=metaMask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metaMask.d.ts","sourceRoot":"","sources":["../../src/metaMask.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EACvB,WAAW,EACZ,MAAM,eAAe,CAAA;AAMtB,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAEL,KAAK,mBAAmB,EASzB,MAAM,MAAM,CAAA;AAEb,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CACvC,YAAY,CACV,IAAI,CACF,kBAAkB,EAChB,8BAA8B,GAC9B,6BAA6B,GAC7B,wBAAwB,GACxB,gBAAgB,CACnB,CACF,CACF,CAAA;AAED,wBAAgB,QAAQ,CAAC,UAAU,GAAE,kBAAuB;2BAGjC,mBAAmB,GAAG,IAAI;;gCAEF,IAAI;GAiRtD"}
@@ -12,7 +12,7 @@ export type SafeParameters = Evaluate<Opts & {
12
12
  */
13
13
  shimDisconnect?: boolean | undefined;
14
14
  }>;
15
- export declare function safe(parameters?: SafeParameters): import("@wagmi/core").CreateConnectorFn<SafeAppProvider, {}, {
16
- 'safe.shimDisconnect': true;
15
+ export declare function safe(parameters?: SafeParameters): import("@wagmi/core").CreateConnectorFn<SafeAppProvider | undefined, {}, {
16
+ 'safe.disconnected': true;
17
17
  }>;
18
18
  //# sourceMappingURL=safe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"safe.d.ts","sourceRoot":"","sources":["../../src/safe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,KAAK,IAAI,EAA0B,MAAM,4BAA4B,CAAA;AAG9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAGpD,MAAM,MAAM,cAAc,GAAG,QAAQ,CACnC,IAAI,GAAG;IACL;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACrC,CACF,CAAA;AAED,wBAAgB,IAAI,CAAC,UAAU,GAAE,cAAmB;2BAGN,IAAI;GAyFjD"}
1
+ {"version":3,"file":"safe.d.ts","sourceRoot":"","sources":["../../src/safe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,KAAK,IAAI,EAA0B,MAAM,4BAA4B,CAAA;AAM9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAGpD,MAAM,MAAM,cAAc,GAAG,QAAQ,CACnC,IAAI,GAAG;IACL;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACrC,CACF,CAAA;AAED,wBAAgB,IAAI,CAAC,UAAU,GAAE,cAAmB;yBAKR,IAAI;GAwF/C"}
@@ -1,2 +1,2 @@
1
- export declare const version = "4.0.0-alpha.1";
1
+ export declare const version = "4.0.0-alpha.11";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,kBAAkB,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,mBAAmB,CAAA"}
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": "4.0.0-alpha.1",
4
+ "version": "4.0.0-alpha.11",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -28,9 +28,9 @@
28
28
  "./package.json": "./package.json"
29
29
  },
30
30
  "peerDependencies": {
31
- "typescript": ">=5",
32
- "viem": ">2.0.0-alpha.0",
33
- "@wagmi/core": "2.0.0-alpha.1"
31
+ "typescript": ">=5.0.4",
32
+ "viem": "2.0.0-alpha.21",
33
+ "@wagmi/core": "2.0.0-alpha.11"
34
34
  },
35
35
  "peerDependenciesMeta": {
36
36
  "typescript": {
@@ -40,26 +40,21 @@
40
40
  "dependencies": {
41
41
  "@coinbase/wallet-sdk": "3.9.0-canary.2",
42
42
  "@ledgerhq/connect-kit-loader": "^1.1.2",
43
+ "@metamask/sdk": "^0.8.0",
43
44
  "@safe-global/safe-apps-provider": "^0.18.0",
44
45
  "@safe-global/safe-apps-sdk": "^8.1.0",
45
46
  "@walletconnect/ethereum-provider": "^2.10.1",
46
47
  "@walletconnect/modal": "^2.6.2"
47
48
  },
48
49
  "devDependencies": {
49
- "lokijs": "^1.5.12",
50
- "msw": "^1.3.0",
51
- "@wagmi/core": "2.0.0-alpha.1"
50
+ "msw": "^1.3.1",
51
+ "@wagmi/core": "2.0.0-alpha.11"
52
52
  },
53
53
  "contributors": [
54
54
  "awkweb.eth <t@wagmi.sh>",
55
55
  "jxom.eth <j@wagmi.sh>"
56
56
  ],
57
- "funding": [
58
- {
59
- "type": "github",
60
- "url": "https://github.com/sponsors/wagmi-dev"
61
- }
62
- ],
57
+ "funding": "https://github.com/sponsors/wagmi-dev",
63
58
  "keywords": [
64
59
  "react",
65
60
  "hooks",
@@ -71,9 +66,9 @@
71
66
  "abi"
72
67
  ],
73
68
  "scripts": {
74
- "clean": "rm -rf dist tsconfig.tsbuildinfo",
75
69
  "build": "pnpm run clean && pnpm run build:esm+types",
76
70
  "build:esm+types": "tsc --project tsconfig.build.json --module es2020 --outDir ./dist/esm --declaration --declarationMap --declarationDir ./dist/types",
71
+ "clean": "rm -rf dist tsconfig.tsbuildinfo",
77
72
  "test:build": "publint --strict",
78
73
  "typecheck": "tsc --noEmit"
79
74
  }
@@ -48,10 +48,10 @@ export function coinbaseWallet(parameters: CoinbaseWalletParameters) {
48
48
  type Properties = {}
49
49
 
50
50
  let sdk: CoinbaseWalletSDK | undefined
51
- let provider_: Provider | undefined
51
+ let walletProvider: Provider | undefined
52
52
 
53
53
  return createConnector<Provider, Properties>((config) => ({
54
- id: 'coinbaseWallet',
54
+ id: 'coinbaseWalletSDK',
55
55
  name: 'Coinbase Wallet',
56
56
  async connect({ chainId } = {}) {
57
57
  try {
@@ -61,6 +61,7 @@ export function coinbaseWallet(parameters: CoinbaseWalletParameters) {
61
61
  method: 'eth_requestAccounts',
62
62
  })) as string[]
63
63
  ).map(getAddress)
64
+
64
65
  provider.on('accountsChanged', this.onAccountsChanged)
65
66
  provider.on('chainChanged', this.onChainChanged)
66
67
  provider.on('disconnect', this.onDisconnect.bind(this))
@@ -77,7 +78,7 @@ export function coinbaseWallet(parameters: CoinbaseWalletParameters) {
77
78
  return { accounts, chainId: currentChainId }
78
79
  } catch (error) {
79
80
  if (
80
- /(user closed modal|accounts received is empty)/i.test(
81
+ /(user closed modal|accounts received is empty|user denied account)/i.test(
81
82
  (error as Error).message,
82
83
  )
83
84
  )
@@ -103,14 +104,15 @@ export function coinbaseWallet(parameters: CoinbaseWalletParameters) {
103
104
  })
104
105
  ).map(getAddress)
105
106
  },
107
+ async getChainId() {
108
+ const provider = await this.getProvider()
109
+ return normalizeChainId(provider.chainId)
110
+ },
106
111
  async getProvider() {
107
- if (!provider_) {
112
+ if (!walletProvider) {
108
113
  sdk = new CoinbaseWalletSDK({ reloadOnDisconnect, ...parameters })
109
114
 
110
- /**
111
- * Mock implementations to retrieve private `walletExtension` method
112
- * from the Coinbase Wallet SDK.
113
- */
115
+ // Mock implementations to retrieve private `walletExtension` method from the Coinbase Wallet SDK.
114
116
  abstract class WalletProvider {
115
117
  // https://github.com/coinbase/coinbase-wallet-sdk/blob/b4cca90022ffeb46b7bbaaab9389a33133fe0844/packages/wallet-sdk/src/provider/CoinbaseWalletProvider.ts#L927-L936
116
118
  abstract getChainId(): number
@@ -133,13 +135,9 @@ export function coinbaseWallet(parameters: CoinbaseWalletParameters) {
133
135
  const jsonRpcUrl =
134
136
  parameters.jsonRpcUrl || chain?.rpcUrls.default.http[0]
135
137
 
136
- provider_ = sdk.makeWeb3Provider(jsonRpcUrl, chainId)
138
+ walletProvider = sdk.makeWeb3Provider(jsonRpcUrl, chainId)
137
139
  }
138
- return provider_
139
- },
140
- async getChainId() {
141
- const provider = await this.getProvider()
142
- return normalizeChainId(provider.chainId)
140
+ return walletProvider
143
141
  },
144
142
  async isAuthorized() {
145
143
  try {
@@ -1,12 +1,19 @@
1
+ export {
2
+ type InjectedParameters,
3
+ injected,
4
+ type MockParameters,
5
+ mock,
6
+ } from '@wagmi/core/internal'
7
+
1
8
  export {
2
9
  type CoinbaseWalletParameters,
3
10
  coinbaseWallet,
4
11
  } from '../coinbaseWallet.js'
5
12
 
6
- export { type InjectedParameters, injected } from '../injected.js'
7
-
8
13
  export { type LedgerParameters, ledger } from '../ledger.js'
9
14
 
15
+ export { type MetaMaskParameters, metaMask } from '../metaMask.js'
16
+
10
17
  export { type SafeParameters, safe } from '../safe.js'
11
18
 
12
19
  export {
package/src/ledger.ts CHANGED
@@ -41,7 +41,7 @@ export function ledger(parameters: LedgerParameters = {}) {
41
41
  id: 'ledger',
42
42
  name: 'Ledger',
43
43
  async setup() {
44
- const provider = await this.getProvider()
44
+ const provider = await this.getProvider().catch(() => null)
45
45
  if (!provider) return
46
46
  provider.on('connect', this.onConnect.bind(this))
47
47
  provider.on('session_delete', this.onSessionDelete.bind(this))
@@ -137,7 +137,7 @@ export function ledger(parameters: LedgerParameters = {}) {
137
137
  walletConnectVersion: 2,
138
138
  })
139
139
 
140
- return (await connectKit.getProvider()) as unknown as EthereumProvider
140
+ return connectKit.getProvider()
141
141
  }
142
142
 
143
143
  if (!provider_) {
@@ -0,0 +1,316 @@
1
+ import {
2
+ EventType,
3
+ MetaMaskSDK,
4
+ type MetaMaskSDKOptions,
5
+ SDKProvider,
6
+ } from '@metamask/sdk'
7
+ import {
8
+ ChainNotConfiguredError,
9
+ createConnector,
10
+ normalizeChainId,
11
+ } from '@wagmi/core'
12
+ import type { Evaluate, ExactPartial, Omit } from '@wagmi/core/internal'
13
+ import {
14
+ type Address,
15
+ type ProviderConnectInfo,
16
+ type ProviderRpcError,
17
+ ResourceUnavailableRpcError,
18
+ RpcError,
19
+ SwitchChainError,
20
+ UserRejectedRequestError,
21
+ type WalletPermission,
22
+ getAddress,
23
+ numberToHex,
24
+ } from 'viem'
25
+
26
+ export type MetaMaskParameters = Evaluate<
27
+ ExactPartial<
28
+ Omit<
29
+ MetaMaskSDKOptions,
30
+ | 'checkInstallationImmediately'
31
+ | 'checkInstallationOnAllCalls'
32
+ | 'defaultReadOnlyChainId'
33
+ | 'readonlyRPCMap'
34
+ >
35
+ >
36
+ >
37
+
38
+ export function metaMask(parameters: MetaMaskParameters = {}) {
39
+ type Provider = SDKProvider
40
+ type Properties = {
41
+ onConnect(connectInfo: ProviderConnectInfo): void
42
+ }
43
+ type StorageItem = { 'metaMaskSDK.disconnected': true }
44
+ type Listener = Parameters<Provider['on']>[1]
45
+
46
+ let sdk: MetaMaskSDK
47
+ let walletProvider: Provider | undefined
48
+
49
+ return createConnector<Provider, Properties, StorageItem>((config) => ({
50
+ id: 'metaMaskSDK',
51
+ name: 'MetaMask',
52
+ async setup() {
53
+ const provider = await this.getProvider()
54
+ if (provider)
55
+ provider.on('connect', this.onConnect.bind(this) as Listener)
56
+ },
57
+ async connect({ chainId, isReconnecting } = {}) {
58
+ const provider = await this.getProvider()
59
+
60
+ let accounts: readonly Address[] | null = null
61
+ if (!isReconnecting) {
62
+ accounts = await this.getAccounts().catch(() => null)
63
+ const isAuthorized = !!accounts?.length
64
+ if (isAuthorized)
65
+ // Attempt to show another prompt for selecting account if already connected
66
+ try {
67
+ const permissions = (await provider.request({
68
+ method: 'wallet_requestPermissions',
69
+ params: [{ eth_accounts: {} }],
70
+ })) as WalletPermission[]
71
+ accounts = permissions[0]?.caveats?.[0]?.value?.map(getAddress)
72
+ } catch (err) {
73
+ const error = err as RpcError
74
+ // Not all injected providers support `wallet_requestPermissions` (e.g. MetaMask iOS).
75
+ // Only bubble up error if user rejects request
76
+ if (error.code === UserRejectedRequestError.code)
77
+ throw new UserRejectedRequestError(error)
78
+ // Or prompt is already open
79
+ if (error.code === ResourceUnavailableRpcError.code) throw error
80
+ }
81
+ }
82
+
83
+ try {
84
+ if (!accounts?.length) {
85
+ const requestedAccounts = (await sdk.connect()) as string[]
86
+ accounts = requestedAccounts.map(getAddress)
87
+ }
88
+
89
+ provider.removeListener(
90
+ 'connect',
91
+ this.onConnect.bind(this) as Listener,
92
+ )
93
+ provider.on(
94
+ 'accountsChanged',
95
+ this.onAccountsChanged.bind(this) as Listener,
96
+ )
97
+ provider.on('chainChanged', this.onChainChanged as Listener)
98
+ provider.on('disconnect', this.onDisconnect.bind(this) as Listener)
99
+
100
+ // Backward compatibility with older wallet (<7.3) version that return accounts before authorization
101
+ if (!sdk.isExtensionActive() && !sdk._getConnection()?.isAuthorized()) {
102
+ function waitForAuthorized() {
103
+ return new Promise((resolve) => {
104
+ const connection = sdk._getConnection()
105
+ const connector = connection?.getConnector()
106
+ connector?.once(EventType.AUTHORIZED, () => resolve(true))
107
+ })
108
+ }
109
+ await waitForAuthorized()
110
+ }
111
+
112
+ // Switch to chain if provided
113
+ let currentChainId = await this.getChainId()
114
+ if (chainId && currentChainId !== chainId) {
115
+ const chain = await this.switchChain!({ chainId }).catch(() => ({
116
+ id: currentChainId,
117
+ }))
118
+ currentChainId = chain?.id ?? currentChainId
119
+ }
120
+
121
+ await config.storage?.removeItem('metaMaskSDK.disconnected')
122
+
123
+ return { accounts, chainId: currentChainId }
124
+ } catch (err) {
125
+ const error = err as RpcError
126
+ if (error.code === UserRejectedRequestError.code)
127
+ throw new UserRejectedRequestError(error)
128
+ if (error.code === ResourceUnavailableRpcError.code)
129
+ throw new ResourceUnavailableRpcError(error)
130
+ throw error
131
+ }
132
+ },
133
+ async disconnect() {
134
+ const provider = await this.getProvider()
135
+
136
+ provider.removeListener(
137
+ 'accountsChanged',
138
+ this.onAccountsChanged.bind(this),
139
+ )
140
+ provider.removeListener('chainChanged', this.onChainChanged)
141
+ provider.removeListener('disconnect', this.onDisconnect.bind(this))
142
+ provider.on('connect', this.onConnect.bind(this) as Listener)
143
+
144
+ // Add shim signalling connector is disconnected
145
+ await config.storage?.setItem('metaMaskSDK.disconnected', true)
146
+ },
147
+ async getAccounts() {
148
+ const provider = await this.getProvider()
149
+ const accounts = (await provider.request({
150
+ method: 'eth_accounts',
151
+ })) as string[]
152
+ return accounts.map(getAddress)
153
+ },
154
+ async getChainId() {
155
+ const provider = await this.getProvider()
156
+ const chainId =
157
+ provider.chainId ?? (await provider?.request({ method: 'eth_chainId' }))
158
+ return normalizeChainId(chainId)
159
+ },
160
+ async getProvider() {
161
+ if (!walletProvider) {
162
+ if (!sdk || !sdk?.isInitialized()) {
163
+ sdk = new MetaMaskSDK({
164
+ enableDebug: false,
165
+ dappMetadata: { name: 'wagmi' },
166
+ extensionOnly: true,
167
+ useDeeplink: true,
168
+ _source: 'wagmi',
169
+ ...parameters,
170
+ checkInstallationImmediately: false,
171
+ checkInstallationOnAllCalls: false,
172
+ })
173
+ await sdk.init()
174
+ }
175
+ walletProvider = sdk.getProvider()
176
+ }
177
+ return walletProvider
178
+ },
179
+ async isAuthorized() {
180
+ try {
181
+ const isDisconnected =
182
+ // If shim exists in storage, connector is disconnected
183
+ await config.storage?.getItem('metaMaskSDK.disconnected')
184
+ if (isDisconnected) return false
185
+
186
+ const accounts = await this.getAccounts()
187
+ return !!accounts.length
188
+ } catch {
189
+ return false
190
+ }
191
+ },
192
+ async switchChain({ chainId }) {
193
+ const provider = await this.getProvider()
194
+
195
+ const chain = config.chains.find((x) => x.id === chainId)
196
+ if (!chain) throw new SwitchChainError(new ChainNotConfiguredError())
197
+
198
+ try {
199
+ await Promise.all([
200
+ provider.request({
201
+ method: 'wallet_switchEthereumChain',
202
+ params: [{ chainId: numberToHex(chainId) }],
203
+ }),
204
+ new Promise<void>((resolve) =>
205
+ config.emitter.once('change', ({ chainId: currentChainId }) => {
206
+ if (currentChainId === chainId) resolve()
207
+ }),
208
+ ),
209
+ ])
210
+ return chain
211
+ } catch (err) {
212
+ const error = err as RpcError
213
+
214
+ // Indicates chain is not added to provider
215
+ if (
216
+ error.code === 4902 ||
217
+ // Unwrapping for MetaMask Mobile
218
+ // https://github.com/MetaMask/metamask-mobile/issues/2944#issuecomment-976988719
219
+ (error as ProviderRpcError<{ originalError?: { code: number } }>)
220
+ ?.data?.originalError?.code === 4902
221
+ ) {
222
+ try {
223
+ const { default: blockExplorer, ...blockExplorers } =
224
+ chain.blockExplorers ?? {}
225
+ let blockExplorerUrls: string[] = []
226
+ if (blockExplorer)
227
+ blockExplorerUrls = [
228
+ blockExplorer.url,
229
+ ...Object.values(blockExplorers).map((x) => x.url),
230
+ ]
231
+
232
+ await provider.request({
233
+ method: 'wallet_addEthereumChain',
234
+ params: [
235
+ {
236
+ chainId: numberToHex(chainId),
237
+ chainName: chain.name,
238
+ nativeCurrency: chain.nativeCurrency,
239
+ rpcUrls: [chain.rpcUrls.public?.http[0] ?? ''],
240
+ blockExplorerUrls,
241
+ },
242
+ ],
243
+ })
244
+
245
+ const currentChainId = await this.getChainId()
246
+ if (currentChainId !== chainId)
247
+ throw new UserRejectedRequestError(
248
+ new Error('User rejected switch after adding network.'),
249
+ )
250
+
251
+ return chain
252
+ } catch (error) {
253
+ throw new UserRejectedRequestError(error as Error)
254
+ }
255
+ }
256
+
257
+ if (error.code === UserRejectedRequestError.code)
258
+ throw new UserRejectedRequestError(error)
259
+ throw new SwitchChainError(error)
260
+ }
261
+ },
262
+ async onAccountsChanged(accounts) {
263
+ // Disconnect if there are no accounts
264
+ if (accounts.length === 0) this.onDisconnect()
265
+ // Connect if emitter is listening for connect event (e.g. is disconnected and connects through wallet interface)
266
+ else if (config.emitter.listenerCount('connect')) {
267
+ const chainId = (await this.getChainId()).toString()
268
+ this.onConnect({ chainId })
269
+ await config.storage?.removeItem('metaMaskSDK.disconnected')
270
+ }
271
+ // Regular change event
272
+ else config.emitter.emit('change', { accounts: accounts.map(getAddress) })
273
+ },
274
+ onChainChanged(chain) {
275
+ const chainId = normalizeChainId(chain)
276
+ config.emitter.emit('change', { chainId })
277
+ },
278
+ async onConnect(connectInfo) {
279
+ const accounts = await this.getAccounts()
280
+ if (accounts.length === 0) return
281
+
282
+ const chainId = normalizeChainId(connectInfo.chainId)
283
+ config.emitter.emit('connect', { accounts, chainId })
284
+
285
+ const provider = await this.getProvider()
286
+ if (provider) {
287
+ provider.removeListener('connect', this.onConnect.bind(this))
288
+ provider.on('accountsChanged', this.onAccountsChanged.bind(this) as any)
289
+ provider.on('chainChanged', this.onChainChanged as any)
290
+ provider.on('disconnect', this.onDisconnect.bind(this) as any)
291
+ }
292
+ },
293
+ async onDisconnect(error) {
294
+ const provider = await this.getProvider()
295
+
296
+ // If MetaMask emits a `code: 1013` error, wait for reconnection before disconnecting
297
+ // https://github.com/MetaMask/providers/pull/120
298
+ if (error && (error as RpcError<1013>).code === 1013) {
299
+ if (provider && !!(await this.getAccounts()).length) return
300
+ }
301
+
302
+ // No need to remove 'metaMaskSDK.disconnected' from storage because `onDisconnect` is typically
303
+ // only called when the wallet is disconnected through the wallet's interface, meaning the wallet
304
+ // actually disconnected and we don't need to simulate it.
305
+ config.emitter.emit('disconnect')
306
+
307
+ provider.removeListener(
308
+ 'accountsChanged',
309
+ this.onAccountsChanged.bind(this),
310
+ )
311
+ provider.removeListener('chainChanged', this.onChainChanged)
312
+ provider.removeListener('disconnect', this.onDisconnect.bind(this))
313
+ provider.on('connect', this.onConnect.bind(this) as any)
314
+ },
315
+ }))
316
+ }