@0xsequence/dapp-client 3.0.0-beta.1 → 3.0.0-beta.10

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.1 build /Users/taylan/Development/Horizon/sequence.js/packages/wallet/dapp-client
3
+ > @0xsequence/dapp-client@3.0.0-beta.10 build /Users/taylan/Development/Horizon/sequence.js/packages/wallet/dapp-client
4
4
  > tsc
5
5
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,104 @@
1
1
  # @0xsequence/dapp-client
2
2
 
3
+ ## 3.0.0-beta.10
4
+
5
+ ### Patch Changes
6
+
7
+ - dapp-client updates
8
+ - Updated dependencies
9
+ - @0xsequence/guard@3.0.0-beta.10
10
+ - @0xsequence/relayer@3.0.0-beta.10
11
+ - @0xsequence/wallet-core@3.0.0-beta.10
12
+ - @0xsequence/wallet-primitives@3.0.0-beta.10
13
+
14
+ ## 3.0.0-beta.9
15
+
16
+ ### Patch Changes
17
+
18
+ - dapp client updates for EOA login
19
+ - Updated dependencies
20
+ - @0xsequence/guard@3.0.0-beta.9
21
+ - @0xsequence/relayer@3.0.0-beta.9
22
+ - @0xsequence/wallet-core@3.0.0-beta.9
23
+ - @0xsequence/wallet-primitives@3.0.0-beta.9
24
+
25
+ ## 3.0.0-beta.8
26
+
27
+ ### Patch Changes
28
+
29
+ - Apple auth fixes
30
+ - Updated dependencies
31
+ - @0xsequence/guard@3.0.0-beta.8
32
+ - @0xsequence/relayer@3.0.0-beta.8
33
+ - @0xsequence/wallet-core@3.0.0-beta.8
34
+ - @0xsequence/wallet-primitives@3.0.0-beta.8
35
+
36
+ ## 3.0.0-beta.7
37
+
38
+ ### Patch Changes
39
+
40
+ - Apple auth fix
41
+ - Updated dependencies
42
+ - @0xsequence/guard@3.0.0-beta.7
43
+ - @0xsequence/relayer@3.0.0-beta.7
44
+ - @0xsequence/wallet-core@3.0.0-beta.7
45
+ - @0xsequence/wallet-primitives@3.0.0-beta.7
46
+
47
+ ## 3.0.0-beta.6
48
+
49
+ ### Patch Changes
50
+
51
+ - Fix signer 404 error, minor fixes
52
+ - Updated dependencies
53
+ - @0xsequence/guard@3.0.0-beta.6
54
+ - @0xsequence/relayer@3.0.0-beta.6
55
+ - @0xsequence/wallet-core@3.0.0-beta.6
56
+ - @0xsequence/wallet-primitives@3.0.0-beta.6
57
+
58
+ ## 3.0.0-beta.5
59
+
60
+ ### Patch Changes
61
+
62
+ - Beta release for v3
63
+ - Updated dependencies
64
+ - @0xsequence/guard@3.0.0-beta.5
65
+ - @0xsequence/relayer@3.0.0-beta.5
66
+ - @0xsequence/wallet-core@3.0.0-beta.5
67
+ - @0xsequence/wallet-primitives@3.0.0-beta.5
68
+
69
+ ## 3.0.0-beta.4
70
+
71
+ ### Patch Changes
72
+
73
+ - RC5 upgrade
74
+ - Updated dependencies
75
+ - @0xsequence/guard@3.0.0-beta.4
76
+ - @0xsequence/relayer@3.0.0-beta.4
77
+ - @0xsequence/wallet-core@3.0.0-beta.4
78
+ - @0xsequence/wallet-primitives@3.0.0-beta.4
79
+
80
+ ## 3.0.0-beta.3
81
+
82
+ ### Patch Changes
83
+
84
+ - 3.0.0-beta.3 with fixes
85
+ - Updated dependencies
86
+ - @0xsequence/guard@3.0.0-beta.3
87
+ - @0xsequence/relayer@3.0.0-beta.3
88
+ - @0xsequence/wallet-core@3.0.0-beta.3
89
+ - @0xsequence/wallet-primitives@3.0.0-beta.3
90
+
91
+ ## 3.0.0-beta.2
92
+
93
+ ### Patch Changes
94
+
95
+ - 3.0.0-beta.2 with identity instrument updates
96
+ - Updated dependencies
97
+ - @0xsequence/guard@3.0.0-beta.2
98
+ - @0xsequence/relayer@3.0.0-beta.2
99
+ - @0xsequence/wallet-core@3.0.0-beta.2
100
+ - @0xsequence/wallet-primitives@3.0.0-beta.2
101
+
3
102
  ## 3.0.0-beta.1
