@jaw.id/wagmi 0.1.21 → 1.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,4 +1,4 @@
1
- import { type CreateJAWSDKOptions, type ProviderInterface, type WalletConnectCapabilities, type WalletConnectResponse } from '@jaw.id/core';
1
+ import { type CreateJAWSDKOptions, type ProviderInterface, type WalletConnectCapabilities, type WalletConnectResponse, type JawTheme } from '@jaw.id/core';
2
2
  import { type ProviderConnectInfo } from 'viem';
3
3
  export type JawParameters = CreateJAWSDKOptions;
4
4
  export type { WalletConnectCapabilities } from '@jaw.id/core';
@@ -22,6 +22,13 @@ type ConnectorProperties = {
22
22
  chainId: number;
23
23
  }>;
24
24
  onConnect(connectInfo: ProviderConnectInfo): void;
25
+ /**
26
+ * Update the dApp theme. Re-themes the live embedded keys dialog in place
27
+ * (if the provider is already created) and updates the stored parameters so
28
+ * a provider created later picks it up. Never forces provider creation — safe
29
+ * to call on every theme change without spawning extra prewarmed iframes.
30
+ */
31
+ setTheme(theme: JawTheme | undefined): void;
25
32
  };
26
33
  export declare function jaw(parameters: JawParameters): import("@wagmi/core").CreateConnectorFn<ProviderInterface, ConnectorProperties, Record<string, unknown>>;
27
34
  export declare namespace jaw {
@@ -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,EAG3B,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;CACnD,CAAC;AAEF,wBAAgB,GAAG,CAAC,UAAU,EAAE,aAAa,4GAgQ5C;yBAhQe,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;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"}
@@ -169,6 +169,16 @@ export function jaw(parameters) {
169
169
  }
170
170
  return provider_;
171
171
  },
