@0xsequence/dapp-client 3.0.0-beta.14 → 3.0.0-beta.16

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.
@@ -1,5 +1,5 @@
1
1
 
2
2
 
3
- > @0xsequence/dapp-client@3.0.0-beta.14 build /home/taylan/development/sequence/sequence.js/packages/wallet/dapp-client
3
+ > @0xsequence/dapp-client@3.0.0-beta.16 build /home/taylan/development/sequence/sequence.js/packages/wallet/dapp-client
4
4
  > tsc
5
5
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @0xsequence/dapp-client
2
2
 
3
+ ## 3.0.0-beta.16
4
+
5
+ ### Patch Changes
6
+
7
+ - ethauth support
8
+ - Updated dependencies
9
+ - @0xsequence/guard@3.0.0-beta.16
10
+ - @0xsequence/relayer@3.0.0-beta.16
11
+ - @0xsequence/wallet-core@3.0.0-beta.16
12
+ - @0xsequence/wallet-primitives@3.0.0-beta.16
13
+
14
+ ## 3.0.0-beta.15
15
+
16
+ ### Patch Changes
17
+
18
+ - New chains, minor fixes
19
+ - Updated dependencies
20
+ - @0xsequence/guard@3.0.0-beta.15
21
+ - @0xsequence/relayer@3.0.0-beta.15
22
+ - @0xsequence/wallet-core@3.0.0-beta.15
23
+ - @0xsequence/wallet-primitives@3.0.0-beta.15
24
+
3
25
  ## 3.0.0-beta.14
4
26
 
5
27
  ### Patch Changes
@@ -1,7 +1,7 @@
1
1
  import { Address, Hex } from 'ox';
2
2
  import { DappTransport } from './DappTransport.js';
3
3
  import { SequenceStorage } from './utils/storage.js';
4
- import { ExplicitSessionEventListener, LoginMethod, RandomPrivateKeyFn, Transaction, GuardConfig, FeeOption } from './types/index.js';
4
+ import { ExplicitSessionEventListener, LoginMethod, RandomPrivateKeyFn, Transaction, GuardConfig, EthAuthSettings, FeeOption } from './types/index.js';
5
5
  import { ExplicitSession, ImplicitSession, ExplicitSessionConfig } from './index.js';
6
6
  interface ChainSessionManagerEventMap {
7
7
  explicitSessionResponse: ExplicitSessionEventListener;
@@ -87,6 +87,7 @@ export declare class ChainSessionManager {
87
87
  preferredLoginMethod?: LoginMethod;
88
88
  email?: string;
89
89
  includeImplicitSession?: boolean;
90
+ ethAuth?: EthAuthSettings;
90
91
  }): Promise<void>;
91
92
  /**
92
93
  * Initiates the addition of a new explicit session by sending a request to the wallet.
@@ -207,6 +208,7 @@ export declare class ChainSessionManager {
207
208
  * @private Resets the internal state and clears all persisted session data from storage.
208
209
  */
209
210
  private _resetStateAndClearCredentials;
211
+ private _saveEthAuthProofIfProvided;
210
212
  private _getCachedSignedCall;
211
213
  private _fingerprintCalls;
212
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChainSessionManager.d.ts","sourceRoot":"","sources":["../src/ChainSessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChainSessionManager.d.ts","sourceRoot":"","sources":["../src/ChainSessionManager.ts"],"names":[],"mappings":"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"}
@@ -185,6 +185,7 @@ export class ChainSessionManager {
185
185
  origin,
186
186
  session: completeSession,
187
187
  includeImplicitSession: options.includeImplicitSession ?? false,
188
+ ethAuth: options.ethAuth,
188
189
  preferredLoginMethod: options.preferredLoginMethod,
189
190
  email: options.preferredLoginMethod === 'email' ? options.email : undefined,
190
191
  };
@@ -229,6 +230,9 @@ export class ChainSessionManager {
229
230
  this.userEmail = userEmail ?? null;
230
231
  this.guard = guard;
231
232
  }
233
+ if (payload.ethAuth) {
234
+ await this._saveEthAuthProofIfProvided(connectResponse.ethAuthProof);
235
+ }
232
236
  if (this.transport.mode === TransportMode.POPUP) {
233
237
  this.transport.closeWallet();
234
238
  }
@@ -391,6 +395,9 @@ export class ChainSessionManager {
391
395
  this.userEmail = userEmail ?? null;
392
396
  this.guard = guard;
393
397
  }
398
+ if (savedPayload?.ethAuth) {
399
+ await this._saveEthAuthProofIfProvided(connectResponse.ethAuthProof);
400
+ }
394
401
  }
