@zerodev/wallet-react 0.0.1-alpha.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.
Files changed (88) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/_cjs/actions.js +193 -0
  3. package/dist/_cjs/connector.js +221 -0
  4. package/dist/_cjs/constants.js +4 -0
  5. package/dist/_cjs/hooks/useAuthenticateOAuth.js +18 -0
  6. package/dist/_cjs/hooks/useExportWallet.js +18 -0
  7. package/dist/_cjs/hooks/useLoginPasskey.js +18 -0
  8. package/dist/_cjs/hooks/useRefreshSession.js +18 -0
  9. package/dist/_cjs/hooks/useRegisterPasskey.js +18 -0
  10. package/dist/_cjs/hooks/useSendOTP.js +18 -0
  11. package/dist/_cjs/hooks/useVerifyOTP.js +18 -0
  12. package/dist/_cjs/index.js +23 -0
  13. package/dist/_cjs/oauth.js +84 -0
  14. package/dist/_cjs/package.json +1 -0
  15. package/dist/_cjs/provider.js +163 -0
  16. package/dist/_cjs/store.js +51 -0
  17. package/dist/_cjs/utils/aaUtils.js +7 -0
  18. package/dist/_cjs/utils/timers.js +50 -0
  19. package/dist/_esm/actions.js +225 -0
  20. package/dist/_esm/connector.js +248 -0
  21. package/dist/_esm/constants.js +1 -0
  22. package/dist/_esm/hooks/useAuthenticateOAuth.js +18 -0
  23. package/dist/_esm/hooks/useExportWallet.js +18 -0
  24. package/dist/_esm/hooks/useLoginPasskey.js +18 -0
  25. package/dist/_esm/hooks/useRefreshSession.js +18 -0
  26. package/dist/_esm/hooks/useRegisterPasskey.js +18 -0
  27. package/dist/_esm/hooks/useSendOTP.js +18 -0
  28. package/dist/_esm/hooks/useVerifyOTP.js +18 -0
  29. package/dist/_esm/index.js +10 -0
  30. package/dist/_esm/oauth.js +77 -0
  31. package/dist/_esm/package.json +1 -0
  32. package/dist/_esm/provider.js +169 -0
  33. package/dist/_esm/store.js +51 -0
  34. package/dist/_esm/utils/aaUtils.js +4 -0
  35. package/dist/_esm/utils/timers.js +55 -0
  36. package/dist/_types/actions.d.ts +124 -0
  37. package/dist/_types/actions.d.ts.map +1 -0
  38. package/dist/_types/connector.d.ts +18 -0
  39. package/dist/_types/connector.d.ts.map +1 -0
  40. package/dist/_types/constants.d.ts +2 -0
  41. package/dist/_types/constants.d.ts.map +1 -0
  42. package/dist/_types/hooks/useAuthenticateOAuth.d.ts +18 -0
  43. package/dist/_types/hooks/useAuthenticateOAuth.d.ts.map +1 -0
  44. package/dist/_types/hooks/useExportWallet.d.ts +18 -0
  45. package/dist/_types/hooks/useExportWallet.d.ts.map +1 -0
  46. package/dist/_types/hooks/useLoginPasskey.d.ts +18 -0
  47. package/dist/_types/hooks/useLoginPasskey.d.ts.map +1 -0
  48. package/dist/_types/hooks/useRefreshSession.d.ts +18 -0
  49. package/dist/_types/hooks/useRefreshSession.d.ts.map +1 -0
  50. package/dist/_types/hooks/useRegisterPasskey.d.ts +18 -0
  51. package/dist/_types/hooks/useRegisterPasskey.d.ts.map +1 -0
  52. package/dist/_types/hooks/useSendOTP.d.ts +18 -0
  53. package/dist/_types/hooks/useSendOTP.d.ts.map +1 -0
  54. package/dist/_types/hooks/useVerifyOTP.d.ts +18 -0
  55. package/dist/_types/hooks/useVerifyOTP.d.ts.map +1 -0
  56. package/dist/_types/index.d.ts +15 -0
  57. package/dist/_types/index.d.ts.map +1 -0
  58. package/dist/_types/oauth.d.ts +21 -0
  59. package/dist/_types/oauth.d.ts.map +1 -0
  60. package/dist/_types/provider.d.ts +19 -0
  61. package/dist/_types/provider.d.ts.map +1 -0
  62. package/dist/_types/store.d.ts +52 -0
  63. package/dist/_types/store.d.ts.map +1 -0
  64. package/dist/_types/utils/aaUtils.d.ts +2 -0
  65. package/dist/_types/utils/aaUtils.d.ts.map +1 -0
  66. package/dist/_types/utils/timers.d.ts +22 -0
  67. package/dist/_types/utils/timers.d.ts.map +1 -0
  68. package/dist/tsconfig.build.tsbuildinfo +1 -0
  69. package/package.json +48 -0
  70. package/package.json.type +1 -0
  71. package/src/actions.ts +402 -0
  72. package/src/connector.ts +336 -0
  73. package/src/constants.ts +1 -0
  74. package/src/hooks/useAuthenticateOAuth.ts +57 -0
  75. package/src/hooks/useExportWallet.ts +57 -0
  76. package/src/hooks/useLoginPasskey.ts +57 -0
  77. package/src/hooks/useRefreshSession.ts +57 -0
  78. package/src/hooks/useRegisterPasskey.ts +57 -0
  79. package/src/hooks/useSendOTP.ts +57 -0
  80. package/src/hooks/useVerifyOTP.ts +57 -0
  81. package/src/index.ts +14 -0
  82. package/src/oauth.ts +124 -0
  83. package/src/provider.ts +235 -0
  84. package/src/store.ts +113 -0
  85. package/src/utils/aaUtils.ts +5 -0
  86. package/src/utils/timers.ts +80 -0
  87. package/tsconfig.build.json +10 -0
  88. package/tsconfig.build.tsbuildinfo +1 -0