172
+ setTheme(theme) {
173
+ // Keep the stored options in sync so a provider created later (or after a
174
+ // reconnect) starts with the right theme...
175
+ parameters = { ...parameters, theme };
176
+ // ...and push it to the live provider if one already exists. Crucially we
177
+ // do NOT call getProvider() here — that would force-create a provider (and
178
+ // prewarm an iframe), which under React StrictMode's double-mount spawns a
179
+ // duplicate. No-op until wagmi creates the provider through its lifecycle.
180
+ provider_?.setTheme(theme);
181
+ },
172
182
  async isAuthorized() {
173
183
  try {
174
184
  // Use retry strategy for reliability
@@ -16,3 +16,20 @@ test('setup with parameters', () => {
16
16
  expect(jaw.type).toEqual('jaw');
17
17
  expect(typeof connectorFn).toBe('function');
18
18
  });
19
+ test('setTheme is callable and does not force-create a provider', () => {
20
+ const connectorFn = jaw({ apiKey: 'test-api-key' });
21
+ const emitter = {
22
+ uid: 'test',
23
+ emit: () => undefined,
24
+ on: () => undefined,
25
+ off: () => undefined,
26
+ once: () => undefined,
27
+ listenerCount: () => 0,
28
+ };
29
+ // Instantiate the connector with a minimal config (no provider created yet).
30
+ const connector = connectorFn({ emitter, chains: [], transports: {} });
31
+ // Before any provider exists, setTheme must be a safe no-op — it must NOT
32
+ // create a provider (which would prewarm a duplicate iframe under StrictMode).
33
+ expect(typeof connector.setTheme).toBe('function');
34
+ expect(() => connector.setTheme({ mode: 'dark' })).not.toThrow();
35
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/lib/internal/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAqD,MAAM,aAAa,CAAC;AAC7G,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EACnC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAM/D,yBAAiB,OAAO,CAAC;IACvB,KAAY,UAAU,GAAG;QACvB,0CAA0C;QAC1C,SAAS,EAAE,SAAS,CAAC;QACrB,sCAAsC;QACtC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB;;;WAGG;QACH,YAAY,CAAC,EAAE,yBAAyB,CAAC;QACzC,mDAAmD;QACnD,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IAEF,KAAY,UAAU,GAAG;QACvB,0DAA0D;QAC1D,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,uBAAuB,EAAE,CAAC;QAClE,yBAAyB;QACzB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,KAAY,SAAS,GAAG,KAAK,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,OAAO,CAAC,MAAM,SAAS,MAAM,EACjD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,CAAC,UAAU,GAC7B,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAS7B;AAMD,yBAAiB,gBAAgB,CAAC;IAChC,KAAY,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;QACvD,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,yEAAyE;QACzE,MAAM,EAAE,MAAM,CAAC;QACf,sBAAsB;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,0BAA0B;QAC1B,WAAW,EAAE,iBAAiB,CAAC;KAChC,CAAC;IAEF,KAAY,UAAU,GAAG,8BAA8B,CAAC;IACxD,KAAY,SAAS,GAAG,KAAK,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,SAAS,MAAM,EAC1D,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,GAC9C,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAsBtC;AAMD,yBAAiB,cAAc,CAAC;IAC9B,KAAY,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;QACvD,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IAEF,KAAY,UAAU,GAAG,4BAA4B,CAAC;IACtD,KAAY,SAAS,GAAG,KAAK,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,SAAS,MAAM,EACxD,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,cAAc,CAAC,UAAU,CAAC,MAAM,CAAM,GACjD,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAepC;AAMD,yBAAiB,iBAAiB,CAAC;IACjC,KAAY,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;QACvD,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,qEAAqE;QACrE,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;KACnB,CAAC;IAEF,KAAY,UAAU,GAAG,2BAA2B,CAAC;IACrD,KAAY,SAAS,GAAG,KAAK,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,SAAS,MAAM,EAC3D,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,GAC/C,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAevC;AAMD,yBAAiB,UAAU,CAAC;IAC1B,KAAY,UAAU,GAAG;QACvB,uFAAuF;QACvF,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,CAAC;IAEF,KAAY,UAAU,GAAG,IAAI,CAAC;IAC9B,KAAY,SAAS,GAAG,KAAK,CAAC;CAC/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAAC,MAAM,SAAS,MAAM,EACpD,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,UAAU,CAAC,UAAe,GACrC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAGhC;AAMD,yBAAiB,SAAS,CAAC;IACzB,KAAY,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;QACvD,+CAA+C;QAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,qEAAqE;QACrE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,0CAA0C;QAC1C,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;QAC9B,2CAA2C;QAC3C,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,CAAC;IAEF,KAAY,UAAU,GAAG,uBAAuB,CAAC;IACjD,KAAY,SAAS,GAAG,KAAK,CAAC;CAC/B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAAC,MAAM,SAAS,MAAM,EACnD,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,SAAS,CAAC,UAAU,CAAC,MAAM,CAAM,GAC5C,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAsB/B;AAMD,0DAA0D;AAC1D,MAAM,MAAM,6BAA6B,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEjF,yBAAiB,eAAe,CAAC;IAC/B,KAAY,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;QACvD,gEAAgE;QAChE,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,2DAA2D;QAC3D,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;KACrB,CAAC;IAEF,KAAY,UAAU,GAAG,6BAA6B,CAAC;IACvD,KAAY,SAAS,GAAG,KAAK,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,eAAe,CAAC,MAAM,SAAS,MAAM,EACzD,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,eAAe,CAAC,UAAU,CAAC,MAAM,CAAM,GAClD,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAerC;AAMD,yBAAiB,IAAI,CAAC;IACpB,KAAY,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;QACvD,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,gFAAgF;QAChF,OAAO,EAAE,uBAAuB,GAAG,oBAAoB,CAAC;KACzD,CAAC;IAEF,KAAY,UAAU,GAAG,GAAG,CAAC;IAC7B,KAAY,SAAS,GAAG,KAAK,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,IAAI,CAAC,MAAM,SAAS,MAAM,EAC9C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAe1B;AAMD,yBAAiB,eAAe,CAAC;IAC/B,KAAY,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;QACvD,oFAAoF;QACpF,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,2CAA2C;QAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,wDAAwD;QACxD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,qEAAqE;QACrE,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IAEF,KAAY,UAAU,GAAG,6BAA6B,CAAC;IACvD,KAAY,SAAS,GAAG,KAAK,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,eAAe,CAAC,MAAM,SAAS,MAAM,EACzD,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,eAAe,CAAC,UAAU,CAAC,MAAM,CAAM,GAClD,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAuBrC"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/lib/internal/core.ts"],"names":[],"mappings":"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"}
@@ -22,11 +22,45 @@ import { getConnectorClient, disconnect as wagmiDisconnect } from '@wagmi/core';
22
22
  */
23
23
  export async function connect(config, parameters) {
24
24
  const { connector, chainId, capabilities } = parameters;
25
- const result = await connector.connect({ chainId, capabilities });
26
- return {
27
- accounts: result.accounts,
28
- chainId: result.chainId,
29
- };
25
+ // This action reimplements @wagmi/core's connect to forward JAW's
26
+ // `capabilities` to the connector, but previously skipped the part that
27
+ // records the connection in wagmi's store — so useAccount()/isConnected
28
+ // stayed false even though the provider had connected. The block below
29
+ // mirrors @wagmi/core's connect: flip to 'connecting', wire the change/
30
+ // disconnect emitter listeners, persist the recent connector, then register
31
+ // the connection (connections + current + status 'connected') via setState.
32
+ try {
33
+ config.setState((x) => ({ ...x, status: 'connecting' }));
34
+ connector.emitter.emit('message', { type: 'connecting' });
35
+ const result = await connector.connect({ chainId, capabilities });
36
+ connector.emitter.off('connect', config._internal.events.connect);
37
+ connector.emitter.on('change', config._internal.events.change);
38
+ connector.emitter.on('disconnect', config._internal.events.disconnect);
39
+ await config.storage?.setItem('recentConnectorId', connector.id);
40
+ const accounts = result.accounts.map((account) => typeof account === 'string' ? account : account.address);
41
+ config.setState((x) => ({
42
+ ...x,
43
+ connections: new Map(x.connections).set(connector.uid, {
44
+ accounts,
45
+ chainId: result.chainId,
46
+ connector,
47
+ }),
48
+ current: connector.uid,
49
+ status: 'connected',
50
+ }));
51
+ return {
52
+ accounts: result.accounts,
53
+ chainId: result.chainId,
54
+ };
55
+ }
56
+ catch (error) {
57
+ config.setState((x) => ({
58
+ ...x,
59
+ // Keep an existing connection intact if this one failed.
60
+ status: x.current ? 'connected' : 'disconnected',
61
+ }));
62
+ throw error;
63
+ }
30
64
  }
31
65
  /**
32
66
  * Grants permissions to a spender address.
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": "0.1.21",
4
+ "version": "1.0.0",
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": "0.4.4",
34
+ "@jaw.id/core": "1.0.0",
35
35
  "@wagmi/core": "^3.0.0",
36
36
  "tslib": "^2.3.0",
37
37
  "viem": "^2.38.2"