@wagmi/connectors 4.0.0-alpha.0 → 4.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.
@@ -1,2 +1,2 @@
1
- export const version = '4.0.0-alpha.0';
1
+ export const version = '4.0.0';
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,OAAO,CAAA"}
@@ -11,7 +11,7 @@ export type InjectedParameters = {
11
11
  /**
12
12
  * [EIP-1193](https://eips.ethereum.org/EIPS/eip-1193) Ethereum Provider to target
13
13
  */
14
- target?: TargetId | (() => (TargetMap[TargetId] & {
14
+ wallet?: WalletId | (() => (WalletMap[WalletId] & {
15
15
  id: string;
16
16
  }) | undefined) | undefined;
17
17
  };
@@ -274,7 +274,7 @@ export declare function injected(parameters?: InjectedParameters): import("@wagm
274
274
  isImToken?: true | undefined;
275
275
  isKuCoinWallet?: true | undefined;
276
276
  isMathWallet?: true | undefined;
277
- isMetaMask?: true | undefined;
277
+ isMetaMask: true;
278
278
  isOkxWallet?: true | undefined;
279
279
  isOKExWallet?: true | undefined;
280
280
  isOneInchAndroidWallet?: true | undefined;
@@ -293,9 +293,9 @@ export declare function injected(parameters?: InjectedParameters): import("@wagm
293
293
  isXDEFI?: true | undefined;
294
294
  isZerion?: true | undefined;
295
295
  providers?: any[] | undefined;
296
- _events?: {
296
+ _events: {
297
297
  connect?: (() => void) | undefined;
298
- } | undefined;
298
+ };
299
299
  _state?: {
300
300
  accounts?: string[] | undefined;
301
301
  initialized?: boolean | undefined;
@@ -308,15 +308,13 @@ export declare function injected(parameters?: InjectedParameters): import("@wagm
308
308
  }, {
309
309
  [x: `${string}.connected`]: true;
310
310
  }>;
311
- export type TargetId = Evaluate<keyof WindowProviderFlags> extends `is${infer name}` ? name extends `${infer char}${infer rest}` ? `${Lowercase<char>}${rest}` : never : never;
312
- type Target = {
311
+ export type WalletId = 'coinbaseWallet' | 'metaMask' | 'phantom' | 'rainbow';
312
+ type Wallet = {
313
313
  name: string;
314
- provider: keyof WindowProviderFlags | ((window?: Window | undefined) => WindowProvider | undefined);
315
- features?: readonly 'wallet_requestPermissions'[] | undefined;
316
- };
317
- type TargetMap = {
318
- [_ in TargetId]?: Target | undefined;
314
+ provider: keyof WindowProviderFlags | ((window?: Window) => WindowProvider | undefined);
315
+ features?: readonly 'wallet_requestPermissions'[];
319
316
  };
317
+ type WalletMap = Record<WalletId, Wallet>;
320
318
  type WindowProviderFlags = {
321
319
  isApexWallet?: true | undefined;
322
320
  isAvalanche?: true | undefined;
@@ -358,10 +356,11 @@ type WindowProviderFlags = {
358
356
  };
359
357
  type WindowProvider = Evaluate<EIP1193Provider & WindowProviderFlags & {
360
358
  providers?: WindowProvider[] | undefined;
359
+ isMetaMask: true;
361
360
  /** Only exists in MetaMask as of 2022/04/03 */
362
- _events?: {
361
+ _events: {
363
362
  connect?: (() => void) | undefined;
364
- } | undefined;
363
+ };
365
364
  /** Only exists in MetaMask as of 2022/04/03 */
366
365
  _state?: {
367
366
  accounts?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"injected.d.ts","sourceRoot":"","sources":["../../src/injected.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injected.d.ts","sourceRoot":"","sources":["../../src/injected.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "4.0.0-alpha.0";
1
+ export declare const version = "4.0.0";
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,UAAU,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wagmi/connectors",
3
3
  "description": "A collection of connectors for wagmi",
4
- "version": "4.0.0-alpha.0",
4
+ "version": "4.0.0",
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
+ "@wagmi/core": "^2",
31
32
  "typescript": ">=5",
32
- "viem": ">2.0.0-alpha.0",
33
- "@wagmi/core": "2.0.0-alpha.0"
33
+ "viem": "*"
34
34
  },
35
35
  "peerDependenciesMeta": {
36
36
  "typescript": {
@@ -48,7 +48,7 @@
48
48
  "devDependencies": {
49
49
  "lokijs": "^1.5.12",
50
50
  "msw": "^1.3.0",
51
- "@wagmi/core": "2.0.0-alpha.0"
51
+ "@wagmi/core": "2.0.0"
52
52
  },
53
53
  "contributors": [
54
54
  "jxom.eth <j@wagmi.sh>",
package/src/injected.ts CHANGED
@@ -29,13 +29,13 @@ export type InjectedParameters = {
29
29
  /**
30
30
  * [EIP-1193](https://eips.ethereum.org/EIPS/eip-1193) Ethereum Provider to target
31
31
  */
32
- target?:
33
- | TargetId
34
- | (() => (TargetMap[TargetId] & { id: string }) | undefined)
32
+ wallet?:
33
+ | WalletId
34
+ | (() => (WalletMap[WalletId] & { id: string }) | undefined)
35
35
  | undefined
36
36
  }
37
37
 
38
- const targetMap = {
38
+ const walletMap = {
39
39
  coinbaseWallet: {
40
40
  name: 'Coinbase Wallet',
41
41
  provider(window) {
@@ -88,31 +88,29 @@ const targetMap = {
88
88
  return findProvider(window, 'isPhantom')
89
89
  },
90
90
  },
91
- } as const satisfies TargetMap
91
+ rainbow: {
92
+ name: 'Rainbow',
93
+ provider: 'isRainbow',
94
+ },
95
+ } as const satisfies WalletMap
92
96
 
93
97
  export function injected(parameters: InjectedParameters = {}) {
94
98
  const shimDisconnect = parameters.shimDisconnect ?? true
95
99
  const unstable_shimAsyncInject = parameters.unstable_shimAsyncInject
96
100
 
97
- function getWindowProvider(): TargetMap[TargetId] & { id: string } {
98
- const target = parameters.target
99
- if (typeof target === 'function') {
100
- const result = target()
101
+ function getWindowProvider(): WalletMap[WalletId] & { id: string } {
102
+ const wallet = parameters.wallet
103
+ if (typeof wallet === 'function') {
104
+ const result = wallet()
101
105
  if (result) return result
102
106
  }
103
- if (typeof target === 'string')
104
- return {
105
- ...(targetMap[target as keyof typeof targetMap] ?? {
106
- name: `${target[0]!.toUpperCase()}${target.slice(1)}`,
107
- provider: `is${target[0]!.toUpperCase()}${target.slice(1)}`,
108
- }),
109
- id: target,
110
- }
107
+ if (typeof wallet === 'string') return { ...walletMap[wallet], id: wallet }
111
108
  return {
112
109
  id: 'injected',
113
110
  name: 'Injected',
114
- provider(window) {
115
- return window?.ethereum
111
+ provider(window?: Window) {
112
+ if (window?.ethereum) return window.ethereum
113
+ return undefined
116
114
  },
117
115
  }
118
116
  }
@@ -132,8 +130,8 @@ export function injected(parameters: InjectedParameters = {}) {
132
130
  },
133
131
  async setup() {
134
132
  const provider = await this.getProvider()
135
- // Only start listening for events if `target` is set, otherwise `injected()` will also receive events
136
- if (provider && parameters.target) {
133
+ // Only start listening for events if `wallet` is set, otherwise `injected()` will also receive events
134
+ if (provider && parameters.wallet) {
137
135
  provider.on('accountsChanged', this.onAccountsChanged.bind(this))
138
136
  provider.on('connect', this.onConnect.bind(this))
139
137
  }
@@ -143,7 +141,7 @@ export function injected(parameters: InjectedParameters = {}) {
143
141
  if (!provider) throw new ProviderNotFoundError()
144
142
 
145
143
  try {
146
- // Attempt to show select prompt with `wallet_requestPermissions` when
144
+ // Attempt to show wallet select prompt with `wallet_requestPermissions` when
147
145
  // `shimDisconnect` is active and account is in disconnected state (flag in storage)
148
146
  const canSelectAccount = getWindowProvider().features?.includes(
149
147
  'wallet_requestPermissions',
@@ -157,7 +155,7 @@ export function injected(parameters: InjectedParameters = {}) {
157
155
  accounts = await this.getAccounts().catch(() => null)
158
156
  const isAuthorized = !!accounts?.length
159
157
  if (isAuthorized)
160
- // Attempt to show another prompt for selecting connector if already connected
158
+ // Attempt to show another prompt for selecting wallet if already connected
161
159
  try {
162
160
  const permissions = await provider.request({
163
161
  method: 'wallet_requestPermissions',
@@ -169,7 +167,7 @@ export function injected(parameters: InjectedParameters = {}) {
169
167
  // Only bubble up error if user rejects request
170
168
  if ((error as ProviderRpcError).code === 4_001)
171
169
  throw new UserRejectedRequestError(error as RpcError)
172
- // Or prompt is already open
170
+ // Or wallet is already open
173
171
  if (
174
172
  (error as RpcError).code ===
175
173
  new ResourceUnavailableRpcError(error as Error).code
@@ -199,7 +197,7 @@ export function injected(parameters: InjectedParameters = {}) {
199
197
  currentChainId = chain?.id ?? currentChainId
200
198
  }
201
199
 
202
- // Add shim to storage signalling connector is connected
200
+ // Add shim to storage signalling wallet is connected
203
201
  if (shimDisconnect)
204
202
  await config.storage?.setItem(`${this.id}.connected`, true)
205
203
 
@@ -224,7 +222,7 @@ export function injected(parameters: InjectedParameters = {}) {
224
222
  provider.removeListener('disconnect', this.onDisconnect.bind(this))
225
223
  provider.on('connect', this.onConnect.bind(this))
226
224
 
227
- // Remove shim signalling connector is disconnected
225
+ // Remove shim signalling wallet is disconnected
228
226
  if (shimDisconnect)
229
227
  await config.storage?.removeItem(`${this.id}.connected`)
230
228
  },
@@ -251,7 +249,7 @@ export function injected(parameters: InjectedParameters = {}) {
251
249
  try {
252
250
  const isDisconnected =
253
251
  shimDisconnect &&
254
- // If shim does not exist in storage, connector is disconnected
252
+ // If shim does not exist in storage, wallet is disconnected
255
253
  !(await config.storage?.getItem(`${this.id}.connected`))
256
254
  if (isDisconnected) return false
257
255
 
@@ -405,7 +403,7 @@ export function injected(parameters: InjectedParameters = {}) {
405
403
  provider.on('disconnect', this.onDisconnect.bind(this))
406
404
  }
407
405
 
408
- // Add shim to storage signalling connector is connected
406
+ // Add shim to storage signalling wallet is connected
409
407
  if (shimDisconnect)
410
408
  await config.storage?.setItem(`${this.id}.connected`, true)
411
409
  },
@@ -436,22 +434,15 @@ export function injected(parameters: InjectedParameters = {}) {
436
434
  }))
437
435
  }
438
436
 
439
- export type TargetId = Evaluate<
440
- keyof WindowProviderFlags
441
- > extends `is${infer name}`
442
- ? name extends `${infer char}${infer rest}`
443
- ? `${Lowercase<char>}${rest}`
444
- : never
445
- : never
446
-
447
- type Target = {
437
+ export type WalletId = 'coinbaseWallet' | 'metaMask' | 'phantom' | 'rainbow'
438
+ type Wallet = {
448
439
  name: string
449
440
  provider:
450
441
  | keyof WindowProviderFlags
451
- | ((window?: Window | undefined) => WindowProvider | undefined)
452
- features?: readonly 'wallet_requestPermissions'[] | undefined
442
+ | ((window?: Window) => WindowProvider | undefined)
443
+ features?: readonly 'wallet_requestPermissions'[]
453
444
  }
454
- type TargetMap = { [_ in TargetId]?: Target | undefined }
445
+ type WalletMap = Record<WalletId, Wallet>
455
446
 
456
447
  type WindowProviderFlags = {
457
448
  isApexWallet?: true | undefined
@@ -497,8 +488,9 @@ type WindowProvider = Evaluate<
497
488
  EIP1193Provider &
498
489
  WindowProviderFlags & {
499
490
  providers?: WindowProvider[] | undefined
491
+ isMetaMask: true
500
492
  /** Only exists in MetaMask as of 2022/04/03 */
501
- _events?: { connect?: (() => void) | undefined } | undefined
493
+ _events: { connect?: (() => void) | undefined }
502
494
  /** Only exists in MetaMask as of 2022/04/03 */
503
495
  _state?:
504
496
  | {
@@ -524,12 +516,12 @@ function findProvider(
524
516
  | keyof WindowProviderFlags
525
517
  | ((provider: WindowProvider) => boolean),
526
518
  ) {
527
- function isProvider(provider: WindowProvider) {
519
+ function condition_(provider: WindowProvider) {
528
520
  if (typeof condition === 'function') return condition(provider)
529
521
  return provider[condition]
530
522
  }
531
523
  if (window?.ethereum?.providers)
532
- return window.ethereum.providers.find((provider) => isProvider(provider))
533
- if (window?.ethereum && isProvider(window.ethereum)) return window.ethereum
524
+ return window.ethereum.providers.find((provider) => condition_(provider))
525
+ if (window?.ethereum && condition_(window.ethereum)) return window.ethereum
534
526
  return undefined
535
527
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '4.0.0-alpha.0'
1
+ export const version = '4.0.0'