395
402
  else if (response.action === RequestActionType.ADD_EXPLICIT_SESSION) {
396
403
  if (!this.walletAddress || !Address.isEqual(receivedAddress, this.walletAddress)) {
@@ -836,6 +843,12 @@ export class ChainSessionManager {
836
843
  await this.sequenceStorage.clearExplicitSessions();
837
844
  await this.sequenceStorage.clearSessionlessConnection();
838
845
  }
846
+ async _saveEthAuthProofIfProvided(ethAuthProof) {
847
+ if (!ethAuthProof) {
848
+ return;
849
+ }
850
+ await this.sequenceStorage.saveEthAuthProof(ethAuthProof);
851
+ }
839
852
  _getCachedSignedCall(calls) {
840
853
  if (!this.lastSignedCallCache) {
841
854
  return null;
@@ -1,7 +1,7 @@
1
1
  import { Address, Hex } from 'ox';
2
2
  import { type ExplicitSession, type ExplicitSessionConfig, type ImplicitSession, type Session } from './index.js';
3
3
  import { SequenceStorage, type SessionlessConnectionData } from './utils/storage.js';
4
- import { DappClientExplicitSessionEventListener, DappClientWalletActionEventListener, FeeOption, GetFeeTokensResponse, GuardConfig, LoginMethod, RandomPrivateKeyFn, SequenceSessionStorage, Transaction, TransactionRequest, TransportMode } from './types/index.js';
4
+ import { DappClientExplicitSessionEventListener, DappClientWalletActionEventListener, FeeOption, GetFeeTokensResponse, GuardConfig, LoginMethod, EthAuthSettings, RandomPrivateKeyFn, ETHAuthProof, SequenceSessionStorage, Transaction, TransactionRequest, TransportMode } from './types/index.js';
5
5
  import { TypedData } from 'ox/TypedData';
6
6
  export type DappClientEventListener = (data?: any) => void;
7
7
  interface DappClientEventMap {
@@ -183,6 +183,10 @@ export declare class DappClient {
183
183
  * @returns The cached sessionless connection or null if none is available.
184
184
  */
185
185
  getSessionlessConnectionInfo(): Promise<SessionlessConnectionData | null>;
186
+ /**
187
+ * Returns the latest persisted ETHAuth proof, if one has been received from the wallet.
188
+ */
189
+ getEthAuthProof(): Promise<ETHAuthProof | null>;
186
190
  /**
187
191
  * Restores a sessionless connection that was previously persisted via {@link disconnect} or a connect flow.
188
192
  * @returns A promise that resolves to true if a sessionless connection was applied.
@@ -222,6 +226,7 @@ export declare class DappClient {
222
226
  preferredLoginMethod?: LoginMethod;
223
227
  email?: string;
224
228
  includeImplicitSession?: boolean;
229
+ ethAuth?: EthAuthSettings;
225
230
  }): Promise<void>;
226
231
  /**
227
232
  * Upgrades an existing sessionless connection by creating implicit and/or explicit sessions.
@@ -237,6 +242,7 @@ export declare class DappClient {
237
242
  preferredLoginMethod?: LoginMethod;
238
243
  email?: string;
239
244
  includeImplicitSession?: boolean;
245
+ ethAuth?: EthAuthSettings;
240
246
  }): Promise<void>;
241
247
  /**
242
248
  * Adds a new explicit session for a given chain to an existing wallet.
@@ -1 +1 @@
1
- {"version":3,"file":"DappClient.d.ts","sourceRoot":"","sources":["../src/DappClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DappClient.d.ts","sourceRoot":"","sources":["../src/DappClient.ts"],"names":[],"mappings":"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"}
@@ -321,6 +321,12 @@ export class DappClient {
321
321
  guard: this.cachedSessionlessConnection.guard,
322
322
  };
323
323
  }
324
+ /**
325
+ * Returns the latest persisted ETHAuth proof, if one has been received from the wallet.
326
+ */
327
+ async getEthAuthProof() {
328
+ return this.sequenceStorage.getEthAuthProof();
329
+ }
324
330
  /**
325
331
  * Restores a sessionless connection that was previously persisted via {@link disconnect} or a connect flow.
326
332
  * @returns A promise that resolves to true if a sessionless connection was applied.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { DappClient } from './DappClient.js';
2
2
  export type { DappClientEventListener } from './DappClient.js';
3
- export type { LoginMethod, GuardConfig, Transaction, SignatureResponse, SequenceSessionStorage, RandomPrivateKeyFn, SignMessagePayload, SessionResponse, AddExplicitSessionPayload, CreateNewSessionPayload, CreateNewSessionResponse, SignTypedDataPayload, ModifyExplicitSessionPayload, DappClientWalletActionEventListener, DappClientExplicitSessionEventListener, TransactionRequest, SendWalletTransactionPayload, SendWalletTransactionResponse, WalletActionResponse, GetFeeTokensResponse, FeeToken, FeeOption, TransportMessage, } from './types/index.js';
3
+ export type { LoginMethod, GuardConfig, Transaction, SignatureResponse, SequenceSessionStorage, RandomPrivateKeyFn, SignMessagePayload, SessionResponse, AddExplicitSessionPayload, CreateNewSessionPayload, CreateNewSessionResponse, SignTypedDataPayload, ModifyExplicitSessionPayload, DappClientWalletActionEventListener, DappClientExplicitSessionEventListener, TransactionRequest, SendWalletTransactionPayload, SendWalletTransactionResponse, WalletActionResponse, GetFeeTokensResponse, FeeToken, FeeOption, TransportMessage, EthAuthSettings, ETHAuthProof, } from './types/index.js';
4
4
  export { RequestActionType, TransportMode, MessageType } from './types/index.js';
5
5
  export { FeeOptionError, TransactionError, AddExplicitSessionError, ConnectionError, InitializationError, SigningError, ModifyExplicitSessionError, } from './utils/errors.js';
6
6
  export { createExplicitSessionConfig, getExplorerUrl, getNetwork, getRelayerUrl, getRpcUrl, jsonReplacers, jsonRevivers, VALUE_FORWARDER_ADDRESS, } from './utils/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,YAAY,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,4BAA4B,EAC5B,mCAAmC,EACnC,sCAAsC,EACtC,kBAAkB,EAClB,4BAA4B,EAC5B,6BAA6B,EAC7B,oBAAoB,EACpB,oBAAoB,EACpB,QAAQ,EACR,SAAS,EACT,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,0BAA0B,GAC3B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,YAAY,EACZ,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACnG,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,GACf,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,OAAO,EACP,OAAO,GACR,MAAM,+BAA+B,CAAA;AACtC,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAC/G,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,YAAY,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,4BAA4B,EAC5B,mCAAmC,EACnC,sCAAsC,EACtC,kBAAkB,EAClB,4BAA4B,EAC5B,6BAA6B,EAC7B,oBAAoB,EACpB,oBAAoB,EACpB,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,YAAY,GACb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,0BAA0B,GAC3B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,YAAY,EACZ,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACnG,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,GACf,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE/C,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,OAAO,EACP,OAAO,GACR,MAAM,+BAA+B,CAAA;AACtC,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAC/G,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA"}
@@ -20,10 +20,25 @@ export interface GuardConfig {
20
20
  url: string;
21
21
  moduleAddresses: Map<Address.Address, Address.Address>;
22
22
  }
23
+ export interface EthAuthSettings {
24
+ app?: string;
25
+ /** expiry number (in seconds) that is used for ETHAuth proof. Default is 1 week in seconds. */
26
+ expiry?: number;
27
+ /** origin hint of the dapp's host opening the wallet. This value will automatically
28
+ * be determined and verified for integrity, and can be omitted. */
29
+ origin?: string;
30
+ /** authorizeNonce is an optional number to be passed as ETHAuth's nonce claim for replay protection. **/
31
+ nonce?: number;
32
+ }
33
+ export interface ETHAuthProof {
34
+ typedData: Payload.TypedDataToSign;
35
+ ewtString: string;
36
+ }
23
37
  export interface CreateNewSessionPayload {
24
38
  origin?: string;
25
39
  session?: ExplicitSession;
26
40
  includeImplicitSession?: boolean;
41
+ ethAuth?: EthAuthSettings;
27
42
  preferredLoginMethod?: LoginMethod;
28
43
  email?: string;
29
44
  }
@@ -64,6 +79,7 @@ export interface CreateNewSessionResponse {
64
79
  userEmail?: string;
65
80
  loginMethod?: LoginMethod;
66
81
  guard?: GuardConfig;
82
+ ethAuthProof?: ETHAuthProof;
67
83
  }
68
84
  export interface SignatureResponse {
69
85
  signature: Hex.Hex;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Address, Hex } from 'ox';
2
- import { LoginMethod, SignMessagePayload, SignTypedDataPayload, GuardConfig, SendWalletTransactionPayload, ModifyExplicitSessionPayload, CreateNewSessionPayload, AddExplicitSessionPayload } from '../types/index.js';
2
+ import { LoginMethod, SignMessagePayload, SignTypedDataPayload, GuardConfig, ETHAuthProof, SendWalletTransactionPayload, ModifyExplicitSessionPayload, CreateNewSessionPayload, AddExplicitSessionPayload } from '../types/index.js';
3
3
  import { Attestation } from '../index.js';
4
4
  export interface ExplicitSessionData {
5
5
  pk: Hex.Hex;
@@ -48,6 +48,9 @@ export interface SequenceStorage {
48
48
  saveSessionlessConnection(sessionData: SessionlessConnectionData): Promise<void>;
49
49
  getSessionlessConnection(): Promise<SessionlessConnectionData | null>;
50
50
  clearSessionlessConnection(): Promise<void>;
51
+ saveEthAuthProof(proof: ETHAuthProof): Promise<void>;
52
+ getEthAuthProof(): Promise<ETHAuthProof | null>;
53
+ clearEthAuthProof(): Promise<void>;
51
54
  saveSessionlessConnectionSnapshot?(sessionData: SessionlessConnectionData): Promise<void>;
52
55
  getSessionlessConnectionSnapshot?(): Promise<SessionlessConnectionData | null>;
53
56
  clearSessionlessConnectionSnapshot?(): Promise<void>;
@@ -73,8 +76,11 @@ export declare class WebStorage implements SequenceStorage {
73
76
  getImplicitSession(): Promise<ImplicitSessionData | null>;
74
77
  clearImplicitSession(): Promise<void>;
75
78
  saveSessionlessConnection(sessionData: SessionlessConnectionData): Promise<void>;
79
+ saveEthAuthProof(proof: ETHAuthProof): Promise<void>;
76
80
  getSessionlessConnection(): Promise<SessionlessConnectionData | null>;
81
+ getEthAuthProof(): Promise<ETHAuthProof | null>;
77
82
  clearSessionlessConnection(): Promise<void>;
83
+ clearEthAuthProof(): Promise<void>;
78
84
  saveSessionlessConnectionSnapshot(sessionData: SessionlessConnectionData): Promise<void>;
79
85
  getSessionlessConnectionSnapshot(): Promise<SessionlessConnectionData | null>;
80
86
  clearSessionlessConnectionSnapshot(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/utils/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/utils/storage.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ const STORE_NAME = 'userKeys';
9
9
  const IMPLICIT_SESSIONS_IDB_KEY = 'SequenceImplicitSession';
10
10
  const EXPLICIT_SESSIONS_IDB_KEY = 'SequenceExplicitSession';
11
11
  const SESSIONLESS_CONNECTION_IDB_KEY = 'SequenceSessionlessConnection';
12
+ const ETH_AUTH_PROOF_IDB_KEY = 'SequenceEthAuthProof';
12
13
  const SESSIONLESS_CONNECTION_SNAPSHOT_IDB_KEY = 'SequenceSessionlessConnectionSnapshot';
13
14
  const PENDING_REDIRECT_REQUEST_KEY = 'SequencePendingRedirect';
14
15
  const TEMP_SESSION_PK_KEY = 'SequencePendingTempSessionPk';
@@ -219,6 +220,15 @@ export class WebStorage {
219
220
  throw error;
220
221
  }
221
222
  }
223
+ async saveEthAuthProof(proof) {
224
+ try {
225
+ await this.setIDBItem(ETH_AUTH_PROOF_IDB_KEY, proof);
226
+ }
227
+ catch (error) {
228
+ console.error('Failed to save ETHAuth proof:', error);
229
+ throw error;
230
+ }
231
+ }
222
232
  async getSessionlessConnection() {
223
233
  try {
224
234
  return (await this.getIDBItem(SESSIONLESS_CONNECTION_IDB_KEY)) ?? null;
@@ -228,6 +238,15 @@ export class WebStorage {
228
238
  return null;
229
239
  }
230
240
  }
241
+ async getEthAuthProof() {
242
+ try {
243
+ return (await this.getIDBItem(ETH_AUTH_PROOF_IDB_KEY)) ?? null;
244
+ }
245
+ catch (error) {
246
+ console.error('Failed to retrieve ETHAuth proof:', error);
247
+ return null;
248
+ }
249
+ }
231
250
  async clearSessionlessConnection() {
232
251
  try {
233
252
  await this.deleteIDBItem(SESSIONLESS_CONNECTION_IDB_KEY);
@@ -237,6 +256,15 @@ export class WebStorage {
237
256
  throw error;
238
257
  }
239
258
  }
259
+ async clearEthAuthProof() {
260
+ try {
261
+ await this.deleteIDBItem(ETH_AUTH_PROOF_IDB_KEY);
262
+ }
263
+ catch (error) {
264
+ console.error('Failed to clear ETHAuth proof:', error);
265
+ throw error;
266
+ }
267
+ }
240
268
  async saveSessionlessConnectionSnapshot(sessionData) {
241
269
  try {
242
270
  await this.setIDBItem(SESSIONLESS_CONNECTION_SNAPSHOT_IDB_KEY, sessionData);
@@ -276,6 +304,7 @@ export class WebStorage {
276
304
  await this.clearExplicitSessions();
277
305
  await this.clearImplicitSession();
278
306
  await this.clearSessionlessConnection();
307
+ await this.clearEthAuthProof();
279
308
  await this.clearSessionlessConnectionSnapshot();
280
309
  }
281
310
  catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xsequence/dapp-client",
3
- "version": "3.0.0-beta.14",
3
+ "version": "3.0.0-beta.16",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -25,10 +25,10 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "ox": "^0.9.17",
28
- "@0xsequence/guard": "^3.0.0-beta.14",
29
- "@0xsequence/wallet-primitives": "^3.0.0-beta.14",
30
- "@0xsequence/relayer": "^3.0.0-beta.14",
31
- "@0xsequence/wallet-core": "^3.0.0-beta.14"
28
+ "@0xsequence/guard": "^3.0.0-beta.16",
29
+ "@0xsequence/wallet-primitives": "^3.0.0-beta.16",
30
+ "@0xsequence/wallet-core": "^3.0.0-beta.16",
31
+ "@0xsequence/relayer": "^3.0.0-beta.16"
32
32
  },
33
33
  "scripts": {
34
34
  "build": "tsc",
@@ -37,12 +37,14 @@ import {
37
37
  TransportMode,
38
38
  GuardConfig,
39
39
  CreateNewSessionPayload,
40
+ EthAuthSettings,
40
41
  ModifyExplicitSessionPayload,
41
42
  SessionResponse,
42
43
  AddExplicitSessionPayload,
43
44
  FeeOption,
44
45
  OperationFailedStatus,
45
46
  OperationStatus,
47
+ ETHAuthProof,
46
48
  } from './types/index.js'
47
49
  import { CACHE_DB_NAME, VALUE_FORWARDER_ADDRESS } from './utils/constants.js'
48
50
  import { ExplicitSession, ImplicitSession, ExplicitSessionConfig } from './index.js'
@@ -285,6 +287,7 @@ export class ChainSessionManager {
285
287
  preferredLoginMethod?: LoginMethod
286
288
  email?: string
287
289
  includeImplicitSession?: boolean
290
+ ethAuth?: EthAuthSettings
288
291
  } = {},
289
292
  ): Promise<void> {
290
293
  if (this.isInitialized) {
@@ -311,6 +314,7 @@ export class ChainSessionManager {
311
314
  origin,
312
315
  session: completeSession as ExplicitSession | undefined,
313
316
  includeImplicitSession: options.includeImplicitSession ?? false,
317
+ ethAuth: options.ethAuth,
314
318
  preferredLoginMethod: options.preferredLoginMethod,
315
319
  email: options.preferredLoginMethod === 'email' ? options.email : undefined,
316
320
  }
@@ -377,6 +381,10 @@ export class ChainSessionManager {
377
381
  this.guard = guard
378
382
  }
379
383
 
384
+ if (payload.ethAuth) {
385
+ await this._saveEthAuthProofIfProvided(connectResponse.ethAuthProof)
386
+ }
387
+
380
388
  if (this.transport.mode === TransportMode.POPUP) {
381
389
  this.transport.closeWallet()
382
390
  }
@@ -596,6 +604,10 @@ export class ChainSessionManager {
596
604
  this.userEmail = userEmail ?? null
597
605
  this.guard = guard
598
606
  }
607
+
608
+ if (savedPayload?.ethAuth) {
609
+ await this._saveEthAuthProofIfProvided(connectResponse.ethAuthProof)
610
+ }
599
611
  } else if (response.action === RequestActionType.ADD_EXPLICIT_SESSION) {
600
612
  if (!this.walletAddress || !Address.isEqual(receivedAddress, this.walletAddress)) {
601
613
  throw new InitializationError('Received an explicit session for a wallet that is not active.')
@@ -1104,6 +1116,13 @@ export class ChainSessionManager {
1104
1116
  await this.sequenceStorage.clearSessionlessConnection()
1105
1117
  }
1106
1118
 
1119
+ private async _saveEthAuthProofIfProvided(ethAuthProof?: ETHAuthProof): Promise<void> {
1120
+ if (!ethAuthProof) {
1121
+ return
1122
+ }
1123
+ await this.sequenceStorage.saveEthAuthProof(ethAuthProof)
1124
+ }
1125
+
1107
1126
  private _getCachedSignedCall(calls: Payload.Call[]): { to: Address.Address; data: Hex.Hex } | null {
1108
1127
  if (!this.lastSignedCallCache) {
1109
1128
  return null
package/src/DappClient.ts CHANGED
@@ -14,8 +14,10 @@ import {
14
14
  GetFeeTokensResponse,
15
15
  GuardConfig,
16
16
  LoginMethod,
17
+ EthAuthSettings,
17
18
  RandomPrivateKeyFn,
18
19
  RequestActionType,
20
+ ETHAuthProof,
19
21
  SendWalletTransactionPayload,
20
22
  SequenceSessionStorage,
21
23
  SignMessagePayload,
@@ -407,6 +409,13 @@ export class DappClient {
407
409
  }
408
410
  }
409
411
 
412
+ /**
413
+ * Returns the latest persisted ETHAuth proof, if one has been received from the wallet.
414
+ */
415
+ public async getEthAuthProof(): Promise<ETHAuthProof | null> {
416
+ return this.sequenceStorage.getEthAuthProof()
417
+ }
418
+
410
419
  /**
411
420
  * Restores a sessionless connection that was previously persisted via {@link disconnect} or a connect flow.
412
421
  * @returns A promise that resolves to true if a sessionless connection was applied.
@@ -559,6 +568,7 @@ export class DappClient {
559
568
  preferredLoginMethod?: LoginMethod
560
569
  email?: string
561
570
  includeImplicitSession?: boolean
571
+ ethAuth?: EthAuthSettings
562
572
  } = {},
563
573
  ): Promise<void> {
564
574
  if (this.isInitialized) {
@@ -614,6 +624,7 @@ export class DappClient {
614
624
  preferredLoginMethod?: LoginMethod
615
625
  email?: string
616
626
  includeImplicitSession?: boolean
627
+ ethAuth?: EthAuthSettings
617
628
  } = {},
618
629
  ): Promise<void> {
619
630
  if (!this.isInitialized || !this.hasSessionlessConnection || !this.walletAddress) {
package/src/index.ts CHANGED
@@ -24,6 +24,8 @@ export type {
24
24
  FeeToken,
25
25
  FeeOption,
26
26
  TransportMessage,
27
+ EthAuthSettings,
28
+ ETHAuthProof,
27
29
  } from './types/index.js'
28
30
  export { RequestActionType, TransportMode, MessageType } from './types/index.js'
29
31
  export {
@@ -28,12 +28,32 @@ export interface GuardConfig {
28
28
  moduleAddresses: Map<Address.Address, Address.Address>
29
29
  }
30
30
 
31
+ export interface EthAuthSettings {
32
+ app?: string
33
+ /** expiry number (in seconds) that is used for ETHAuth proof. Default is 1 week in seconds. */
34
+ expiry?: number
35
+ /** origin hint of the dapp's host opening the wallet. This value will automatically
36
+ * be determined and verified for integrity, and can be omitted. */
37
+ origin?: string
38
+ /** authorizeNonce is an optional number to be passed as ETHAuth's nonce claim for replay protection. **/
39
+ nonce?: number
40
+ }
41
+
42
+ export interface ETHAuthProof {
43
+ // eip712 typed-data payload for ETHAuth domain as input
44
+ typedData: Payload.TypedDataToSign
45
+
46
+ // signature encoded in an ETHAuth proof string
47
+ ewtString: string
48
+ }
49
+
31
50
  // --- Payloads for Transport ---
32
51
 
33
52
  export interface CreateNewSessionPayload {
34
53
  origin?: string
35
54
  session?: ExplicitSession
36
55
  includeImplicitSession?: boolean
56
+ ethAuth?: EthAuthSettings
37
57
  preferredLoginMethod?: LoginMethod
38
58
  email?: string
39
59
  }
@@ -81,6 +101,7 @@ export interface CreateNewSessionResponse {
81
101
  userEmail?: string
82
102
  loginMethod?: LoginMethod
83
103
  guard?: GuardConfig
104
+ ethAuthProof?: ETHAuthProof
84
105
  }
85
106
 
86
107
  export interface SignatureResponse {
@@ -5,6 +5,7 @@ import {
5
5
  SignMessagePayload,
6
6
  SignTypedDataPayload,
7
7
  GuardConfig,
8
+ ETHAuthProof,
8
9
  SendWalletTransactionPayload,
9
10
  ModifyExplicitSessionPayload,
10
11
  CreateNewSessionPayload,
@@ -81,6 +82,10 @@ export interface SequenceStorage {
81
82
  getSessionlessConnection(): Promise<SessionlessConnectionData | null>
82
83
  clearSessionlessConnection(): Promise<void>
83
84
 
85
+ saveEthAuthProof(proof: ETHAuthProof): Promise<void>
86
+ getEthAuthProof(): Promise<ETHAuthProof | null>
87
+ clearEthAuthProof(): Promise<void>
88
+
84
89
  saveSessionlessConnectionSnapshot?(sessionData: SessionlessConnectionData): Promise<void>
85
90
  getSessionlessConnectionSnapshot?(): Promise<SessionlessConnectionData | null>
86
91
  clearSessionlessConnectionSnapshot?(): Promise<void>
@@ -94,6 +99,7 @@ const STORE_NAME = 'userKeys'
94
99
  const IMPLICIT_SESSIONS_IDB_KEY = 'SequenceImplicitSession'
95
100
  const EXPLICIT_SESSIONS_IDB_KEY = 'SequenceExplicitSession'
96
101
  const SESSIONLESS_CONNECTION_IDB_KEY = 'SequenceSessionlessConnection'
102
+ const ETH_AUTH_PROOF_IDB_KEY = 'SequenceEthAuthProof'
97
103
  const SESSIONLESS_CONNECTION_SNAPSHOT_IDB_KEY = 'SequenceSessionlessConnectionSnapshot'
98
104
 
99
105
  const PENDING_REDIRECT_REQUEST_KEY = 'SequencePendingRedirect'
@@ -305,6 +311,15 @@ export class WebStorage implements SequenceStorage {
305
311
  }
306
312
  }
307
313
 
314
+ async saveEthAuthProof(proof: ETHAuthProof): Promise<void> {
315
+ try {
316
+ await this.setIDBItem(ETH_AUTH_PROOF_IDB_KEY, proof)
317
+ } catch (error) {
318
+ console.error('Failed to save ETHAuth proof:', error)
319
+ throw error
320
+ }
321
+ }
322
+
308
323
  async getSessionlessConnection(): Promise<SessionlessConnectionData | null> {
309
324
  try {
310
325
  return (await this.getIDBItem<SessionlessConnectionData>(SESSIONLESS_CONNECTION_IDB_KEY)) ?? null
@@ -314,6 +329,15 @@ export class WebStorage implements SequenceStorage {
314
329
  }
315
330
  }
316
331
 
332
+ async getEthAuthProof(): Promise<ETHAuthProof | null> {
333
+ try {
334
+ return (await this.getIDBItem<ETHAuthProof>(ETH_AUTH_PROOF_IDB_KEY)) ?? null
335
+ } catch (error) {
336
+ console.error('Failed to retrieve ETHAuth proof:', error)
337
+ return null
338
+ }
339
+ }
340
+
317
341
  async clearSessionlessConnection(): Promise<void> {
318
342
  try {
319
343
  await this.deleteIDBItem(SESSIONLESS_CONNECTION_IDB_KEY)
@@ -323,6 +347,15 @@ export class WebStorage implements SequenceStorage {
323
347
  }
324
348
  }
325
349
 
350
+ async clearEthAuthProof(): Promise<void> {
351
+ try {
352
+ await this.deleteIDBItem(ETH_AUTH_PROOF_IDB_KEY)
353
+ } catch (error) {
354
+ console.error('Failed to clear ETHAuth proof:', error)
355
+ throw error
356
+ }
357
+ }
358
+
326
359
  async saveSessionlessConnectionSnapshot(sessionData: SessionlessConnectionData): Promise<void> {
327
360
  try {
328
361
  await this.setIDBItem(SESSIONLESS_CONNECTION_SNAPSHOT_IDB_KEY, sessionData)
@@ -363,6 +396,7 @@ export class WebStorage implements SequenceStorage {
363
396
  await this.clearExplicitSessions()
364
397
  await this.clearImplicitSession()
365
398
  await this.clearSessionlessConnection()
399
+ await this.clearEthAuthProof()
366
400
  await this.clearSessionlessConnectionSnapshot()
367
401
  } catch (error) {
368
402
  console.error('Failed to clear all data:', error)
@@ -0,0 +1,208 @@
1
+ import { afterEach, describe, expect, it, vi } from 'vitest'
2
+
3
+ import { DappClient } from '../src/DappClient.js'
4
+ import { DappTransport } from '../src/DappTransport.js'
5
+ import { RequestActionType, TransportMode } from '../src/types/index.js'
6
+ import { WebStorage } from '../src/utils/storage.js'
7
+
8
+ describe('ETHAuth proof persistence', () => {
9
+ afterEach(() => {
10
+ vi.restoreAllMocks()
11
+ vi.unstubAllGlobals()
12
+ })
13
+
14
+ const createSequenceStorageMock = () =>
15
+ ({
16
+ setPendingRedirectRequest: vi.fn().mockResolvedValue(undefined),
17
+ isRedirectRequestPending: vi.fn().mockResolvedValue(false),
18
+ saveTempSessionPk: vi.fn().mockResolvedValue(undefined),
19
+ getAndClearTempSessionPk: vi.fn().mockResolvedValue(null),
20
+ savePendingRequest: vi.fn().mockResolvedValue(undefined),
21
+ getAndClearPendingRequest: vi.fn().mockResolvedValue(null),
22
+ peekPendingRequest: vi.fn().mockResolvedValue(null),
23
+ saveExplicitSession: vi.fn().mockResolvedValue(undefined),
24
+ getExplicitSessions: vi.fn().mockResolvedValue([]),
25
+ clearExplicitSessions: vi.fn().mockResolvedValue(undefined),
26
+ saveImplicitSession: vi.fn().mockResolvedValue(undefined),
27
+ getImplicitSession: vi.fn().mockResolvedValue(null),
28
+ clearImplicitSession: vi.fn().mockResolvedValue(undefined),
29
+ saveSessionlessConnection: vi.fn().mockResolvedValue(undefined),
30
+ getSessionlessConnection: vi.fn().mockResolvedValue(null),
31
+ clearSessionlessConnection: vi.fn().mockResolvedValue(undefined),
32
+ saveEthAuthProof: vi.fn().mockResolvedValue(undefined),
33
+ getEthAuthProof: vi.fn().mockResolvedValue(null),
34
+ clearEthAuthProof: vi.fn().mockResolvedValue(undefined),
35
+ clearAllData: vi.fn().mockResolvedValue(undefined),
36
+ }) as any
37
+
38
+ it('persists ETHAuth proof when connect requests ethAuth in redirect mode', async () => {
39
+ const fetchMock = vi.fn()
40
+ vi.stubGlobal('fetch', fetchMock)
41
+ vi.stubGlobal('window', { fetch: fetchMock } as any)
42
+
43
+ const ethAuthProof = {
44
+ typedData: {
45
+ domain: {},
46
+ types: {},
47
+ message: {},
48
+ },
49
+ ewtString: 'proof-string',
50
+ } as any
51
+
52
+ const sequenceStorage = createSequenceStorageMock()
53
+ const sendRequestMock = vi.spyOn(DappTransport.prototype, 'sendRequest').mockResolvedValue({
54
+ walletAddress: '0x1111111111111111111111111111111111111111',
55
+ ethAuthProof,
56
+ } as any)
57
+
58
+ const client = new DappClient('https://wallet.example', 'https://dapp.example', 'test-project-access-key', {
59
+ sequenceStorage,
60
+ transportMode: TransportMode.REDIRECT,
61
+ canUseIndexedDb: false,
62
+ redirectActionHandler: vi.fn(),
63
+ })
64
+
65
+ await client.connect(1, undefined, {
66
+ ethAuth: {
67
+ app: 'app-name',
68
+ },
69
+ })
70
+
71
+ expect(sendRequestMock).toHaveBeenCalledWith(
72
+ RequestActionType.CREATE_NEW_SESSION,
73
+ 'https://dapp.example',
74
+ expect.objectContaining({
75
+ ethAuth: {
76
+ app: 'app-name',
77
+ },
78
+ }),
79
+ expect.any(Object),
80
+ )
81
+ expect(sequenceStorage.saveEthAuthProof).toHaveBeenCalledWith(ethAuthProof)
82
+ })
83
+
84
+ it('persists ETHAuth proof when connect requests ethAuth in popup mode', async () => {
85
+ const fetchMock = vi.fn()
86
+ vi.stubGlobal('fetch', fetchMock)
87
+ vi.stubGlobal('window', { fetch: fetchMock } as any)
88
+ vi.stubGlobal('document', {} as any)
89
+
90
+ const ethAuthProof = {
91
+ typedData: {
92
+ domain: {},
93
+ types: {},
94
+ message: {},
95
+ },
96
+ ewtString: 'proof-string',
97
+ } as any
98
+
99
+ const sequenceStorage = createSequenceStorageMock()
100
+ const sendRequestMock = vi.spyOn(DappTransport.prototype, 'sendRequest').mockResolvedValue({
101
+ walletAddress: '0x1111111111111111111111111111111111111111',
102
+ ethAuthProof,
103
+ } as any)
104
+
105
+ const client = new DappClient('https://wallet.example', 'https://dapp.example', 'test-project-access-key', {
106
+ sequenceStorage,
107
+ transportMode: TransportMode.POPUP,
108
+ canUseIndexedDb: false,
109
+ })
110
+
111
+ await client.connect(1, undefined, {
112
+ ethAuth: {
113
+ app: 'app-name',
114
+ },
115
+ })
116
+
117
+ expect(sendRequestMock).toHaveBeenCalledWith(
118
+ RequestActionType.CREATE_NEW_SESSION,
119
+ 'https://dapp.example',
120
+ expect.objectContaining({
121
+ ethAuth: {
122
+ app: 'app-name',
123
+ },
124
+ }),
125
+ expect.any(Object),
126
+ )
127
+ expect(sequenceStorage.saveEthAuthProof).toHaveBeenCalledWith(ethAuthProof)
128
+ })
129
+
130
+ it('does not persist ETHAuth proof when connect does not request ethAuth', async () => {
131
+ const fetchMock = vi.fn()
132
+ vi.stubGlobal('fetch', fetchMock)
133
+ vi.stubGlobal('window', { fetch: fetchMock } as any)
134
+
135
+ const ethAuthProof = {
136
+ typedData: {
137
+ domain: {},
138
+ types: {},
139
+ message: {},
140
+ },
141
+ ewtString: 'proof-string',
142
+ } as any
143
+
144
+ const sequenceStorage = createSequenceStorageMock()
145
+ const sendRequestMock = vi.spyOn(DappTransport.prototype, 'sendRequest').mockResolvedValue({
146
+ walletAddress: '0x1111111111111111111111111111111111111111',
147
+ ethAuthProof,
148
+ } as any)
149
+
150
+ const client = new DappClient('https://wallet.example', 'https://dapp.example', 'test-project-access-key', {
151
+ sequenceStorage,
152
+ transportMode: TransportMode.REDIRECT,
153
+ canUseIndexedDb: false,
154
+ redirectActionHandler: vi.fn(),
155
+ })
156
+
157
+ await client.connect(1)
158
+
159
+ expect(sendRequestMock).toHaveBeenCalledWith(
160
+ RequestActionType.CREATE_NEW_SESSION,
161
+ 'https://dapp.example',
162
+ expect.not.objectContaining({
163
+ ethAuth: expect.anything(),
164
+ }),
165
+ expect.any(Object),
166
+ )
167
+ expect(sequenceStorage.saveEthAuthProof).not.toHaveBeenCalled()
168
+ })
169
+
170
+ it('clears ETHAuth proof on disconnect', async () => {
171
+ const fetchMock = vi.fn()
172
+ vi.stubGlobal('fetch', fetchMock)
173
+ vi.stubGlobal('window', { fetch: fetchMock } as any)
174
+
175
+ const ethAuthProof = {
176
+ typedData: {
177
+ domain: {},
178
+ types: {},
179
+ message: {},
180
+ },
181
+ ewtString: 'proof-string',
182
+ } as any
183
+
184
+ vi.spyOn(DappTransport.prototype, 'sendRequest').mockResolvedValue({
185
+ walletAddress: '0x1111111111111111111111111111111111111111',
186
+ ethAuthProof,
187
+ } as any)
188
+
189
+ const client = new DappClient('https://wallet.example', 'https://dapp.example', 'test-project-access-key', {
190
+ sequenceStorage: new WebStorage(),
191
+ transportMode: TransportMode.REDIRECT,
192
+ canUseIndexedDb: false,
193
+ redirectActionHandler: vi.fn(),
194
+ })
195
+
196
+ await client.connect(1, undefined, {
197
+ ethAuth: {
198
+ app: 'app-name',
199
+ },
200
+ })
201
+
202
+ expect(await client.getEthAuthProof()).toEqual(ethAuthProof)
203
+
204
+ await client.disconnect()
205
+
206
+ expect(await client.getEthAuthProof()).toBeNull()
207
+ })
208
+ })