@jaw.id/wagmi 1.0.14 → 1.0.15

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.
@@ -10,6 +10,16 @@ type ConnectParameters = {
10
10
  * When provided, uses wallet_connect instead of eth_requestAccounts.
11
11
  */
12
12
  capabilities?: WalletConnectCapabilities | undefined;
13
+ /**
14
+ * wagmi's own flag (v3) deciding the shape of `accounts` in the result:
15
+ * `{ address, capabilities }[]` when true, bare addresses when not.
16
+ *
17
+ * Distinct from `capabilities` above, which asks the *wallet* for
18
+ * capabilities. wagmi's connect action only normalizes the result when it
19
+ * asked for capabilities, so returning objects unrequested puts objects
20
+ * where wagmi's store expects addresses.
21
+ */
22
+ withCapabilities?: boolean | undefined;
13
23
  };
14
24
  /** Account with capabilities returned from wallet_connect */
15
25
  export type AccountWithCapabilities = {
@@ -1 +1 @@
1
- {"version":3,"file":"Connector.d.ts","sourceRoot":"","sources":["../../src/lib/Connector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EAGd,MAAM,cAAc,CAAC;AAEtB,OAAO,EAGL,KAAK,mBAAmB,EAIzB,MAAM,MAAM,CAAC;AAGd,MAAM,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAGhD,YAAY,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAwB9D,KAAK,iBAAiB,GAAG;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;CACtD,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;CAC1E,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,OAAO,CAAC,UAAU,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAC/C,QAAQ,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,GAAG,SAAS,uBAAuB,EAAE,CAAC;QACxE,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,SAAS,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClD;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF,wBAAgB,GAAG,CAAC,UAAU,EAAE,aAAa,4GA2Q5C;yBA3Qe,GAAG"}
1
+ {"version":3,"file":"Connector.d.ts","sourceRoot":"","sources":["../../src/lib/Connector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EAGd,MAAM,cAAc,CAAC;AAEtB,OAAO,EAGL,KAAK,mBAAmB,EAIzB,MAAM,MAAM,CAAC;AAGd,MAAM,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAGhD,YAAY,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAwB9D,KAAK,iBAAiB,GAAG;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACrD;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;CAC1E,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,OAAO,CAAC,UAAU,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAC/C,QAAQ,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,GAAG,SAAS,uBAAuB,EAAE,CAAC;QACxE,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,SAAS,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClD;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;CAC7C,CAAC;AAEF,wBAAgB,GAAG,CAAC,UAAU,EAAE,aAAa,4GAyR5C;yBAzRe,GAAG"}
@@ -43,7 +43,7 @@ export function jaw(parameters) {
43
43
  provider.on('connect', connect);
44
44
  }
45
45
  },
46
- async connect({ chainId, isReconnecting, capabilities } = {}) {
46
+ async connect({ chainId, isReconnecting, capabilities, withCapabilities } = {}) {
47
47
  const targetChainId = chainId;
48
48
  let accounts = [];
49
49
  let accountsWithCapabilities = [];
@@ -115,9 +115,22 @@ export function jaw(parameters) {
115
115
  });
116
116
  currentChainId = chain?.id ?? currentChainId;
117
117
  }
118
- // Return accounts with capabilities if wallet_connect was used, otherwise plain accounts
118
+ // The shape follows wagmi's `withCapabilities` flag, not whether we
119
+ // happened to call wallet_connect: wagmi only maps objects back to
120
+ // addresses when it asked for capabilities, so returning them
121
+ // unrequested lands objects in `state.connections[].accounts` and
122
+ // useAccount().address stops being an address. JAW's own connect action
123
+ // reads either shape.
124
+ if (withCapabilities) {
125
+ return {
126
+ accounts: (accountsWithCapabilities.length > 0
127
+ ? accountsWithCapabilities
128
+ : accounts.map((address) => ({ address, capabilities: {} }))),
129
+ chainId: currentChainId,
130
+ };
131
+ }
119
132
  return {
120
- accounts: (accountsWithCapabilities.length > 0 ? accountsWithCapabilities : accounts),
133
+ accounts: accounts,
121
134
  chainId: currentChainId,
122
135
  };
123
136
  }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=connect-shape.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-shape.test.d.ts","sourceRoot":"","sources":["../../src/lib/connect-shape.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ import { describe, expect, it, vi, beforeEach } from 'vitest';
2
+ const request = vi.fn();
3
+ vi.mock('@jaw.id/core', async (importOriginal) => {
4
+ const actual = await importOriginal();
5
+ return {
6
+ ...actual,
7
+ JAW: {
8
+ create: () => ({
9
+ provider: { request, on: () => undefined, removeListener: () => undefined },
10
+ }),
11
+ },
12
+ };
13
+ });
14
+ const { jaw } = await import('./Connector.js');
15
+ const ADDRESS = '0x1234567890123456789012345678901234567890';
16
+ const SIWE_CAPABILITIES = { signInWithEthereum: { nonce: '123', chainId: '0x1' } };
17
+ function makeConnector() {
18
+ const emitter = {
19
+ uid: 'test',
20
+ emit: () => undefined,
21
+ on: () => undefined,
22
+ off: () => undefined,
23
+ once: () => undefined,
24
+ listenerCount: () => 0,
25
+ };
26
+ return jaw({ apiKey: 'test-api-key' })({ emitter, chains: [], transports: {} });
27
+ }
28
+ /**
29
+ * wagmi v3 decides the shape of `connect`'s `accounts` from its own
30
+ * `withCapabilities` flag, and only maps objects back to addresses when it asked
31
+ * for capabilities. A connector that returns objects unrequested puts objects in
32
+ * `state.connections[].accounts`, and `useAccount().address` stops being an
33
+ * address.
34
+ */
35
+ describe('connect() honors wagmi v3 withCapabilities', () => {
36
+ beforeEach(() => {
37
+ request.mockReset();
38
+ request.mockImplementation(({ method }) => {
39
+ switch (method) {
40
+ case 'eth_requestAccounts':
41
+ return Promise.resolve([ADDRESS]);
42
+ case 'wallet_connect':
43
+ return Promise.resolve({
44
+ accounts: [{ address: ADDRESS, capabilities: { signInWithEthereum: { signature: '0xsig' } } }],
45
+ });
46
+ case 'eth_chainId':
47
+ return Promise.resolve('0x1');
48
+ case 'eth_accounts':
49
+ return Promise.resolve([]);
50
+ default:
51
+ return Promise.resolve(null);
52
+ }
53
+ });
54
+ });
55
+ it('returns bare addresses by default', async () => {
56
+ const { accounts } = await makeConnector().connect();
57
+ expect(accounts).toEqual([ADDRESS]);
58
+ });
59
+ it('returns bare addresses even when wallet capabilities were requested', async () => {
60
+ const { accounts } = await makeConnector().connect({ capabilities: SIWE_CAPABILITIES });
61
+ expect(accounts).toEqual([ADDRESS]);
62
+ });
63
+ it('returns account objects when wagmi asks for capabilities', async () => {
64
+ const { accounts } = await makeConnector().connect({
65
+ capabilities: SIWE_CAPABILITIES,
66
+ withCapabilities: true,
67
+ });
68
+ expect(accounts).toEqual([{ address: ADDRESS, capabilities: { signInWithEthereum: { signature: '0xsig' } } }]);
69
+ });
70
+ it('wraps addresses when wagmi asks for capabilities the wallet was never asked for', async () => {
71
+ const { accounts } = await makeConnector().connect({ withCapabilities: true });
72
+ expect(accounts).toEqual([{ address: ADDRESS, capabilities: {} }]);
73
+ });
74
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/lib/internal/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/lib/internal/core.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,15 @@ export async function connect(config, parameters) {
33
33
  try {
34
34
  config.setState((x) => ({ ...x, status: 'connecting' }));
35
35
  connector.emitter.emit('message', { type: 'connecting' });
36
- const result = await connector.connect({ chainId, capabilities });
36
+ // `withCapabilities` is wagmi's flag for the result shape; ask for the
37
+ // richer one whenever we requested wallet capabilities, so the caller still
38
+ // gets each account's capabilities (a SIWE signature, for instance) back.
39
+ const wantsCapabilities = Boolean(capabilities && Object.keys(capabilities).length > 0);
40
+ const result = await connector.connect({
41
+ chainId,
42
+ capabilities,
43
+ withCapabilities: wantsCapabilities,
44
+ });
37
45
  connector.emitter.off('connect', config._internal.events.connect);
38
46
  connector.emitter.on('change', config._internal.events.change);
39
47
  connector.emitter.on('disconnect', config._internal.events.disconnect);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jaw.id/wagmi",
3
3
  "description": "Wagmi connector and React hooks for JAW.id.",
4
- "version": "1.0.14",
4
+ "version": "1.0.15",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",
@@ -31,7 +31,7 @@
31
31
  "!**/*.tsbuildinfo"
32
32
  ],
33
33
  "dependencies": {
34
- "@jaw.id/core": "1.1.3",
34
+ "@jaw.id/core": "1.1.4",
35
35
  "@wagmi/core": "^3.0.0",
36
36
  "tslib": "^2.3.0",
37
37
  "viem": "^2.38.2"