@phantom/embedded-provider-core 1.0.0-beta.13 → 1.0.0-beta.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.
- package/README.md +0 -2
- package/dist/index.d.mts +24 -11
- package/dist/index.d.ts +24 -11
- package/dist/index.js +111 -118
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +103 -110
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -179,7 +179,6 @@ For server-side authenticated users:
|
|
|
179
179
|
const authOptions = {
|
|
180
180
|
provider: "jwt",
|
|
181
181
|
jwtToken: "your-jwt-token",
|
|
182
|
-
customAuthData: { userId: "user123" },
|
|
183
182
|
};
|
|
184
183
|
|
|
185
184
|
const result = await provider.connect(authOptions);
|
|
@@ -193,7 +192,6 @@ For social login flows:
|
|
|
193
192
|
// Google OAuth
|
|
194
193
|
const authOptions = {
|
|
195
194
|
provider: "google",
|
|
196
|
-
customAuthData: { referrer: "landing-page" },
|
|
197
195
|
};
|
|
198
196
|
|
|
199
197
|
await provider.connect(authOptions); // Will redirect/deep link
|
package/dist/index.d.mts
CHANGED
|
@@ -22,20 +22,21 @@ interface Session {
|
|
|
22
22
|
stamperInfo: StamperInfo;
|
|
23
23
|
keypair?: Keypair;
|
|
24
24
|
authProvider?: string;
|
|
25
|
-
userInfo?: Record<string, any>;
|
|
26
25
|
status: "pending" | "completed" | "failed";
|
|
27
26
|
createdAt: number;
|
|
28
27
|
lastUsed: number;
|
|
29
28
|
authenticatorCreatedAt: number;
|
|
30
29
|
authenticatorExpiresAt: number;
|
|
31
30
|
lastRenewalAttempt?: number;
|
|
32
|
-
username?: string;
|
|
33
31
|
accountDerivationIndex?: number;
|
|
32
|
+
authUserId?: string;
|
|
34
33
|
}
|
|
35
34
|
interface EmbeddedStorage {
|
|
36
35
|
getSession(): Promise<Session | null>;
|
|
37
36
|
saveSession(session: Session): Promise<void>;
|
|
38
37
|
clearSession(): Promise<void>;
|
|
38
|
+
getShouldClearPreviousSession(): Promise<boolean>;
|
|
39
|
+
setShouldClearPreviousSession(should: boolean): Promise<void>;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
/**
|
|
@@ -62,34 +63,44 @@ interface AuthResult {
|
|
|
62
63
|
walletId: string;
|
|
63
64
|
organizationId: string;
|
|
64
65
|
provider?: string;
|
|
65
|
-
userInfo?: Record<string, any>;
|
|
66
66
|
accountDerivationIndex: number;
|
|
67
67
|
expiresInMs: number;
|
|
68
|
+
authUserId?: string;
|
|
68
69
|
}
|
|
69
70
|
interface PhantomConnectOptions {
|
|
70
71
|
publicKey: string;
|
|
71
72
|
appId: string;
|
|
72
73
|
provider?: "google" | "apple";
|
|
73
74
|
redirectUrl?: string;
|
|
74
|
-
customAuthData?: Record<string, any>;
|
|
75
75
|
authUrl?: string;
|
|
76
76
|
sessionId: string;
|
|
77
|
+
clearPreviousSession?: boolean;
|
|
78
|
+
allowRefresh?: boolean;
|
|
77
79
|
}
|
|
78
80
|
interface JWTAuthOptions {
|
|
79
81
|
appId: string;
|
|
80
82
|
publicKey: string;
|
|
81
83
|
jwtToken: string;
|
|
82
|
-
customAuthData?: Record<string, any>;
|
|
83
84
|
}
|
|
84
85
|
interface AuthProvider {
|
|
85
86
|
authenticate(options: PhantomConnectOptions | JWTAuthOptions): Promise<void | AuthResult>;
|
|
86
87
|
resumeAuthFromRedirect?(): AuthResult | null;
|
|
87
88
|
}
|
|
89
|
+
interface PhantomAppAuthOptions {
|
|
90
|
+
publicKey: string;
|
|
91
|
+
appId: string;
|
|
92
|
+
sessionId: string;
|
|
93
|
+
}
|
|
94
|
+
interface PhantomAppProvider {
|
|
95
|
+
authenticate(options: PhantomAppAuthOptions): Promise<AuthResult>;
|
|
96
|
+
isAvailable(): boolean;
|
|
97
|
+
}
|
|
88
98
|
|
|
89
99
|
interface PlatformAdapter {
|
|
90
100
|
name: string;
|
|
91
101
|
storage: EmbeddedStorage;
|
|
92
102
|
authProvider: AuthProvider;
|
|
103
|
+
phantomAppProvider: PhantomAppProvider;
|
|
93
104
|
urlParamsAccessor: URLParamsAccessor;
|
|
94
105
|
stamper: StamperWithKeyManagement;
|
|
95
106
|
analyticsHeaders?: Partial<ClientSideSdkHeaders>;
|
|
@@ -109,6 +120,7 @@ interface ConnectResult {
|
|
|
109
120
|
walletId?: string;
|
|
110
121
|
addresses: WalletAddress[];
|
|
111
122
|
status?: "pending" | "completed";
|
|
123
|
+
authUserId?: string;
|
|
112
124
|
}
|
|
113
125
|
interface SignMessageParams {
|
|
114
126
|
message: string;
|
|
@@ -131,7 +143,7 @@ interface SignAndSendTransactionParams {
|
|
|
131
143
|
interface SignedTransaction extends ParsedTransactionResult {
|
|
132
144
|
}
|
|
133
145
|
interface AuthOptions {
|
|
134
|
-
provider?: "google" | "apple" | "jwt";
|
|
146
|
+
provider?: "google" | "apple" | "jwt" | "phantom" | "injected";
|
|
135
147
|
jwtToken?: string;
|
|
136
148
|
customAuthData?: Record<string, any>;
|
|
137
149
|
}
|
|
@@ -153,6 +165,7 @@ declare class EmbeddedProvider {
|
|
|
153
165
|
private platform;
|
|
154
166
|
private storage;
|
|
155
167
|
private authProvider;
|
|
168
|
+
private phantomAppProvider;
|
|
156
169
|
private urlParamsAccessor;
|
|
157
170
|
private stamper;
|
|
158
171
|
private logger;
|
|
@@ -180,7 +193,7 @@ declare class EmbeddedProvider {
|
|
|
180
193
|
private initializeStamper;
|
|
181
194
|
private createOrganizationForAppWallet;
|
|
182
195
|
connect(authOptions?: AuthOptions): Promise<ConnectResult>;
|
|
183
|
-
disconnect(): Promise<void>;
|
|
196
|
+
disconnect(shouldClearPreviousSession?: boolean): Promise<void>;
|
|
184
197
|
signMessage(params: SignMessageParams): Promise<ParsedSignatureResult>;
|
|
185
198
|
signTypedDataV4(params: SignTypedDataV4Params): Promise<ParsedSignatureResult>;
|
|
186
199
|
signTransaction(params: SignTransactionParams): Promise<ParsedTransactionResult>;
|
|
@@ -189,10 +202,10 @@ declare class EmbeddedProvider {
|
|
|
189
202
|
isConnected(): boolean;
|
|
190
203
|
private handleAuthFlow;
|
|
191
204
|
private handleJWTAuth;
|
|
205
|
+
private handlePhantomAuth;
|
|
192
206
|
private handleRedirectAuth;
|
|
193
207
|
private completeAuthConnection;
|
|
194
208
|
private ensureValidAuthenticator;
|
|
195
|
-
private renewAuthenticator;
|
|
196
209
|
private initializeClientFromSession;
|
|
197
210
|
}
|
|
198
211
|
|
|
@@ -221,11 +234,11 @@ declare class EmbeddedSolanaChain implements ISolanaChain {
|
|
|
221
234
|
signature: Uint8Array;
|
|
222
235
|
publicKey: string;
|
|
223
236
|
}>;
|
|
224
|
-
signTransaction(
|
|
237
|
+
signTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
|
|
225
238
|
signAndSendTransaction(transaction: Transaction | VersionedTransaction): Promise<{
|
|
226
239
|
signature: string;
|
|
227
240
|
}>;
|
|
228
|
-
signAllTransactions(
|
|
241
|
+
signAllTransactions(transactions: (Transaction | VersionedTransaction)[]): Promise<(Transaction | VersionedTransaction)[]>;
|
|
229
242
|
signAndSendAllTransactions(transactions: (Transaction | VersionedTransaction)[]): Promise<{
|
|
230
243
|
signatures: string[];
|
|
231
244
|
}>;
|
|
@@ -297,4 +310,4 @@ declare const AUTHENTICATOR_EXPIRATION_TIME_MS: number;
|
|
|
297
310
|
*/
|
|
298
311
|
declare const AUTHENTICATOR_RENEWAL_WINDOW_MS: number;
|
|
299
312
|
|
|
300
|
-
export { AUTHENTICATOR_EXPIRATION_TIME_MS, AUTHENTICATOR_RENEWAL_WINDOW_MS, AuthOptions, AuthProvider, AuthResult, ConnectResult, DebugLogger, EmbeddedEthereumChain, EmbeddedProvider, EmbeddedProviderConfig, EmbeddedProviderEvent, EmbeddedSolanaChain, EmbeddedStorage, EventCallback, JWTAuth, JWTAuthOptions, Keypair, PhantomConnectOptions, PlatformAdapter, Session, SignAndSendTransactionParams, SignMessageParams, SignMessageResult, SignTransactionParams, SignTypedDataV4Params, SignedTransaction, StamperInfo, URLParamsAccessor, WalletAddress, generateSessionId, retryWithBackoff };
|
|
313
|
+
export { AUTHENTICATOR_EXPIRATION_TIME_MS, AUTHENTICATOR_RENEWAL_WINDOW_MS, AuthOptions, AuthProvider, AuthResult, ConnectResult, DebugLogger, EmbeddedEthereumChain, EmbeddedProvider, EmbeddedProviderConfig, EmbeddedProviderEvent, EmbeddedSolanaChain, EmbeddedStorage, EventCallback, JWTAuth, JWTAuthOptions, Keypair, PhantomAppAuthOptions, PhantomAppProvider, PhantomConnectOptions, PlatformAdapter, Session, SignAndSendTransactionParams, SignMessageParams, SignMessageResult, SignTransactionParams, SignTypedDataV4Params, SignedTransaction, StamperInfo, URLParamsAccessor, WalletAddress, generateSessionId, retryWithBackoff };
|
package/dist/index.d.ts
CHANGED
|
@@ -22,20 +22,21 @@ interface Session {
|
|
|
22
22
|
stamperInfo: StamperInfo;
|
|
23
23
|
keypair?: Keypair;
|
|
24
24
|
authProvider?: string;
|
|
25
|
-
userInfo?: Record<string, any>;
|
|
26
25
|
status: "pending" | "completed" | "failed";
|
|
27
26
|
createdAt: number;
|
|
28
27
|
lastUsed: number;
|
|
29
28
|
authenticatorCreatedAt: number;
|
|
30
29
|
authenticatorExpiresAt: number;
|
|
31
30
|
lastRenewalAttempt?: number;
|
|
32
|
-
username?: string;
|
|
33
31
|
accountDerivationIndex?: number;
|
|
32
|
+
authUserId?: string;
|
|
34
33
|
}
|
|
35
34
|
interface EmbeddedStorage {
|
|
36
35
|
getSession(): Promise<Session | null>;
|
|
37
36
|
saveSession(session: Session): Promise<void>;
|
|
38
37
|
clearSession(): Promise<void>;
|
|
38
|
+
getShouldClearPreviousSession(): Promise<boolean>;
|
|
39
|
+
setShouldClearPreviousSession(should: boolean): Promise<void>;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
/**
|
|
@@ -62,34 +63,44 @@ interface AuthResult {
|
|
|
62
63
|
walletId: string;
|
|
63
64
|
organizationId: string;
|
|
64
65
|
provider?: string;
|
|
65
|
-
userInfo?: Record<string, any>;
|
|
66
66
|
accountDerivationIndex: number;
|
|
67
67
|
expiresInMs: number;
|
|
68
|
+
authUserId?: string;
|
|
68
69
|
}
|
|
69
70
|
interface PhantomConnectOptions {
|
|
70
71
|
publicKey: string;
|
|
71
72
|
appId: string;
|
|
72
73
|
provider?: "google" | "apple";
|
|
73
74
|
redirectUrl?: string;
|
|
74
|
-
customAuthData?: Record<string, any>;
|
|
75
75
|
authUrl?: string;
|
|
76
76
|
sessionId: string;
|
|
77
|
+
clearPreviousSession?: boolean;
|
|
78
|
+
allowRefresh?: boolean;
|
|
77
79
|
}
|
|
78
80
|
interface JWTAuthOptions {
|
|
79
81
|
appId: string;
|
|
80
82
|
publicKey: string;
|
|
81
83
|
jwtToken: string;
|
|
82
|
-
customAuthData?: Record<string, any>;
|
|
83
84
|
}
|
|
84
85
|
interface AuthProvider {
|
|
85
86
|
authenticate(options: PhantomConnectOptions | JWTAuthOptions): Promise<void | AuthResult>;
|
|
86
87
|
resumeAuthFromRedirect?(): AuthResult | null;
|
|
87
88
|
}
|
|
89
|
+
interface PhantomAppAuthOptions {
|
|
90
|
+
publicKey: string;
|
|
91
|
+
appId: string;
|
|
92
|
+
sessionId: string;
|
|
93
|
+
}
|
|
94
|
+
interface PhantomAppProvider {
|
|
95
|
+
authenticate(options: PhantomAppAuthOptions): Promise<AuthResult>;
|
|
96
|
+
isAvailable(): boolean;
|
|
97
|
+
}
|
|
88
98
|
|
|
89
99
|
interface PlatformAdapter {
|
|
90
100
|
name: string;
|
|
91
101
|
storage: EmbeddedStorage;
|
|
92
102
|
authProvider: AuthProvider;
|
|
103
|
+
phantomAppProvider: PhantomAppProvider;
|
|
93
104
|
urlParamsAccessor: URLParamsAccessor;
|
|
94
105
|
stamper: StamperWithKeyManagement;
|
|
95
106
|
analyticsHeaders?: Partial<ClientSideSdkHeaders>;
|
|
@@ -109,6 +120,7 @@ interface ConnectResult {
|
|
|
109
120
|
walletId?: string;
|
|
110
121
|
addresses: WalletAddress[];
|
|
111
122
|
status?: "pending" | "completed";
|
|
123
|
+
authUserId?: string;
|
|
112
124
|
}
|
|
113
125
|
interface SignMessageParams {
|
|
114
126
|
message: string;
|
|
@@ -131,7 +143,7 @@ interface SignAndSendTransactionParams {
|
|
|
131
143
|
interface SignedTransaction extends ParsedTransactionResult {
|
|
132
144
|
}
|
|
133
145
|
interface AuthOptions {
|
|
134
|
-
provider?: "google" | "apple" | "jwt";
|
|
146
|
+
provider?: "google" | "apple" | "jwt" | "phantom" | "injected";
|
|
135
147
|
jwtToken?: string;
|
|
136
148
|
customAuthData?: Record<string, any>;
|
|
137
149
|
}
|
|
@@ -153,6 +165,7 @@ declare class EmbeddedProvider {
|
|
|
153
165
|
private platform;
|
|
154
166
|
private storage;
|
|
155
167
|
private authProvider;
|
|
168
|
+
private phantomAppProvider;
|
|
156
169
|
private urlParamsAccessor;
|
|
157
170
|
private stamper;
|
|
158
171
|
private logger;
|
|
@@ -180,7 +193,7 @@ declare class EmbeddedProvider {
|
|
|
180
193
|
private initializeStamper;
|
|
181
194
|
private createOrganizationForAppWallet;
|
|
182
195
|
connect(authOptions?: AuthOptions): Promise<ConnectResult>;
|
|
183
|
-
disconnect(): Promise<void>;
|
|
196
|
+
disconnect(shouldClearPreviousSession?: boolean): Promise<void>;
|
|
184
197
|
signMessage(params: SignMessageParams): Promise<ParsedSignatureResult>;
|
|
185
198
|
signTypedDataV4(params: SignTypedDataV4Params): Promise<ParsedSignatureResult>;
|
|
186
199
|
signTransaction(params: SignTransactionParams): Promise<ParsedTransactionResult>;
|
|
@@ -189,10 +202,10 @@ declare class EmbeddedProvider {
|
|
|
189
202
|
isConnected(): boolean;
|
|
190
203
|
private handleAuthFlow;
|
|
191
204
|
private handleJWTAuth;
|
|
205
|
+
private handlePhantomAuth;
|
|
192
206
|
private handleRedirectAuth;
|
|
193
207
|
private completeAuthConnection;
|
|
194
208
|
private ensureValidAuthenticator;
|
|
195
|
-
private renewAuthenticator;
|
|
196
209
|
private initializeClientFromSession;
|
|
197
210
|
}
|
|
198
211
|
|
|
@@ -221,11 +234,11 @@ declare class EmbeddedSolanaChain implements ISolanaChain {
|
|
|
221
234
|
signature: Uint8Array;
|
|
222
235
|
publicKey: string;
|
|
223
236
|
}>;
|
|
224
|
-
signTransaction(
|
|
237
|
+
signTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
|
|
225
238
|
signAndSendTransaction(transaction: Transaction | VersionedTransaction): Promise<{
|
|
226
239
|
signature: string;
|
|
227
240
|
}>;
|
|
228
|
-
signAllTransactions(
|
|
241
|
+
signAllTransactions(transactions: (Transaction | VersionedTransaction)[]): Promise<(Transaction | VersionedTransaction)[]>;
|
|
229
242
|
signAndSendAllTransactions(transactions: (Transaction | VersionedTransaction)[]): Promise<{
|
|
230
243
|
signatures: string[];
|
|
231
244
|
}>;
|
|
@@ -297,4 +310,4 @@ declare const AUTHENTICATOR_EXPIRATION_TIME_MS: number;
|
|
|
297
310
|
*/
|
|
298
311
|
declare const AUTHENTICATOR_RENEWAL_WINDOW_MS: number;
|
|
299
312
|
|
|
300
|
-
export { AUTHENTICATOR_EXPIRATION_TIME_MS, AUTHENTICATOR_RENEWAL_WINDOW_MS, AuthOptions, AuthProvider, AuthResult, ConnectResult, DebugLogger, EmbeddedEthereumChain, EmbeddedProvider, EmbeddedProviderConfig, EmbeddedProviderEvent, EmbeddedSolanaChain, EmbeddedStorage, EventCallback, JWTAuth, JWTAuthOptions, Keypair, PhantomConnectOptions, PlatformAdapter, Session, SignAndSendTransactionParams, SignMessageParams, SignMessageResult, SignTransactionParams, SignTypedDataV4Params, SignedTransaction, StamperInfo, URLParamsAccessor, WalletAddress, generateSessionId, retryWithBackoff };
|
|
313
|
+
export { AUTHENTICATOR_EXPIRATION_TIME_MS, AUTHENTICATOR_RENEWAL_WINDOW_MS, AuthOptions, AuthProvider, AuthResult, ConnectResult, DebugLogger, EmbeddedEthereumChain, EmbeddedProvider, EmbeddedProviderConfig, EmbeddedProviderEvent, EmbeddedSolanaChain, EmbeddedStorage, EventCallback, JWTAuth, JWTAuthOptions, Keypair, PhantomAppAuthOptions, PhantomAppProvider, PhantomConnectOptions, PlatformAdapter, Session, SignAndSendTransactionParams, SignMessageParams, SignMessageResult, SignTransactionParams, SignTypedDataV4Params, SignedTransaction, StamperInfo, URLParamsAccessor, WalletAddress, generateSessionId, retryWithBackoff };
|