@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 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(_transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
237
+ signTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
225
238
  signAndSendTransaction(transaction: Transaction | VersionedTransaction): Promise<{
226
239
  signature: string;
227
240
  }>;
228
- signAllTransactions(_transactions: (Transaction | VersionedTransaction)[]): Promise<(Transaction | VersionedTransaction)[]>;
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(_transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
237
+ signTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
225
238
  signAndSendTransaction(transaction: Transaction | VersionedTransaction): Promise<{
226
239
  signature: string;
227
240
  }>;
228
- signAllTransactions(_transactions: (Transaction | VersionedTransaction)[]): Promise<(Transaction | VersionedTransaction)[]>;
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 };