@@ -0,0 +1,51 @@
1
+ import { create } from 'zustand';
2
+ import { persist, subscribeWithSelector } from 'zustand/middleware';
3
+ export const createZeroDevWalletStore = () => create()(subscribeWithSelector(persist((set, get) => ({
4
+ // Initial state
5
+ wallet: null,
6
+ eoaAccount: null,
7
+ session: null,
8
+ chainIds: [],
9
+ kernelAccounts: new Map(),
10
+ kernelClients: new Map(),
11
+ isExpiring: false,
12
+ oauthConfig: null,
13
+ // Actions
14
+ setWallet: (wallet) => set({ wallet }),
15
+ setEoaAccount: (account) => set({ eoaAccount: account }),
16
+ setKernelAccount: (chainId, account) => {
17
+ const accounts = new Map(get().kernelAccounts);
18
+ accounts.set(chainId, account);
19
+ set({ kernelAccounts: accounts });
20
+ },
21
+ setKernelClient: (chainId, client) => {
22
+ const clients = new Map(get().kernelClients);
23
+ clients.set(chainId, client);
24
+ set({ kernelClients: clients });
25
+ },
26
+ setSession: (session) => set({ session }),
27
+ setActiveChain: (chainId) => {
28
+ const { chainIds } = get();
29
+ // Move chainId to front, remove duplicates
30
+ set({
31
+ chainIds: [chainId, ...chainIds.filter((id) => id !== chainId)],
32
+ });
33
+ },
34
+ setIsExpiring: (isExpiring) => set({ isExpiring }),
35
+ setOAuthConfig: (config) => set({ oauthConfig: config }),
36
+ clear: () => set({
37
+ eoaAccount: null,
38
+ session: null,
39
+ kernelAccounts: new Map(),
40
+ kernelClients: new Map(),
41
+ isExpiring: false,
42
+ chainIds: [],
43
+ }),
44
+ }), {
45
+ name: 'zerodev-wallet',
46
+ // Only persist session data, not clients or accounts
47
+ partialize: (state) => ({
48
+ session: state.session,
49
+ chainIds: state.chainIds,
50
+ }),
51
+ })));
@@ -0,0 +1,4 @@
1
+ import { ZERODEV_AA_URL } from '../constants.js';
2
+ export function getAAUrl(chainId, aaUrl) {
3
+ return aaUrl || `${ZERODEV_AA_URL}${chainId}/chain/${chainId}`;
4
+ }
@@ -0,0 +1,55 @@
1
+ // Timer utilities for session management
2
+ // Handles delays >24.8 days (setTimeout limit) by chunking
3
+ export const MAX_DELAY_MS = 2_147_483_647; // ~24.8 days
4
+ function toIntMs(x) {
5
+ return Math.max(0, Math.floor(Number.isFinite(x) ? x : 0));
6
+ }
7
+ /**
8
+ * A drop-in replacement for `setTimeout` that supports arbitrarily long delays.
9
+ * Browsers clamp `setTimeout` delays to ~24.8 days. This helper safely schedules
10
+ * timeouts that can be months or years into the future by chunking.
11
+ */
12
+ export function setCappedTimeout(cb, delayMs) {
13
+ const target = Date.now() + toIntMs(delayMs);
14
+ let handle;
15
+ const tick = () => {
16
+ const remaining = target - Date.now();
17
+ if (remaining <= 0) {
18
+ cb();
19
+ return;
20
+ }
21
+ handle = setTimeout(tick, Math.min(MAX_DELAY_MS, remaining));
22
+ };
23
+ tick();
24
+ return {
25
+ clear() {
26
+ if (handle !== undefined) {
27
+ clearTimeout(handle);
28
+ handle = undefined;
29
+ }
30
+ },
31
+ };
32
+ }
33
+ /** Replace any existing timer for `key` with `controller`. */
34
+ export function putTimer(map, key, controller) {
35
+ map[key]?.clear?.();
36
+ map[key] = controller;
37
+ }
38
+ /** Clear a specific key (noop if missing). */
39
+ export function clearKey(map, key) {
40
+ map[key]?.clear?.();
41
+ delete map[key];
42
+ }
43
+ /** Clear all timers in the map. */
44
+ export function clearAll(map) {
45
+ for (const k of Object.keys(map)) {
46
+ map[k]?.clear?.();
47
+ delete map[k];
48
+ }
49
+ }
50
+ /**
51
+ * Convenience: set a capped timeout directly into the map for `key`.
52
+ */
53
+ export function setCappedTimeoutInMap(map, key, cb, delayMs) {
54
+ putTimer(map, key, setCappedTimeout(cb, delayMs));
55
+ }
@@ -0,0 +1,124 @@
1
+ import type { Config, Connector } from '@wagmi/core';
2
+ import type { OAuthProvider } from './oauth.js';
3
+ /**
4
+ * Register with passkey
5
+ */
6
+ export declare function registerPasskey(config: Config, parameters: {
7
+ email: string;
8
+ connector?: Connector;
9
+ }): Promise<void>;
10
+ export declare namespace registerPasskey {
11
+ type Parameters = {
12
+ email: string;
13
+ connector?: Connector;
14
+ };
15
+ type ReturnType = void;
16
+ type ErrorType = Error;
17
+ }
18
+ /**
19
+ * Login with passkey
20
+ */
21
+ export declare function loginPasskey(config: Config, parameters: {
22
+ email: string;
23
+ connector?: Connector;
24
+ }): Promise<void>;
25
+ export declare namespace loginPasskey {
26
+ type Parameters = {
27
+ email: string;
28
+ connector?: Connector;
29
+ };
30
+ type ReturnType = void;
31
+ type ErrorType = Error;
32
+ }
33
+ /**
34
+ * Authenticate with OAuth (opens popup)
35
+ */
36
+ export declare function authenticateOAuth(config: Config, parameters: {
37
+ provider: OAuthProvider;
38
+ clientId?: string;
39
+ connector?: Connector;
40
+ }): Promise<void>;
41
+ export declare namespace authenticateOAuth {
42
+ type Parameters = {
43
+ provider: OAuthProvider;
44
+ clientId?: string;
45
+ connector?: Connector;
46
+ };
47
+ type ReturnType = void;
48
+ type ErrorType = Error;
49
+ }
50
+ /**
51
+ * Send OTP via email
52
+ */
53
+ export declare function sendOTP(config: Config, parameters: {
54
+ email: string;
55
+ emailCustomization?: {
56
+ magicLinkTemplate?: string;
57
+ };
58
+ connector?: Connector;
59
+ }): Promise<{
60
+ otpId: string;
61
+ subOrganizationId: string;
62
+ }>;
63
+ export declare namespace sendOTP {
64
+ type Parameters = {
65
+ email: string;
66
+ emailCustomization?: {
67
+ magicLinkTemplate?: string;
68
+ };
69
+ connector?: Connector;
70
+ };
71
+ type ReturnType = {
72
+ otpId: string;
73
+ subOrganizationId: string;
74
+ };
75
+ type ErrorType = Error;
76
+ }
77
+ /**
78
+ * Verify OTP code
79
+ */
80
+ export declare function verifyOTP(config: Config, parameters: {
81
+ code: string;
82
+ otpId: string;
83
+ subOrganizationId: string;
84
+ connector?: Connector;
85
+ }): Promise<void>;
86
+ export declare namespace verifyOTP {
87
+ type Parameters = {
88
+ code: string;
89
+ otpId: string;
90
+ subOrganizationId: string;
91
+ connector?: Connector;
92
+ };
93
+ type ReturnType = void;
94
+ type ErrorType = Error;
95
+ }
96
+ /**
97
+ * Refresh session
98
+ */
99
+ export declare function refreshSession(config: Config, parameters?: {
100
+ connector?: Connector;
101
+ }): Promise<unknown>;
102
+ export declare namespace refreshSession {
103
+ type Parameters = {
104
+ connector?: Connector;
105
+ };
106
+ type ReturnType = unknown;
107
+ type ErrorType = Error;
108
+ }
109
+ /**
110
+ * Export wallet
111
+ */
112
+ export declare function exportWallet(config: Config, parameters: {
113
+ iframeContainerId: string;
114
+ connector?: Connector;
115
+ }): Promise<void>;
116
+ export declare namespace exportWallet {
117
+ type Parameters = {
118
+ iframeContainerId: string;
119
+ connector?: Connector;
120
+ };
121
+ type ReturnType = void;
122
+ type ErrorType = Error;
123
+ }
124
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { type CreateConnectorFn } from '@wagmi/core';
2
+ import type { StorageAdapter } from '@zerodev/wallet-core';
3
+ import { type Chain } from 'viem';
4
+ import type { OAuthConfig } from './oauth.js';
5
+ export type ZeroDevWalletConnectorParams = {
6
+ projectId: string;
7
+ organizationId?: string;
8
+ proxyBaseUrl?: string;
9
+ aaUrl: string;
10
+ chains: readonly Chain[];
11
+ rpId?: string;
12
+ sessionStorage?: StorageAdapter;
13
+ autoRefreshSession?: boolean;
14
+ sessionWarningThreshold?: number;
15
+ oauthConfig?: OAuthConfig;
16
+ };
17
+ export declare function zeroDevWallet(params: ZeroDevWalletConnectorParams): CreateConnectorFn;
18
+ //# sourceMappingURL=connector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,aAAa,CAAA;AAOrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,EAAE,KAAK,KAAK,EAA4B,MAAM,MAAM,CAAA;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAK7C,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,SAAS,KAAK,EAAE,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,4BAA4B,GACnC,iBAAiB,CAiTnB"}
@@ -0,0 +1,2 @@
1
+ export declare const ZERODEV_AA_URL = "https://rpc.zerodev.app/api/v3/";
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,oCAAoC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
2
+ import { type Config, type ResolvedRegister } from 'wagmi';
3
+ import { authenticateOAuth } from '../actions.js';
4
+ type ConfigParameter<config extends Config = Config> = {
5
+ config?: Config | config | undefined;
6
+ };
7
+ /**
8
+ * Hook to authenticate with OAuth (opens popup)
9
+ */
10
+ export declare function useAuthenticateOAuth<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useAuthenticateOAuth.Parameters<config, context>): useAuthenticateOAuth.ReturnType<context>;
11
+ export declare namespace useAuthenticateOAuth {
12
+ type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & {
13
+ mutation?: UseMutationOptions<authenticateOAuth.ReturnType, authenticateOAuth.ErrorType, authenticateOAuth.Parameters, context> | undefined;
14
+ };
15
+ type ReturnType<context = unknown> = UseMutationResult<authenticateOAuth.ReturnType, authenticateOAuth.ErrorType, authenticateOAuth.Parameters, context>;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=useAuthenticateOAuth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAuthenticateOAuth.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAuthenticateOAuth.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,gBAAgB,EAAa,MAAM,OAAO,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,KAAK,eAAe,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACrD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CACrC,CAAA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,SAAS,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAClD,OAAO,GAAG,OAAO,EAEjB,UAAU,GAAE,oBAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAM,GAChE,oBAAoB,CAAC,UAAU,CAAC,OAAO,CAAC,CAW1C;AAED,MAAM,CAAC,OAAO,WAAW,oBAAoB,CAAC;IAC5C,KAAK,UAAU,CACb,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,OAAO,GAAG,OAAO,IACf,eAAe,CAAC,MAAM,CAAC,GAAG;QAC5B,QAAQ,CAAC,EACL,kBAAkB,CAChB,iBAAiB,CAAC,UAAU,EAC5B,iBAAiB,CAAC,SAAS,EAC3B,iBAAiB,CAAC,UAAU,EAC5B,OAAO,CACR,GACD,SAAS,CAAA;KACd,CAAA;IAED,KAAK,UAAU,CAAC,OAAO,GAAG,OAAO,IAAI,iBAAiB,CACpD,iBAAiB,CAAC,UAAU,EAC5B,iBAAiB,CAAC,SAAS,EAC3B,iBAAiB,CAAC,UAAU,EAC5B,OAAO,CACR,CAAA;CACF"}
@@ -0,0 +1,18 @@
1
+ import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
2
+ import { type Config, type ResolvedRegister } from 'wagmi';
3
+ import { exportWallet } from '../actions.js';
4
+ type ConfigParameter<config extends Config = Config> = {
5
+ config?: Config | config | undefined;
6
+ };
7
+ /**
8
+ * Hook to export wallet seed phrase
9
+ */
10
+ export declare function useExportWallet<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useExportWallet.Parameters<config, context>): useExportWallet.ReturnType<context>;
11
+ export declare namespace useExportWallet {
12
+ type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & {
13
+ mutation?: UseMutationOptions<exportWallet.ReturnType, exportWallet.ErrorType, exportWallet.Parameters, context> | undefined;
14
+ };
15
+ type ReturnType<context = unknown> = UseMutationResult<exportWallet.ReturnType, exportWallet.ErrorType, exportWallet.Parameters, context>;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=useExportWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExportWallet.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExportWallet.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,gBAAgB,EAAa,MAAM,OAAO,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,KAAK,eAAe,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACrD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CACrC,CAAA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,SAAS,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAClD,OAAO,GAAG,OAAO,EAEjB,UAAU,GAAE,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAM,GAC3D,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAWrC;AAED,MAAM,CAAC,OAAO,WAAW,eAAe,CAAC;IACvC,KAAK,UAAU,CACb,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,OAAO,GAAG,OAAO,IACf,eAAe,CAAC,MAAM,CAAC,GAAG;QAC5B,QAAQ,CAAC,EACL,kBAAkB,CAChB,YAAY,CAAC,UAAU,EACvB,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,UAAU,EACvB,OAAO,CACR,GACD,SAAS,CAAA;KACd,CAAA;IAED,KAAK,UAAU,CAAC,OAAO,GAAG,OAAO,IAAI,iBAAiB,CACpD,YAAY,CAAC,UAAU,EACvB,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,UAAU,EACvB,OAAO,CACR,CAAA;CACF"}
@@ -0,0 +1,18 @@
1
+ import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
2
+ import { type Config, type ResolvedRegister } from 'wagmi';
3
+ import { loginPasskey } from '../actions.js';
4
+ type ConfigParameter<config extends Config = Config> = {
5
+ config?: Config | config | undefined;
6
+ };
7
+ /**
8
+ * Hook to login with passkey
9
+ */
10
+ export declare function useLoginPasskey<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useLoginPasskey.Parameters<config, context>): useLoginPasskey.ReturnType<context>;
11
+ export declare namespace useLoginPasskey {
12
+ type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & {
13
+ mutation?: UseMutationOptions<loginPasskey.ReturnType, loginPasskey.ErrorType, loginPasskey.Parameters, context> | undefined;
14
+ };
15
+ type ReturnType<context = unknown> = UseMutationResult<loginPasskey.ReturnType, loginPasskey.ErrorType, loginPasskey.Parameters, context>;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=useLoginPasskey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLoginPasskey.d.ts","sourceRoot":"","sources":["../../../src/hooks/useLoginPasskey.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,gBAAgB,EAAa,MAAM,OAAO,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,KAAK,eAAe,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACrD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CACrC,CAAA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,SAAS,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAClD,OAAO,GAAG,OAAO,EAEjB,UAAU,GAAE,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAM,GAC3D,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAWrC;AAED,MAAM,CAAC,OAAO,WAAW,eAAe,CAAC;IACvC,KAAK,UAAU,CACb,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,OAAO,GAAG,OAAO,IACf,eAAe,CAAC,MAAM,CAAC,GAAG;QAC5B,QAAQ,CAAC,EACL,kBAAkB,CAChB,YAAY,CAAC,UAAU,EACvB,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,UAAU,EACvB,OAAO,CACR,GACD,SAAS,CAAA;KACd,CAAA;IAED,KAAK,UAAU,CAAC,OAAO,GAAG,OAAO,IAAI,iBAAiB,CACpD,YAAY,CAAC,UAAU,EACvB,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,UAAU,EACvB,OAAO,CACR,CAAA;CACF"}
@@ -0,0 +1,18 @@
1
+ import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
2
+ import { type Config, type ResolvedRegister } from 'wagmi';
3
+ import { refreshSession } from '../actions.js';
4
+ type ConfigParameter<config extends Config = Config> = {
5
+ config?: Config | config | undefined;
6
+ };
7
+ /**
8
+ * Hook to manually refresh session
9
+ */
10
+ export declare function useRefreshSession<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useRefreshSession.Parameters<config, context>): useRefreshSession.ReturnType<context>;
11
+ export declare namespace useRefreshSession {
12
+ type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & {
13
+ mutation?: UseMutationOptions<refreshSession.ReturnType, refreshSession.ErrorType, refreshSession.Parameters, context> | undefined;
14
+ };
15
+ type ReturnType<context = unknown> = UseMutationResult<refreshSession.ReturnType, refreshSession.ErrorType, refreshSession.Parameters, context>;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=useRefreshSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRefreshSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRefreshSession.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,gBAAgB,EAAa,MAAM,OAAO,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,KAAK,eAAe,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACrD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CACrC,CAAA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,SAAS,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAClD,OAAO,GAAG,OAAO,EAEjB,UAAU,GAAE,iBAAiB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAM,GAC7D,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAWvC;AAED,MAAM,CAAC,OAAO,WAAW,iBAAiB,CAAC;IACzC,KAAK,UAAU,CACb,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,OAAO,GAAG,OAAO,IACf,eAAe,CAAC,MAAM,CAAC,GAAG;QAC5B,QAAQ,CAAC,EACL,kBAAkB,CAChB,cAAc,CAAC,UAAU,EACzB,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,OAAO,CACR,GACD,SAAS,CAAA;KACd,CAAA;IAED,KAAK,UAAU,CAAC,OAAO,GAAG,OAAO,IAAI,iBAAiB,CACpD,cAAc,CAAC,UAAU,EACzB,cAAc,CAAC,SAAS,EACxB,cAAc,CAAC,UAAU,EACzB,OAAO,CACR,CAAA;CACF"}
@@ -0,0 +1,18 @@
1
+ import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
2
+ import { type Config, type ResolvedRegister } from 'wagmi';
3
+ import { registerPasskey } from '../actions.js';
4
+ type ConfigParameter<config extends Config = Config> = {
5
+ config?: Config | config | undefined;
6
+ };
7
+ /**
8
+ * Hook to register with passkey
9
+ */
10
+ export declare function useRegisterPasskey<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useRegisterPasskey.Parameters<config, context>): useRegisterPasskey.ReturnType<context>;
11
+ export declare namespace useRegisterPasskey {
12
+ type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & {
13
+ mutation?: UseMutationOptions<registerPasskey.ReturnType, registerPasskey.ErrorType, registerPasskey.Parameters, context> | undefined;
14
+ };
15
+ type ReturnType<context = unknown> = UseMutationResult<registerPasskey.ReturnType, registerPasskey.ErrorType, registerPasskey.Parameters, context>;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=useRegisterPasskey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRegisterPasskey.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRegisterPasskey.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,gBAAgB,EAAa,MAAM,OAAO,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,KAAK,eAAe,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACrD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CACrC,CAAA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,SAAS,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAClD,OAAO,GAAG,OAAO,EAEjB,UAAU,GAAE,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAM,GAC9D,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAWxC;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC;IAC1C,KAAK,UAAU,CACb,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,OAAO,GAAG,OAAO,IACf,eAAe,CAAC,MAAM,CAAC,GAAG;QAC5B,QAAQ,CAAC,EACL,kBAAkB,CAChB,eAAe,CAAC,UAAU,EAC1B,eAAe,CAAC,SAAS,EACzB,eAAe,CAAC,UAAU,EAC1B,OAAO,CACR,GACD,SAAS,CAAA;KACd,CAAA;IAED,KAAK,UAAU,CAAC,OAAO,GAAG,OAAO,IAAI,iBAAiB,CACpD,eAAe,CAAC,UAAU,EAC1B,eAAe,CAAC,SAAS,EACzB,eAAe,CAAC,UAAU,EAC1B,OAAO,CACR,CAAA;CACF"}
@@ -0,0 +1,18 @@
1
+ import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
2
+ import { type Config, type ResolvedRegister } from 'wagmi';
3
+ import { sendOTP } from '../actions.js';
4
+ type ConfigParameter<config extends Config = Config> = {
5
+ config?: Config | config | undefined;
6
+ };
7
+ /**
8
+ * Hook to send OTP via email
9
+ */
10
+ export declare function useSendOTP<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useSendOTP.Parameters<config, context>): useSendOTP.ReturnType<context>;
11
+ export declare namespace useSendOTP {
12
+ type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & {
13
+ mutation?: UseMutationOptions<sendOTP.ReturnType, sendOTP.ErrorType, sendOTP.Parameters, context> | undefined;
14
+ };
15
+ type ReturnType<context = unknown> = UseMutationResult<sendOTP.ReturnType, sendOTP.ErrorType, sendOTP.Parameters, context>;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=useSendOTP.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSendOTP.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSendOTP.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,gBAAgB,EAAa,MAAM,OAAO,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,KAAK,eAAe,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACrD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CACrC,CAAA;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,SAAS,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAClD,OAAO,GAAG,OAAO,EAEjB,UAAU,GAAE,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAM,GACtD,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAWhC;AAED,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,KAAK,UAAU,CACb,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,OAAO,GAAG,OAAO,IACf,eAAe,CAAC,MAAM,CAAC,GAAG;QAC5B,QAAQ,CAAC,EACL,kBAAkB,CAChB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,UAAU,EAClB,OAAO,CACR,GACD,SAAS,CAAA;KACd,CAAA;IAED,KAAK,UAAU,CAAC,OAAO,GAAG,OAAO,IAAI,iBAAiB,CACpD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,UAAU,EAClB,OAAO,CACR,CAAA;CACF"}
@@ -0,0 +1,18 @@
1
+ import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
2
+ import { type Config, type ResolvedRegister } from 'wagmi';
3
+ import { verifyOTP } from '../actions.js';
4
+ type ConfigParameter<config extends Config = Config> = {
5
+ config?: Config | config | undefined;
6
+ };
7
+ /**
8
+ * Hook to verify OTP code
9
+ */
10
+ export declare function useVerifyOTP<config extends Config = ResolvedRegister['config'], context = unknown>(parameters?: useVerifyOTP.Parameters<config, context>): useVerifyOTP.ReturnType<context>;
11
+ export declare namespace useVerifyOTP {
12
+ type Parameters<config extends Config = Config, context = unknown> = ConfigParameter<config> & {
13
+ mutation?: UseMutationOptions<verifyOTP.ReturnType, verifyOTP.ErrorType, verifyOTP.Parameters, context> | undefined;
14
+ };
15
+ type ReturnType<context = unknown> = UseMutationResult<verifyOTP.ReturnType, verifyOTP.ErrorType, verifyOTP.Parameters, context>;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=useVerifyOTP.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVerifyOTP.d.ts","sourceRoot":"","sources":["../../../src/hooks/useVerifyOTP.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,gBAAgB,EAAa,MAAM,OAAO,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,KAAK,eAAe,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACrD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CACrC,CAAA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,MAAM,SAAS,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAClD,OAAO,GAAG,OAAO,EAEjB,UAAU,GAAE,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAM,GACxD,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAWlC;AAED,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC,KAAK,UAAU,CACb,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,OAAO,GAAG,OAAO,IACf,eAAe,CAAC,MAAM,CAAC,GAAG;QAC5B,QAAQ,CAAC,EACL,kBAAkB,CAChB,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,UAAU,EACpB,OAAO,CACR,GACD,SAAS,CAAA;KACd,CAAA;IAED,KAAK,UAAU,CAAC,OAAO,GAAG,OAAO,IAAI,iBAAiB,CACpD,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,UAAU,EACpB,OAAO,CACR,CAAA;CACF"}
@@ -0,0 +1,15 @@
1
+ export type { ZeroDevWalletConnectorParams } from './connector.js';
2
+ export { zeroDevWallet } from './connector.js';
3
+ export { useAuthenticateOAuth } from './hooks/useAuthenticateOAuth.js';
4
+ export { useExportWallet } from './hooks/useExportWallet.js';
5
+ export { useLoginPasskey } from './hooks/useLoginPasskey.js';
6
+ export { useRefreshSession } from './hooks/useRefreshSession.js';
7
+ export { useRegisterPasskey } from './hooks/useRegisterPasskey.js';
8
+ export { useSendOTP } from './hooks/useSendOTP.js';
9
+ export { useVerifyOTP } from './hooks/useVerifyOTP.js';
10
+ export type { OAuthConfig, OAuthProvider } from './oauth.js';
11
+ export { OAUTH_PROVIDERS } from './oauth.js';
12
+ export type { ZeroDevProvider } from './provider.js';
13
+ export type { ZeroDevWalletState } from './store.js';
14
+ export { createZeroDevWalletStore } from './store.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,21 @@
1
+ export declare const OAUTH_PROVIDERS: {
2
+ readonly GOOGLE: "google";
3
+ };
4
+ export type OAuthProvider = (typeof OAUTH_PROVIDERS)[keyof typeof OAUTH_PROVIDERS];
5
+ export type OAuthConfig = {
6
+ googleClientId?: string;
7
+ redirectUri: string;
8
+ };
9
+ export type OAuthFlowParams = {
10
+ provider: OAuthProvider;
11
+ clientId: string;
12
+ redirectUri: string;
13
+ nonce: string;
14
+ state?: Record<string, string>;
15
+ };
16
+ export declare function buildOAuthUrl(params: OAuthFlowParams): string;
17
+ export declare function openOAuthPopup(url: string): Window | null;
18
+ export declare function extractOAuthToken(url: string): string | null;
19
+ export declare function pollOAuthPopup(authWindow: Window, originUrl: string, onSuccess: (token: string) => void, onError: (error: Error) => void): void;
20
+ export declare function generateOAuthNonce(publicKey: string): string;
21
+ //# sourceMappingURL=oauth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/oauth.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;CAElB,CAAA;AAEV,MAAM,MAAM,aAAa,GACvB,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAA;AAExD,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,aAAa,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B,CAAA;AAOD,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA8B7D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBzD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU5D;AAED,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAClC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAC9B,IAAI,CAwBN;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE5D"}
@@ -0,0 +1,19 @@
1
+ import { Provider } from 'ox';
2
+ import type { Chain } from 'viem';
3
+ import type { ZeroDevWalletConnectorParams } from './connector.js';
4
+ import type { createZeroDevWalletStore } from './store.js';
5
+ type CreateProviderParams = {
6
+ store: ReturnType<typeof createZeroDevWalletStore>;
7
+ config: ZeroDevWalletConnectorParams;
8
+ chains: Chain[];
9
+ };
10
+ export type ZeroDevProvider = ReturnType<typeof Provider.createEmitter> & {
11
+ request(args: {
12
+ method: string;
13
+ params?: unknown[];
14
+ }): Promise<unknown>;
15
+ destroy(): void;
16
+ };
17
+ export declare function createProvider({ store, config, }: CreateProviderParams): ZeroDevProvider;
18
+ export {};
19
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;AAC7B,OAAO,KAAK,EAAE,KAAK,EAAgB,MAAM,MAAM,CAAA;AAE/C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAI1D,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAA;IAClD,MAAM,EAAE,4BAA4B,CAAA;IACpC,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,aAAa,CAAC,GAAG;IACxE,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACvE,OAAO,IAAI,IAAI,CAAA;CAChB,CAAA;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,MAAM,GACP,EAAE,oBAAoB,GAAG,eAAe,CAkNxC"}
@@ -0,0 +1,52 @@
1
+ import type { KernelAccountClient, KernelSmartAccountImplementation } from '@zerodev/sdk';
2
+ import type { ZeroDevWalletSDK, ZeroDevWalletSession } from '@zerodev/wallet-core';
3
+ import type { LocalAccount } from 'viem';
4
+ import type { SmartAccount } from 'viem/account-abstraction';
5
+ import type { OAuthConfig } from './oauth.js';
6
+ export type ZeroDevWalletState = {
7
+ wallet: ZeroDevWalletSDK | null;
8
+ eoaAccount: LocalAccount | null;
9
+ session: ZeroDevWalletSession | null;
10
+ chainIds: number[];
11
+ kernelAccounts: Map<number, SmartAccount<KernelSmartAccountImplementation>>;
12
+ kernelClients: Map<number, KernelAccountClient>;
13
+ isExpiring: boolean;
14
+ oauthConfig: OAuthConfig | null;
15
+ setWallet: (wallet: ZeroDevWalletSDK) => void;
16
+ setEoaAccount: (account: LocalAccount | null) => void;
17
+ setKernelAccount: (chainId: number, account: SmartAccount<KernelSmartAccountImplementation>) => void;
18
+ setKernelClient: (chainId: number, client: KernelAccountClient) => void;
19
+ setSession: (session: ZeroDevWalletSession | null) => void;
20
+ setActiveChain: (chainId: number) => void;
21
+ setIsExpiring: (isExpiring: boolean) => void;
22
+ setOAuthConfig: (config: OAuthConfig | null) => void;
23
+ clear: () => void;
24
+ };
25
+ export declare const createZeroDevWalletStore: () => import("zustand").UseBoundStore<Omit<Omit<import("zustand").StoreApi<ZeroDevWalletState>, "subscribe"> & {
26
+ subscribe: {
27
+ (listener: (selectedState: ZeroDevWalletState, previousSelectedState: ZeroDevWalletState) => void): () => void;
28
+ <U>(selector: (state: ZeroDevWalletState) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
29
+ equalityFn?: (a: U, b: U) => boolean;
30
+ fireImmediately?: boolean;
31
+ } | undefined): () => void;
32
+ };
33
+ }, "setState" | "persist"> & {
34
+ setState(partial: ZeroDevWalletState | Partial<ZeroDevWalletState> | ((state: ZeroDevWalletState) => ZeroDevWalletState | Partial<ZeroDevWalletState>), replace?: false | undefined): unknown;
35
+ setState(state: ZeroDevWalletState | ((state: ZeroDevWalletState) => ZeroDevWalletState), replace: true): unknown;
36
+ persist: {
37
+ setOptions: (options: Partial<import("zustand/middleware").PersistOptions<ZeroDevWalletState, {
38
+ session: ZeroDevWalletSession | null;
39
+ chainIds: number[];
40
+ }, unknown>>) => void;
41
+ clearStorage: () => void;
42
+ rehydrate: () => Promise<void> | void;
43
+ hasHydrated: () => boolean;
44
+ onHydrate: (fn: (state: ZeroDevWalletState) => void) => () => void;
45
+ onFinishHydration: (fn: (state: ZeroDevWalletState) => void) => () => void;
46
+ getOptions: () => Partial<import("zustand/middleware").PersistOptions<ZeroDevWalletState, {
47
+ session: ZeroDevWalletSession | null;
48
+ chainIds: number[];
49
+ }, unknown>>;
50
+ };
51
+ }>;
52
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,gCAAgC,EACjC,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAG5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,MAAM,kBAAkB,GAAG;IAE/B,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC/B,UAAU,EAAE,YAAY,GAAG,IAAI,CAAA;IAC/B,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAGpC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,gCAAgC,CAAC,CAAC,CAAA;IAC3E,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAG/C,UAAU,EAAE,OAAO,CAAA;IAGnB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAA;IAG/B,SAAS,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC7C,aAAa,EAAE,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAA;IACrD,gBAAgB,EAAE,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,CAAC,gCAAgC,CAAC,KACpD,IAAI,CAAA;IACT,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAA;IACvE,UAAU,EAAE,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI,CAAA;IAC1D,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,aAAa,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,cAAc,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IACpD,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;EAkElC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function getAAUrl(chainId: number, aaUrl?: string): string;
2
+ //# sourceMappingURL=aaUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aaUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/aaUtils.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,UAEvD"}
@@ -0,0 +1,22 @@
1
+ export type TimerController = {
2
+ clear: () => void;
3
+ };
4
+ export type TimerMap = Record<string, TimerController>;
5
+ export declare const MAX_DELAY_MS = 2147483647;
6
+ /**
7
+ * A drop-in replacement for `setTimeout` that supports arbitrarily long delays.
8
+ * Browsers clamp `setTimeout` delays to ~24.8 days. This helper safely schedules
9
+ * timeouts that can be months or years into the future by chunking.
10
+ */
11
+ export declare function setCappedTimeout(cb: () => void, delayMs: number): TimerController;
12
+ /** Replace any existing timer for `key` with `controller`. */
13
+ export declare function putTimer(map: TimerMap, key: string, controller: TimerController): void;
14
+ /** Clear a specific key (noop if missing). */
15
+ export declare function clearKey(map: TimerMap, key: string): void;
16
+ /** Clear all timers in the map. */
17
+ export declare function clearAll(map: TimerMap): void;
18
+ /**
19
+ * Convenience: set a capped timeout directly into the map for `key`.
20
+ */
21
+ export declare function setCappedTimeoutInMap(map: TimerMap, key: string, cb: () => void, delayMs: number): void;
22
+ //# sourceMappingURL=timers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timers.d.ts","sourceRoot":"","sources":["../../../src/utils/timers.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAA;AACnD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAEtD,eAAO,MAAM,YAAY,aAAgB,CAAA;AAMzC;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,MAAM,IAAI,EACd,OAAO,EAAE,MAAM,GACd,eAAe,CAuBjB;AAED,8DAA8D;AAC9D,wBAAgB,QAAQ,CACtB,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,eAAe,QAI5B;AAED,8CAA8C;AAC9C,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,QAGlD;AAED,mCAAmC;AACnC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,QAAQ,QAKrC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,IAAI,EACd,OAAO,EAAE,MAAM,QAGhB"}