4
103
 
5
104
  ### Patch Changes
@@ -136,7 +136,7 @@ export class ChainSessionManager {
136
136
  stateProvider: this.stateProvider,
137
137
  });
138
138
  this.sessionManager = new Signers.SessionManager(this.wallet, {
139
- sessionManagerAddress: Extensions.Rc4.sessions,
139
+ sessionManagerAddress: Extensions.Rc5.sessions,
140
140
  provider: this.provider,
141
141
  });
142
142
  this.isInitialized = true;
@@ -354,7 +354,7 @@ export class ChainSessionManager {
354
354
  const { userEmail, loginMethod, guard } = connectResponse;
355
355
  const savedRequest = await this.sequenceStorage.peekPendingRequest();
356
356
  const savedPayload = savedRequest?.payload;
357
- const explicitSessionRequested = !!savedPayload?.session;
357
+ const explicitSessionRequested = (savedPayload?.session?.permissions?.length ?? 0) > 0;
358
358
  const implicitSessionRequested = savedPayload?.includeImplicitSession ?? false;
359
359
  const needsTempPk = explicitSessionRequested || implicitSessionRequested;
360
360
  const tempPk = needsTempPk ? await this.sequenceStorage.getAndClearTempSessionPk() : null;
@@ -501,7 +501,7 @@ export class ChainSessionManager {
501
501
  for (let attempt = 1; attempt <= maxRetries; attempt++) {
502
502
  try {
503
503
  const tempManager = new Signers.SessionManager(this.wallet, {
504
- sessionManagerAddress: Extensions.Rc4.sessions,
504
+ sessionManagerAddress: Extensions.Rc5.sessions,
505
505
  provider: this.provider,
506
506
  });
507
507
  const topology = await tempManager.getTopology();
package/dist/index.d.ts CHANGED
@@ -1,12 +1,13 @@
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, } from './types/index.js';
4
- export { RequestActionType, TransportMode } 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, } from './types/index.js';
4
+ export { RequestActionType, TransportMode, MessageType } from './types/index.js';
5
5
  export { FeeOptionError, TransactionError, AddExplicitSessionError, ConnectionError, InitializationError, SigningError, ModifyExplicitSessionError, } from './utils/errors.js';
6
- export { getExplorerUrl, jsonReplacers, jsonRevivers } from './utils/index.js';
6
+ export { createExplicitSessionConfig, getExplorerUrl, getNetwork, getRelayerUrl, getRpcUrl, jsonReplacers, jsonRevivers, VALUE_FORWARDER_ADDRESS, } from './utils/index.js';
7
+ export type { ExplicitSessionParams, NativeTokenSpending, SessionDuration } from './utils/index.js';
7
8
  export type { SequenceStorage, ExplicitSessionData, ImplicitSessionData, SessionlessConnectionData, PendingRequestContext, PendingPayload, } from './utils/storage.js';
8
9
  export { WebStorage } from './utils/storage.js';
9
- export { Attestation, Permission, Extensions, SessionConfig, Constants, Payload } from '@0xsequence/wallet-primitives';
10
+ export { Attestation, Permission, Extensions, SessionConfig, Constants, Payload, Network, } from '@0xsequence/wallet-primitives';
10
11
  export type { ExplicitSessionConfig, ExplicitSession, ImplicitSession, Session } from '@0xsequence/wallet-core';
11
12
  export { Signers, Wallet, Utils, Envelope, State } from '@0xsequence/wallet-core';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -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,GACV,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,0BAA0B,GAC3B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC9E,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,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACtH,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,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"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { DappClient } from './DappClient.js';
2
- export { RequestActionType, TransportMode } from './types/index.js';
2
+ export { RequestActionType, TransportMode, MessageType } from './types/index.js';
3
3
  export { FeeOptionError, TransactionError, AddExplicitSessionError, ConnectionError, InitializationError, SigningError, ModifyExplicitSessionError, } from './utils/errors.js';
4
- export { getExplorerUrl, jsonReplacers, jsonRevivers } from './utils/index.js';
4
+ export { createExplicitSessionConfig, getExplorerUrl, getNetwork, getRelayerUrl, getRpcUrl, jsonReplacers, jsonRevivers, VALUE_FORWARDER_ADDRESS, } from './utils/index.js';
5
5
  export { WebStorage } from './utils/storage.js';
6
- export { Attestation, Permission, Extensions, SessionConfig, Constants, Payload } from '@0xsequence/wallet-primitives';
6
+ export { Attestation, Permission, Extensions, SessionConfig, Constants, Payload, Network, } from '@0xsequence/wallet-primitives';
7
7
  export { Signers, Wallet, Utils, Envelope, State } from '@0xsequence/wallet-core';
@@ -15,7 +15,7 @@ export declare const RequestActionType: {
15
15
  readonly SIGN_TYPED_DATA: "signTypedData";
16
16
  readonly SEND_WALLET_TRANSACTION: "sendWalletTransaction";
17
17
  };
18
- export type LoginMethod = 'google' | 'apple' | 'email' | 'passkey' | 'mnemonic';
18
+ export type LoginMethod = 'google' | 'apple' | 'email' | 'passkey' | 'mnemonic' | 'eoa';
19
19
  export interface GuardConfig {
20
20
  url: string;
21
21
  moduleAddresses: Map<Address.Address, Address.Address>;
@@ -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":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAI7C,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;AACvC,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;AACzC,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAA;AACjE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAA;AAErD,eAAO,MAAM,iBAAiB;;;;;;;CAOpB,CAAA;AAEV,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,KAAK,CAAA;AAEvF,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CACvD;AAID,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,oBAAoB,CAAC,EAAE,WAAW,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,eAAe,CAAA;IACxB,oBAAoB,CAAC,EAAE,WAAW,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,4BAA4B;IAC3C,aAAa,EAAE,OAAO,CAAC,OAAO,CAAA;IAC9B,OAAO,EAAE,eAAe,CAAA;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACxB,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,OAAO,CAAC,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC,WAAW,CAAA;IACrC,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,EAAE,GAAG,CAAC,GAAG,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG,6BAA6B,CAAA;AAEpF,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;CACvB;AAID,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEjE,KAAK,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAA;AAE3C,MAAM,MAAM,WAAW,GAErB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,GAE9B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAA;AAI7C,MAAM,MAAM,4BAA4B,GAAG,CAAC,IAAI,EAAE;IAChD,MAAM,EAAE,CAAC,OAAO,iBAAiB,CAAC,CAAC,sBAAsB,GAAG,yBAAyB,CAAC,CAAA;IACtF,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,KAAK,CAAC,EAAE,GAAG,CAAA;CACZ,KAAK,IAAI,CAAA;AAGV,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAA;AAE1D,MAAM,MAAM,mCAAmC,GAAG,CAAC,IAAI,EAAE;IACvD,MAAM,EAAE,CAAC,OAAO,iBAAiB,CAAC,CAAC,cAAc,GAAG,iBAAiB,GAAG,yBAAyB,CAAC,CAAA;IAClG,QAAQ,CAAC,EAAE,oBAAoB,CAAA;IAC/B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB,KAAK,IAAI,CAAA;AAEV,MAAM,MAAM,sCAAsC,GAAG,CAAC,IAAI,EAAE;IAC1D,MAAM,EAAE,CAAC,OAAO,iBAAiB,CAAC,CAAC,sBAAsB,GAAG,yBAAyB,CAAC,CAAA;IACtF,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB,KAAK,IAAI,CAAA;AAIV,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC5D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9C;AAED,oBAAY,WAAW;IACrB,aAAa,kBAAkB;IAC/B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED,oBAAY,aAAa;IACvB,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,GAAG;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,CAAC,EAAE,GAAG,CAAA;CACZ;AAED,eAAO,MAAM,UAAU;;;CAGtB,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;IAC/B,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AACD,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,OAAO,CAAA;IACtB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;CACjC,CAAA"}
@@ -1,11 +1,29 @@
1
- import { Network } from '@0xsequence/wallet-primitives';
1
+ import type { ExplicitSessionConfig } from '@0xsequence/wallet-core';
2
+ import { Network, Permission } from '@0xsequence/wallet-primitives';
3
+ import { type Address } from 'ox';
4
+ export { VALUE_FORWARDER_ADDRESS } from './constants.js';
2
5
  type JsonReplacer = (key: string, value: any) => any;
3
6
  type JsonReviver = (key: string, value: any) => any;
4
7
  export declare const jsonRevivers: JsonReviver;
5
8
  export declare const jsonReplacers: JsonReplacer;
9
+ export type SessionDuration = {
10
+ days?: number;
11
+ hours?: number;
12
+ minutes?: number;
13
+ };
14
+ export type NativeTokenSpending = {
15
+ valueLimit: bigint;
16
+ allowedRecipients?: Address.Address[];
17
+ };
18
+ export type ExplicitSessionParams = {
19
+ chainId: number;
20
+ expiresIn: SessionDuration;
21
+ permissions: Permission.Permission[];
22
+ nativeTokenSpending?: NativeTokenSpending;
23
+ };
24
+ export declare const createExplicitSessionConfig: (params: ExplicitSessionParams) => ExplicitSessionConfig;
6
25
  export declare const getNetwork: (chainId: Network.ChainId | bigint | number) => Network.Network;
7
26
  export declare const getRpcUrl: (chainId: Network.ChainId | bigint | number, nodesUrl: string, projectAccessKey: string) => string;
8
27
  export declare const getRelayerUrl: (chainId: Network.ChainId | bigint | number, relayerUrl: string) => string;
9
28
  export declare const getExplorerUrl: (chainId: Network.ChainId | bigint | number, txHash: string) => string;
10
- export {};
11
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAGvD,KAAK,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;AACpD,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;AAsHnD,eAAO,MAAM,YAAY,aAAgE,CAAA;AACzF,eAAO,MAAM,aAAa,cAAoE,CAAA;AAuB9F,eAAO,MAAM,UAAU,GAAI,SAAS,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,oBAQpE,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,SAAS,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,UAAU,MAAM,EAAE,kBAAkB,MAAM,WAU/G,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,SAAS,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,YAAY,MAAM,WAM3F,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,QAAQ,MAAM,WAQxF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,IAAI,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAExD,KAAK,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;AACpD,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;AAsHnD,eAAO,MAAM,YAAY,aAAgE,CAAA;AACzF,eAAO,MAAM,aAAa,cAAoE,CAAA;AAE9F,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,eAAe,CAAA;IAC1B,WAAW,EAAE,UAAU,CAAC,UAAU,EAAE,CAAA;IACpC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAI,QAAQ,qBAAqB,KAAG,qBAwB3E,CAAA;AAuBD,eAAO,MAAM,UAAU,GAAI,SAAS,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,oBAQpE,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,SAAS,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,UAAU,MAAM,EAAE,kBAAkB,MAAM,WAU/G,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,SAAS,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,YAAY,MAAM,WAM3F,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,QAAQ,MAAM,WAQxF,CAAA"}
@@ -1,6 +1,6 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
1
  import { Network } from '@0xsequence/wallet-primitives';
3
2
  import { Bytes, Hex } from 'ox';
3
+ export { VALUE_FORWARDER_ADDRESS } from './constants.js';
4
4
  /**
5
5
  * Creates a single JSON replacer by chaining multiple replacers.
6
6
  * The first replacer to transform a value wins.
@@ -114,6 +114,28 @@ const uint8ArrayReviver = (key, value) => {
114
114
  };
115
115
  export const jsonRevivers = chainRevivers([mapReviver, bigIntReviver, uint8ArrayReviver]);
116
116
  export const jsonReplacers = chainReplacers([mapReplacer, bigIntReplacer, uint8ArrayReplacer]);
117
+ export const createExplicitSessionConfig = (params) => {
118
+ const nowInSeconds = BigInt(Math.floor(Date.now() / 1000));
119
+ const { days = 0, hours = 0, minutes = 0 } = params.expiresIn;
120
+ const sessionLifetimeSeconds = days * 24 * 60 * 60 + hours * 60 * 60 + minutes * 60;
121
+ const deadline = nowInSeconds + BigInt(sessionLifetimeSeconds);
122
+ if (params.permissions.length === 0) {
123
+ throw new Error('createExplicitSessionConfig: At least one permission is required.');
124
+ }
125
+ const nativeTokenSpending = params.nativeTokenSpending;
126
+ const valueLimit = nativeTokenSpending?.valueLimit ?? 0n;
127
+ const nativeTokenReceivers = [...(nativeTokenSpending?.allowedRecipients || [])];
128
+ const nativeTokenSpendingPermissions = nativeTokenReceivers.map((receiver) => ({
129
+ target: receiver,
130
+ rules: [],
131
+ }));
132
+ return {
133
+ chainId: params.chainId,
134
+ valueLimit,
135
+ deadline,
136
+ permissions: [...params.permissions, ...nativeTokenSpendingPermissions],
137
+ };
138
+ };
117
139
  /**
118
140
  * Apply a template to a string.
119
141
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xsequence/dapp-client",
3
- "version": "3.0.0-beta.1",
3
+ "version": "3.0.0-beta.10",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -14,21 +14,21 @@
14
14
  }
15
15
  },
16
16
  "devDependencies": {
17
- "@types/node": "^22.15.29",
18
- "@vitest/coverage-v8": "^3.2.4",
19
- "dotenv": "^16.5.0",
20
- "fake-indexeddb": "^6.0.1",
21
- "happy-dom": "^17.2.2",
22
- "typescript": "^5.8.3",
23
- "vitest": "^3.2.1",
24
- "@repo/typescript-config": "^0.0.0"
17
+ "@types/node": "^25.0.2",
18
+ "@vitest/coverage-v8": "^4.0.15",
19
+ "dotenv": "^17.2.3",
20
+ "fake-indexeddb": "^6.2.5",
21
+ "happy-dom": "^20.0.11",
22
+ "typescript": "^5.9.3",
23
+ "vitest": "^4.0.15",
24
+ "@repo/typescript-config": "^0.0.1-beta.1"
25
25
  },
26
26
  "dependencies": {
27
- "ox": "^0.7.2",
28
- "@0xsequence/guard": "^3.0.0-beta.1",
29
- "@0xsequence/relayer": "^3.0.0-beta.1",
30
- "@0xsequence/wallet-primitives": "^3.0.0-beta.1",
31
- "@0xsequence/wallet-core": "^3.0.0-beta.1"
27
+ "ox": "^0.9.17",
28
+ "@0xsequence/guard": "^3.0.0-beta.10",
29
+ "@0xsequence/relayer": "^3.0.0-beta.10",
30
+ "@0xsequence/wallet-primitives": "^3.0.0-beta.10",
31
+ "@0xsequence/wallet-core": "^3.0.0-beta.10"
32
32
  },
33
33
  "scripts": {
34
34
  "build": "tsc",
@@ -222,7 +222,7 @@ export class ChainSessionManager {
222
222
  stateProvider: this.stateProvider,
223
223
  })
224
224
  this.sessionManager = new Signers.SessionManager(this.wallet, {
225
- sessionManagerAddress: Extensions.Rc4.sessions,
225
+ sessionManagerAddress: Extensions.Rc5.sessions,
226
226
  provider: this.provider!,
227
227
  })
228
228
  this.isInitialized = true
@@ -538,7 +538,7 @@ export class ChainSessionManager {
538
538
  const { userEmail, loginMethod, guard } = connectResponse
539
539
  const savedRequest = await this.sequenceStorage.peekPendingRequest()
540
540
  const savedPayload = savedRequest?.payload as CreateNewSessionPayload | undefined
541
- const explicitSessionRequested = !!savedPayload?.session
541
+ const explicitSessionRequested = (savedPayload?.session?.permissions?.length ?? 0) > 0
542
542
  const implicitSessionRequested = savedPayload?.includeImplicitSession ?? false
543
543
  const needsTempPk = explicitSessionRequested || implicitSessionRequested
544
544
  const tempPk = needsTempPk ? await this.sequenceStorage.getAndClearTempSessionPk() : null
@@ -731,7 +731,7 @@ export class ChainSessionManager {
731
731
  for (let attempt = 1; attempt <= maxRetries; attempt++) {
732
732
  try {
733
733
  const tempManager = new Signers.SessionManager(this.wallet, {
734
- sessionManagerAddress: Extensions.Rc4.sessions,
734
+ sessionManagerAddress: Extensions.Rc5.sessions,
735
735
  provider: this.provider,
736
736
  })
737
737
  const topology = await tempManager.getTopology()
package/src/index.ts CHANGED
@@ -23,8 +23,9 @@ export type {
23
23
  GetFeeTokensResponse,
24
24
  FeeToken,
25
25
  FeeOption,
26
+ TransportMessage,
26
27
  } from './types/index.js'
27
- export { RequestActionType, TransportMode } from './types/index.js'
28
+ export { RequestActionType, TransportMode, MessageType } from './types/index.js'
28
29
  export {
29
30
  FeeOptionError,
30
31
  TransactionError,
@@ -34,7 +35,17 @@ export {
34
35
  SigningError,
35
36
  ModifyExplicitSessionError,
36
37
  } from './utils/errors.js'
37
- export { getExplorerUrl, jsonReplacers, jsonRevivers } from './utils/index.js'
38
+ export {
39
+ createExplicitSessionConfig,
40
+ getExplorerUrl,
41
+ getNetwork,
42
+ getRelayerUrl,
43
+ getRpcUrl,
44
+ jsonReplacers,
45
+ jsonRevivers,
46
+ VALUE_FORWARDER_ADDRESS,
47
+ } from './utils/index.js'
48
+ export type { ExplicitSessionParams, NativeTokenSpending, SessionDuration } from './utils/index.js'
38
49
  export type {
39
50
  SequenceStorage,
40
51
  ExplicitSessionData,
@@ -45,6 +56,14 @@ export type {
45
56
  } from './utils/storage.js'
46
57
  export { WebStorage } from './utils/storage.js'
47
58
 
48
- export { Attestation, Permission, Extensions, SessionConfig, Constants, Payload } from '@0xsequence/wallet-primitives'
59
+ export {
60
+ Attestation,
61
+ Permission,
62
+ Extensions,
63
+ SessionConfig,
64
+ Constants,
65
+ Payload,
66
+ Network,
67
+ } from '@0xsequence/wallet-primitives'
49
68
  export type { ExplicitSessionConfig, ExplicitSession, ImplicitSession, Session } from '@0xsequence/wallet-core'
50
69
  export { Signers, Wallet, Utils, Envelope, State } from '@0xsequence/wallet-core'
@@ -21,7 +21,7 @@ export const RequestActionType = {
21
21
  SEND_WALLET_TRANSACTION: 'sendWalletTransaction',
22
22
  } as const
23
23
 
24
- export type LoginMethod = 'google' | 'apple' | 'email' | 'passkey' | 'mnemonic'
24
+ export type LoginMethod = 'google' | 'apple' | 'email' | 'passkey' | 'mnemonic' | 'eoa'
25
25
 
26
26
  export interface GuardConfig {
27
27
  url: string
@@ -1,6 +1,8 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { Network } from '@0xsequence/wallet-primitives'
3
- import { Bytes, Hex } from 'ox'
2
+ import type { ExplicitSessionConfig } from '@0xsequence/wallet-core'
3
+ import { Network, Permission } from '@0xsequence/wallet-primitives'
4
+ import { Bytes, Hex, type Address } from 'ox'
5
+ export { VALUE_FORWARDER_ADDRESS } from './constants.js'
4
6
 
5
7
  type JsonReplacer = (key: string, value: any) => any
6
8
  type JsonReviver = (key: string, value: any) => any
@@ -124,6 +126,50 @@ const uint8ArrayReviver: JsonReviver = (key, value) => {
124
126
  export const jsonRevivers = chainRevivers([mapReviver, bigIntReviver, uint8ArrayReviver])
125
127
  export const jsonReplacers = chainReplacers([mapReplacer, bigIntReplacer, uint8ArrayReplacer])
126
128
 
129
+ export type SessionDuration = {
130
+ days?: number
131
+ hours?: number
132
+ minutes?: number
133
+ }
134
+
135
+ export type NativeTokenSpending = {
136
+ valueLimit: bigint
137
+ allowedRecipients?: Address.Address[]
138
+ }
139
+
140
+ export type ExplicitSessionParams = {
141
+ chainId: number
142
+ expiresIn: SessionDuration
143
+ permissions: Permission.Permission[]
144
+ nativeTokenSpending?: NativeTokenSpending
145
+ }
146
+
147
+ export const createExplicitSessionConfig = (params: ExplicitSessionParams): ExplicitSessionConfig => {
148
+ const nowInSeconds = BigInt(Math.floor(Date.now() / 1000))
149
+ const { days = 0, hours = 0, minutes = 0 } = params.expiresIn
150
+ const sessionLifetimeSeconds = days * 24 * 60 * 60 + hours * 60 * 60 + minutes * 60
151
+ const deadline = nowInSeconds + BigInt(sessionLifetimeSeconds)
152
+
153
+ if (params.permissions.length === 0) {
154
+ throw new Error('createExplicitSessionConfig: At least one permission is required.')
155
+ }
156
+
157
+ const nativeTokenSpending = params.nativeTokenSpending
158
+ const valueLimit = nativeTokenSpending?.valueLimit ?? 0n
159
+ const nativeTokenReceivers = [...(nativeTokenSpending?.allowedRecipients || [])]
160
+ const nativeTokenSpendingPermissions = nativeTokenReceivers.map((receiver) => ({
161
+ target: receiver,
162
+ rules: [],
163
+ }))
164
+
165
+ return {
166
+ chainId: params.chainId,
167
+ valueLimit,
168
+ deadline,
169
+ permissions: [...params.permissions, ...nativeTokenSpendingPermissions],
170
+ }
171
+ }
172
+
127
173
  /**
128
174
  * Apply a template to a string.
129
175
  *