@jaw.id/wagmi 0.1.22 → 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.
package/dist/lib/Connector.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/lib/Connector.js
CHANGED
|
@@ -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,
|
|
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,CAgD7B;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"}
|
|
@@ -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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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.
|
|
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.
|
|
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"
|