@zerodev/wallet-react 0.0.1-alpha.5 → 0.0.1-alpha.7
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/CHANGELOG.md +21 -0
- package/README.md +17 -14
- package/dist/_cjs/actions.js +53 -24
- package/dist/_cjs/connector.js +44 -3
- package/dist/_cjs/hooks/useExportPrivateKey.js +18 -0
- package/dist/_cjs/hooks/useGetUserEmail.js +19 -0
- package/dist/_cjs/index.js +8 -1
- package/dist/_cjs/oauth.js +60 -55
- package/dist/_esm/actions.js +65 -27
- package/dist/_esm/connector.js +56 -5
- package/dist/_esm/hooks/useExportPrivateKey.js +18 -0
- package/dist/_esm/hooks/useGetUserEmail.js +19 -0
- package/dist/_esm/index.js +3 -1
- package/dist/_esm/oauth.js +71 -53
- package/dist/_types/actions.d.ts +41 -6
- package/dist/_types/actions.d.ts.map +1 -1
- package/dist/_types/connector.d.ts +0 -2
- package/dist/_types/connector.d.ts.map +1 -1
- package/dist/_types/hooks/useExportPrivateKey.d.ts +18 -0
- package/dist/_types/hooks/useExportPrivateKey.d.ts.map +1 -0
- package/dist/_types/hooks/useGetUserEmail.d.ts +20 -0
- package/dist/_types/hooks/useGetUserEmail.d.ts.map +1 -0
- package/dist/_types/index.d.ts +4 -2
- package/dist/_types/index.d.ts.map +1 -1
- package/dist/_types/oauth.d.ts +25 -12
- package/dist/_types/oauth.d.ts.map +1 -1
- package/dist/_types/store.d.ts +7 -3
- package/dist/_types/store.d.ts.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/actions.ts +122 -44
- package/src/connector.ts +68 -7
- package/src/hooks/useExportPrivateKey.ts +57 -0
- package/src/hooks/useGetUserEmail.ts +54 -0
- package/src/index.ts +9 -2
- package/src/oauth.ts +97 -78
- package/src/store.ts +9 -4
- package/tsconfig.build.tsbuildinfo +1 -1
|
@@ -1 +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,
|
|
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,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,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,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/_types/oauth.d.ts
CHANGED
|
@@ -2,20 +2,33 @@ export declare const OAUTH_PROVIDERS: {
|
|
|
2
2
|
readonly GOOGLE: "google";
|
|
3
3
|
};
|
|
4
4
|
export type OAuthProvider = (typeof OAUTH_PROVIDERS)[keyof typeof OAUTH_PROVIDERS];
|
|
5
|
-
export type
|
|
6
|
-
googleClientId?: string;
|
|
7
|
-
redirectUri: string;
|
|
8
|
-
};
|
|
9
|
-
export type OAuthFlowParams = {
|
|
5
|
+
export type BackendOAuthFlowParams = {
|
|
10
6
|
provider: OAuthProvider;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
backendUrl: string;
|
|
8
|
+
projectId: string;
|
|
9
|
+
publicKey: string;
|
|
10
|
+
returnTo: string;
|
|
15
11
|
};
|
|
16
|
-
export declare function buildOAuthUrl(params: OAuthFlowParams): string;
|
|
17
12
|
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
13
|
export declare function generateOAuthNonce(publicKey: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Build OAuth URL that redirects to backend's OAuth endpoint
|
|
16
|
+
* The backend handles PKCE, client credentials, and token exchange
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildBackendOAuthUrl(params: BackendOAuthFlowParams): string;
|
|
19
|
+
export type OAuthMessageData = {
|
|
20
|
+
type: 'oauth_success' | 'oauth_error';
|
|
21
|
+
error?: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Listen for OAuth completion via postMessage from popup
|
|
25
|
+
* The popup sends a message when it detects a successful redirect
|
|
26
|
+
*/
|
|
27
|
+
export declare function listenForOAuthMessage(authWindow: Window, expectedOrigin: string, onSuccess: () => void, onError: (error: Error) => void): () => void;
|
|
28
|
+
/**
|
|
29
|
+
* Handle OAuth callback on the return page
|
|
30
|
+
* Call this on the page that receives the OAuth redirect
|
|
31
|
+
* It sends a postMessage to the opener and closes the window
|
|
32
|
+
*/
|
|
33
|
+
export declare function handleOAuthCallback(successParam?: string): boolean;
|
|
21
34
|
//# sourceMappingURL=oauth.d.ts.map
|
|
@@ -1 +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,
|
|
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,sBAAsB,GAAG;IACnC,QAAQ,EAAE,aAAa,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAKD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBzD;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAa3E;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,eAAe,GAAG,aAAa,CAAA;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,IAAI,EACrB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAC9B,MAAM,IAAI,CAkCZ;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,SAAkB,GAAG,OAAO,CAyB3E"}
|
package/dist/_types/store.d.ts
CHANGED
|
@@ -2,7 +2,10 @@ import type { KernelAccountClient, KernelSmartAccountImplementation } from '@zer
|
|
|
2
2
|
import type { ZeroDevWalletSDK, ZeroDevWalletSession } from '@zerodev/wallet-core';
|
|
3
3
|
import type { LocalAccount } from 'viem';
|
|
4
4
|
import type { SmartAccount } from 'viem/account-abstraction';
|
|
5
|
-
|
|
5
|
+
type InternalOAuthConfig = {
|
|
6
|
+
backendUrl: string;
|
|
7
|
+
projectId: string;
|
|
8
|
+
};
|
|
6
9
|
export type ZeroDevWalletState = {
|
|
7
10
|
wallet: ZeroDevWalletSDK | null;
|
|
8
11
|
eoaAccount: LocalAccount | null;
|
|
@@ -11,7 +14,7 @@ export type ZeroDevWalletState = {
|
|
|
11
14
|
kernelAccounts: Map<number, SmartAccount<KernelSmartAccountImplementation>>;
|
|
12
15
|
kernelClients: Map<number, KernelAccountClient>;
|
|
13
16
|
isExpiring: boolean;
|
|
14
|
-
oauthConfig:
|
|
17
|
+
oauthConfig: InternalOAuthConfig | null;
|
|
15
18
|
setWallet: (wallet: ZeroDevWalletSDK) => void;
|
|
16
19
|
setEoaAccount: (account: LocalAccount | null) => void;
|
|
17
20
|
setKernelAccount: (chainId: number, account: SmartAccount<KernelSmartAccountImplementation>) => void;
|
|
@@ -19,7 +22,7 @@ export type ZeroDevWalletState = {
|
|
|
19
22
|
setSession: (session: ZeroDevWalletSession | null) => void;
|
|
20
23
|
setActiveChainId: (chainId: number | null) => void;
|
|
21
24
|
setIsExpiring: (isExpiring: boolean) => void;
|
|
22
|
-
setOAuthConfig: (config:
|
|
25
|
+
setOAuthConfig: (config: InternalOAuthConfig | null) => void;
|
|
23
26
|
clear: () => void;
|
|
24
27
|
};
|
|
25
28
|
export declare const createZeroDevWalletStore: () => import("zustand").UseBoundStore<Omit<Omit<import("zustand").StoreApi<ZeroDevWalletState>, "subscribe"> & {
|
|
@@ -49,4 +52,5 @@ export declare const createZeroDevWalletStore: () => import("zustand").UseBoundS
|
|
|
49
52
|
}, unknown>>;
|
|
50
53
|
};
|
|
51
54
|
}>;
|
|
55
|
+
export {};
|
|
52
56
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +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;
|
|
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;AAK5D,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,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,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,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,mBAAmB,GAAG,IAAI,CAAA;IAGvC,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,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAClD,aAAa,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,cAAc,EAAE,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAA;IAC5D,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DlC,CAAA"}
|