@0xsequence/wallet-wdk 0.0.0-20250520201059

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.
Files changed (173) hide show
  1. package/.env.test +3 -0
  2. package/.turbo/turbo-build.log +5 -0
  3. package/CHANGELOG.md +11 -0
  4. package/LICENSE +202 -0
  5. package/dist/dbs/auth-commitments.d.ts +17 -0
  6. package/dist/dbs/auth-commitments.d.ts.map +1 -0
  7. package/dist/dbs/auth-commitments.js +13 -0
  8. package/dist/dbs/auth-keys.d.ts +19 -0
  9. package/dist/dbs/auth-keys.d.ts.map +1 -0
  10. package/dist/dbs/auth-keys.js +67 -0
  11. package/dist/dbs/generic.d.ts +33 -0
  12. package/dist/dbs/generic.d.ts.map +1 -0
  13. package/dist/dbs/generic.js +170 -0
  14. package/dist/dbs/index.d.ts +12 -0
  15. package/dist/dbs/index.d.ts.map +1 -0
  16. package/dist/dbs/index.js +8 -0
  17. package/dist/dbs/messages.d.ts +6 -0
  18. package/dist/dbs/messages.d.ts.map +1 -0
  19. package/dist/dbs/messages.js +13 -0
  20. package/dist/dbs/recovery.d.ts +6 -0
  21. package/dist/dbs/recovery.d.ts.map +1 -0
  22. package/dist/dbs/recovery.js +13 -0
  23. package/dist/dbs/signatures.d.ts +6 -0
  24. package/dist/dbs/signatures.d.ts.map +1 -0
  25. package/dist/dbs/signatures.js +13 -0
  26. package/dist/dbs/transactions.d.ts +6 -0
  27. package/dist/dbs/transactions.d.ts.map +1 -0
  28. package/dist/dbs/transactions.js +13 -0
  29. package/dist/dbs/wallets.d.ts +6 -0
  30. package/dist/dbs/wallets.d.ts.map +1 -0
  31. package/dist/dbs/wallets.js +13 -0
  32. package/dist/identity/signer.d.ts +17 -0
  33. package/dist/identity/signer.d.ts.map +1 -0
  34. package/dist/identity/signer.js +58 -0
  35. package/dist/index.d.ts +3 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +2 -0
  38. package/dist/sequence/cron.d.ts +19 -0
  39. package/dist/sequence/cron.d.ts.map +1 -0
  40. package/dist/sequence/cron.js +118 -0
  41. package/dist/sequence/devices.d.ts +14 -0
  42. package/dist/sequence/devices.d.ts.map +1 -0
  43. package/dist/sequence/devices.js +43 -0
  44. package/dist/sequence/handlers/authcode-pkce.d.ts +14 -0
  45. package/dist/sequence/handlers/authcode-pkce.d.ts.map +1 -0
  46. package/dist/sequence/handlers/authcode-pkce.js +48 -0
  47. package/dist/sequence/handlers/authcode.d.ts +25 -0
  48. package/dist/sequence/handlers/authcode.d.ts.map +1 -0
  49. package/dist/sequence/handlers/authcode.js +91 -0
  50. package/dist/sequence/handlers/devices.d.ts +14 -0
  51. package/dist/sequence/handlers/devices.d.ts.map +1 -0
  52. package/dist/sequence/handlers/devices.js +39 -0
  53. package/dist/sequence/handlers/handler.d.ts +8 -0
  54. package/dist/sequence/handlers/handler.d.ts.map +1 -0
  55. package/dist/sequence/handlers/handler.js +1 -0
  56. package/dist/sequence/handlers/identity.d.ts +21 -0
  57. package/dist/sequence/handlers/identity.d.ts.map +1 -0
  58. package/dist/sequence/handlers/identity.js +86 -0
  59. package/dist/sequence/handlers/index.d.ts +7 -0
  60. package/dist/sequence/handlers/index.d.ts.map +1 -0
  61. package/dist/sequence/handlers/index.js +5 -0
  62. package/dist/sequence/handlers/mnemonic.d.ts +19 -0
  63. package/dist/sequence/handlers/mnemonic.d.ts.map +1 -0
  64. package/dist/sequence/handlers/mnemonic.js +67 -0
  65. package/dist/sequence/handlers/otp.d.ts +20 -0
  66. package/dist/sequence/handlers/otp.d.ts.map +1 -0
  67. package/dist/sequence/handlers/otp.js +83 -0
  68. package/dist/sequence/handlers/passkeys.d.ts +17 -0
  69. package/dist/sequence/handlers/passkeys.d.ts.map +1 -0
  70. package/dist/sequence/handlers/passkeys.js +63 -0
  71. package/dist/sequence/handlers/recovery.d.ts +15 -0
  72. package/dist/sequence/handlers/recovery.d.ts.map +1 -0
  73. package/dist/sequence/handlers/recovery.js +72 -0
  74. package/dist/sequence/index.d.ts +12 -0
  75. package/dist/sequence/index.d.ts.map +1 -0
  76. package/dist/sequence/index.js +9 -0
  77. package/dist/sequence/logger.d.ts +7 -0
  78. package/dist/sequence/logger.d.ts.map +1 -0
  79. package/dist/sequence/logger.js +11 -0
  80. package/dist/sequence/manager.d.ts +287 -0
  81. package/dist/sequence/manager.d.ts.map +1 -0
  82. package/dist/sequence/manager.js +356 -0
  83. package/dist/sequence/messages.d.ts +18 -0
  84. package/dist/sequence/messages.d.ts.map +1 -0
  85. package/dist/sequence/messages.js +115 -0
  86. package/dist/sequence/recovery.d.ts +30 -0
  87. package/dist/sequence/recovery.d.ts.map +1 -0
  88. package/dist/sequence/recovery.js +314 -0
  89. package/dist/sequence/sessions.d.ts +26 -0
  90. package/dist/sequence/sessions.d.ts.map +1 -0
  91. package/dist/sequence/sessions.js +169 -0
  92. package/dist/sequence/signatures.d.ts +21 -0
  93. package/dist/sequence/signatures.d.ts.map +1 -0
  94. package/dist/sequence/signatures.js +192 -0
  95. package/dist/sequence/signers.d.ts +14 -0
  96. package/dist/sequence/signers.d.ts.map +1 -0
  97. package/dist/sequence/signers.js +74 -0
  98. package/dist/sequence/transactions.d.ts +26 -0
  99. package/dist/sequence/transactions.d.ts.map +1 -0
  100. package/dist/sequence/transactions.js +201 -0
  101. package/dist/sequence/types/index.d.ts +9 -0
  102. package/dist/sequence/types/index.d.ts.map +1 -0
  103. package/dist/sequence/types/index.js +2 -0
  104. package/dist/sequence/types/message-request.d.ts +23 -0
  105. package/dist/sequence/types/message-request.d.ts.map +1 -0
  106. package/dist/sequence/types/message-request.js +1 -0
  107. package/dist/sequence/types/recovery.d.ts +15 -0
  108. package/dist/sequence/types/recovery.d.ts.map +1 -0
  109. package/dist/sequence/types/recovery.js +1 -0
  110. package/dist/sequence/types/signature-request.d.ts +76 -0
  111. package/dist/sequence/types/signature-request.d.ts.map +1 -0
  112. package/dist/sequence/types/signature-request.js +11 -0
  113. package/dist/sequence/types/signer.d.ts +28 -0
  114. package/dist/sequence/types/signer.d.ts.map +1 -0
  115. package/dist/sequence/types/signer.js +10 -0
  116. package/dist/sequence/types/transaction-request.d.ts +41 -0
  117. package/dist/sequence/types/transaction-request.d.ts.map +1 -0
  118. package/dist/sequence/types/transaction-request.js +1 -0
  119. package/dist/sequence/types/wallet.d.ts +21 -0
  120. package/dist/sequence/types/wallet.d.ts.map +1 -0
  121. package/dist/sequence/types/wallet.js +1 -0
  122. package/dist/sequence/wallets.d.ts +121 -0
  123. package/dist/sequence/wallets.d.ts.map +1 -0
  124. package/dist/sequence/wallets.js +632 -0
  125. package/package.json +40 -0
  126. package/src/dbs/auth-commitments.ts +26 -0
  127. package/src/dbs/auth-keys.ts +85 -0
  128. package/src/dbs/generic.ts +194 -0
  129. package/src/dbs/index.ts +13 -0
  130. package/src/dbs/messages.ts +16 -0
  131. package/src/dbs/recovery.ts +15 -0
  132. package/src/dbs/signatures.ts +15 -0
  133. package/src/dbs/transactions.ts +16 -0
  134. package/src/dbs/wallets.ts +16 -0
  135. package/src/identity/signer.ts +78 -0
  136. package/src/index.ts +2 -0
  137. package/src/sequence/cron.ts +134 -0
  138. package/src/sequence/devices.ts +53 -0
  139. package/src/sequence/handlers/authcode-pkce.ts +70 -0
  140. package/src/sequence/handlers/authcode.ts +116 -0
  141. package/src/sequence/handlers/devices.ts +53 -0
  142. package/src/sequence/handlers/handler.ts +14 -0
  143. package/src/sequence/handlers/identity.ts +101 -0
  144. package/src/sequence/handlers/index.ts +6 -0
  145. package/src/sequence/handlers/mnemonic.ts +88 -0
  146. package/src/sequence/handlers/otp.ts +107 -0
  147. package/src/sequence/handlers/passkeys.ts +84 -0
  148. package/src/sequence/handlers/recovery.ts +88 -0
  149. package/src/sequence/index.ts +25 -0
  150. package/src/sequence/logger.ts +11 -0
  151. package/src/sequence/manager.ts +634 -0
  152. package/src/sequence/messages.ts +146 -0
  153. package/src/sequence/recovery.ts +429 -0
  154. package/src/sequence/sessions.ts +238 -0
  155. package/src/sequence/signatures.ts +263 -0
  156. package/src/sequence/signers.ts +88 -0
  157. package/src/sequence/transactions.ts +281 -0
  158. package/src/sequence/types/index.ts +27 -0
  159. package/src/sequence/types/message-request.ts +26 -0
  160. package/src/sequence/types/recovery.ts +15 -0
  161. package/src/sequence/types/signature-request.ts +89 -0
  162. package/src/sequence/types/signer.ts +32 -0
  163. package/src/sequence/types/transaction-request.ts +47 -0
  164. package/src/sequence/types/wallet.ts +24 -0
  165. package/src/sequence/wallets.ts +853 -0
  166. package/test/constants.ts +62 -0
  167. package/test/recovery.test.ts +211 -0
  168. package/test/sessions.test.ts +324 -0
  169. package/test/setup.ts +63 -0
  170. package/test/transactions.test.ts +464 -0
  171. package/test/wallets.test.ts +381 -0
  172. package/tsconfig.json +10 -0
  173. package/vitest.config.ts +11 -0
@@ -0,0 +1,287 @@
1
+ import { Signers as CoreSigners, Relayer, State } from '@0xsequence/wallet-core';
2
+ import { Attestation, Config, Context, Extensions, Network, Payload, Signature as SequenceSignature, SessionConfig } from '@0xsequence/wallet-primitives';
3
+ import { Address } from 'ox';
4
+ import * as Db from '../dbs/index.js';
5
+ import { Cron } from './cron.js';
6
+ import { Devices } from './devices.js';
7
+ import { Handler } from './handlers/index.js';
8
+ import { Logger } from './logger.js';
9
+ import { Messages } from './messages.js';
10
+ import { Recovery } from './recovery.js';
11
+ import { AuthorizeImplicitSessionArgs, Sessions } from './sessions.js';
12
+ import { Signatures } from './signatures.js';
13
+ import { Signers } from './signers.js';
14
+ import { Transactions } from './transactions.js';
15
+ import { BaseSignatureRequest, QueuedRecoveryPayload, SignatureRequest, Wallet } from './types/index.js';
16
+ import { Message, MessageRequest } from './types/message-request.js';
17
+ import { RecoverySigner } from './types/signer.js';
18
+ import { Transaction, TransactionRequest } from './types/transaction-request.js';
19
+ import { WalletSelectionUiHandler } from './types/wallet.js';
20
+ import { CompleteRedirectArgs, LoginArgs, SignupArgs, StartSignUpWithRedirectArgs, Wallets } from './wallets.js';
21
+ export type ManagerOptions = {
22
+ verbose?: boolean;
23
+ extensions?: Extensions.Extensions;
24
+ context?: Context.Context;
25
+ guest?: Address.Address;
26
+ encryptedPksDb?: CoreSigners.Pk.Encrypted.EncryptedPksDb;
27
+ managerDb?: Db.Wallets;
28
+ transactionsDb?: Db.Transactions;
29
+ signaturesDb?: Db.Signatures;
30
+ messagesDb?: Db.Messages;
31
+ authCommitmentsDb?: Db.AuthCommitments;
32
+ authKeysDb?: Db.AuthKeys;
33
+ recoveryDb?: Db.Recovery;
34
+ dbPruningInterval?: number;
35
+ stateProvider?: State.Provider;
36
+ networks?: Network.Network[];
37
+ relayers?: Relayer.Relayer[] | (() => Relayer.Relayer[]);
38
+ defaultGuardTopology?: Config.Topology;
39
+ defaultRecoverySettings?: RecoverySettings;
40
+ identity?: {
41
+ url?: string;
42
+ fetch?: typeof window.fetch;
43
+ verifyAttestation?: boolean;
44
+ expectedPcr0?: string[];
45
+ email?: {
46
+ enabled: boolean;
47
+ };
48
+ google?: {
49
+ enabled: boolean;
50
+ clientId: string;
51
+ };
52
+ apple?: {
53
+ enabled: boolean;
54
+ clientId: string;
55
+ };
56
+ };
57
+ };
58
+ export declare const ManagerOptionsDefaults: {
59
+ verbose: boolean;
60
+ extensions: Extensions.Extensions;
61
+ context: Context.Context;
62
+ guest: `0x${string}`;
63
+ encryptedPksDb: CoreSigners.Pk.Encrypted.EncryptedPksDb;
64
+ managerDb: Db.Wallets;
65
+ signaturesDb: Db.Signatures;
66
+ transactionsDb: Db.Transactions;
67
+ messagesDb: Db.Messages;
68
+ authCommitmentsDb: Db.AuthCommitments;
69
+ recoveryDb: Db.Recovery;
70
+ authKeysDb: Db.AuthKeys;
71
+ dbPruningInterval: number;
72
+ stateProvider: State.Local.Provider;
73
+ networks: Network.Network[];
74
+ relayers: () => Relayer.Local.LocalRelayer[];
75
+ defaultGuardTopology: Config.SignerLeaf;
76
+ defaultSessionsTopology: Omit<Config.SapientSignerLeaf, "imageHash">;
77
+ defaultRecoverySettings: {
78
+ requiredDeltaTime: bigint;
79
+ minTimestamp: bigint;
80
+ };
81
+ identity: {
82
+ url: string;
83
+ fetch: ((input: RequestInfo | URL, init?: RequestInit) => Promise<Response>) & typeof fetch;
84
+ verifyAttestation: boolean;
85
+ email: {
86
+ enabled: boolean;
87
+ };
88
+ google: {
89
+ enabled: boolean;
90
+ clientId: string;
91
+ };
92
+ apple: {
93
+ enabled: boolean;
94
+ clientId: string;
95
+ };
96
+ };
97
+ };
98
+ export declare const CreateWalletOptionsDefaults: {
99
+ useGuard: boolean;
100
+ };
101
+ export declare function applyManagerOptionsDefaults(options?: ManagerOptions): {
102
+ identity: {
103
+ url: string;
104
+ fetch: typeof window.fetch;
105
+ verifyAttestation: boolean;
106
+ expectedPcr0?: string[];
107
+ email: {
108
+ enabled: boolean;
109
+ };
110
+ google: {
111
+ enabled: boolean;
112
+ clientId: string;
113
+ };
114
+ apple: {
115
+ enabled: boolean;
116
+ clientId: string;
117
+ };
118
+ };
119
+ verbose: boolean;
120
+ extensions: Extensions.Extensions;
121
+ context: Context.Context;
122
+ guest: Address.Address;
123
+ encryptedPksDb: CoreSigners.Pk.Encrypted.EncryptedPksDb;
124
+ managerDb: Db.Wallets;
125
+ transactionsDb: Db.Transactions;
126
+ signaturesDb: Db.Signatures;
127
+ messagesDb: Db.Messages;
128
+ authCommitmentsDb: Db.AuthCommitments;
129
+ authKeysDb: Db.AuthKeys;
130
+ recoveryDb: Db.Recovery;
131
+ dbPruningInterval: number;
132
+ stateProvider: State.Provider;
133
+ networks: Network.Network[];
134
+ relayers: (() => Relayer.Local.LocalRelayer[]) | Relayer.Relayer[] | (() => Relayer.Relayer[]);
135
+ defaultGuardTopology: Config.Topology;
136
+ defaultRecoverySettings: RecoverySettings;
137
+ defaultSessionsTopology: Omit<Config.SapientSignerLeaf, "imageHash">;
138
+ };
139
+ export type RecoverySettings = {
140
+ requiredDeltaTime: bigint;
141
+ minTimestamp: bigint;
142
+ };
143
+ export type Databases = {
144
+ readonly encryptedPks: CoreSigners.Pk.Encrypted.EncryptedPksDb;
145
+ readonly manager: Db.Wallets;
146
+ readonly signatures: Db.Signatures;
147
+ readonly messages: Db.Messages;
148
+ readonly transactions: Db.Transactions;
149
+ readonly authCommitments: Db.AuthCommitments;
150
+ readonly authKeys: Db.AuthKeys;
151
+ readonly recovery: Db.Recovery;
152
+ readonly pruningInterval: number;
153
+ };
154
+ export type Sequence = {
155
+ readonly context: Context.Context;
156
+ readonly extensions: Extensions.Extensions;
157
+ readonly guest: Address.Address;
158
+ readonly stateProvider: State.Provider;
159
+ readonly networks: Network.Network[];
160
+ readonly relayers: Relayer.Relayer[];
161
+ readonly defaultGuardTopology: Config.Topology;
162
+ readonly defaultSessionsTopology: Omit<Config.SapientSignerLeaf, 'imageHash'>;
163
+ readonly defaultRecoverySettings: RecoverySettings;
164
+ };
165
+ export type Modules = {
166
+ readonly logger: Logger;
167
+ readonly devices: Devices;
168
+ readonly wallets: Wallets;
169
+ readonly sessions: Sessions;
170
+ readonly signers: Signers;
171
+ readonly signatures: Signatures;
172
+ readonly transactions: Transactions;
173
+ readonly messages: Messages;
174
+ readonly recovery: Recovery;
175
+ readonly cron: Cron;
176
+ };
177
+ export type Shared = {
178
+ readonly verbose: boolean;
179
+ readonly sequence: Sequence;
180
+ readonly databases: Databases;
181
+ readonly handlers: Map<string, Handler>;
182
+ modules: Modules;
183
+ };
184
+ export declare class Manager {
185
+ private readonly shared;
186
+ private readonly mnemonicHandler;
187
+ private readonly devicesHandler;
188
+ private readonly passkeysHandler;
189
+ private readonly recoveryHandler;
190
+ private readonly otpHandler?;
191
+ constructor(options?: ManagerOptions);
192
+ startSignUpWithRedirect(args: StartSignUpWithRedirectArgs): Promise<string>;
193
+ completeRedirect(args: CompleteRedirectArgs): Promise<string>;
194
+ signUp(options: SignupArgs): Promise<`0x${string}` | undefined>;
195
+ logout(wallet: Address.Address, options?: {
196
+ skipRemoveDevice?: boolean;
197
+ }): Promise<string>;
198
+ completeLogout(requestId: string, options?: {
199
+ skipValidateSave?: boolean;
200
+ }): Promise<void>;
201
+ login(args: LoginArgs): Promise<string | undefined>;
202
+ completeLogin(requestId: string): Promise<void>;
203
+ listWallets(): Promise<Wallet[]>;
204
+ hasWallet(address: Address.Address): Promise<boolean>;
205
+ onWalletsUpdate(cb: (wallets: Wallet[]) => void, trigger?: boolean): () => void;
206
+ registerWalletSelector(handler: WalletSelectionUiHandler): () => void;
207
+ unregisterWalletSelector(handler?: WalletSelectionUiHandler): void;
208
+ getConfiguration(wallet: Address.Address): Promise<{
209
+ devices: import("./types/signer.js").SignerWithKind[];
210
+ login: import("./types/signer.js").SignerWithKind[];
211
+ raw: {
212
+ loginTopology: Config.Topology;
213
+ devicesTopology: Config.Topology;
214
+ modules: Config.SapientSignerLeaf[];
215
+ guardTopology?: Config.Topology;
216
+ };
217
+ }>;
218
+ getOnchainConfiguration(wallet: Address.Address, chainId: bigint): Promise<{
219
+ devices: import("./types/signer.js").SignerWithKind[];
220
+ login: import("./types/signer.js").SignerWithKind[];
221
+ raw: {
222
+ loginTopology: Config.Topology;
223
+ devicesTopology: Config.Topology;
224
+ modules: Config.SapientSignerLeaf[];
225
+ guardTopology?: Config.Topology;
226
+ };
227
+ }>;
228
+ isUpdatedOnchain(wallet: Address.Address, chainId: bigint): Promise<boolean>;
229
+ listSignatureRequests(): Promise<SignatureRequest[]>;
230
+ getSignatureRequest(requestId: string): Promise<SignatureRequest>;
231
+ onSignatureRequestsUpdate(cb: (requests: BaseSignatureRequest[]) => void, trigger?: boolean): () => void;
232
+ onSignatureRequestUpdate(requestId: string, cb: (requests: SignatureRequest) => void, onError?: (error: Error) => void, trigger?: boolean): () => void;
233
+ cancelSignatureRequest(requestId: string): Promise<void>;
234
+ requestTransaction(from: Address.Address, chainId: bigint, txs: TransactionRequest[], options?: {
235
+ skipDefineGas?: boolean;
236
+ source?: string;
237
+ noConfigUpdate?: boolean;
238
+ }): Promise<string>;
239
+ defineTransaction(transactionId: string, changes?: {
240
+ nonce?: bigint;
241
+ space?: bigint;
242
+ calls?: Pick<Payload.Call, 'gasLimit'>[];
243
+ }): Promise<void>;
244
+ selectTransactionRelayer(transactionId: string, relayerOptionId: string): Promise<string>;
245
+ relayTransaction(transactionOrSignatureId: string): Promise<`0x${string}`>;
246
+ deleteTransaction(transactionId: string): Promise<void>;
247
+ onTransactionsUpdate(cb: (transactions: Transaction[]) => void, trigger?: boolean): () => void;
248
+ onTransactionUpdate(transactionId: string, cb: (transaction: Transaction) => void, trigger?: boolean): () => void;
249
+ getTransaction(transactionId: string): Promise<Transaction>;
250
+ registerMnemonicUI(onPromptMnemonic: (respond: (mnemonic: string) => Promise<void>) => Promise<void>): () => void;
251
+ registerOtpUI(onPromptOtp: (recipient: string, respond: (otp: string) => Promise<void>) => Promise<void>): () => void;
252
+ setRedirectPrefix(prefix: string): Promise<void>;
253
+ listMessageRequests(): Promise<Message[]>;
254
+ getMessageRequest(messageOrSignatureId: string): Promise<Message>;
255
+ onMessageRequestsUpdate(cb: (messages: Message[]) => void, trigger?: boolean): () => void;
256
+ onMessageRequestUpdate(messageOrSignatureId: string, cb: (message: Message) => void, trigger?: boolean): () => void;
257
+ requestMessageSignature(wallet: Address.Address, message: MessageRequest, chainId?: bigint, options?: {
258
+ source?: string;
259
+ }): Promise<string>;
260
+ completedMessageSignature(messageOrSignatureId: string): Promise<string>;
261
+ deleteMessageRequest(messageOrSignatureId: string): Promise<void>;
262
+ getSessionTopology(walletAddress: Address.Address): Promise<SessionConfig.SessionsTopology>;
263
+ prepareAuthorizeImplicitSession(walletAddress: Address.Address, sessionAddress: Address.Address, args: AuthorizeImplicitSessionArgs): Promise<string>;
264
+ completeAuthorizeImplicitSession(requestId: string): Promise<{
265
+ attestation: Attestation.Attestation;
266
+ signature: SequenceSignature.RSY;
267
+ }>;
268
+ addExplicitSession(walletAddress: Address.Address, sessionAddress: Address.Address, permissions: CoreSigners.Session.ExplicitParams): Promise<string>;
269
+ removeExplicitSession(walletAddress: Address.Address, sessionAddress: Address.Address): Promise<string>;
270
+ addBlacklistAddress(walletAddress: Address.Address, address: Address.Address): Promise<string>;
271
+ removeBlacklistAddress(walletAddress: Address.Address, address: Address.Address): Promise<string>;
272
+ completeSessionUpdate(requestId: string): Promise<void>;
273
+ getRecoverySigners(wallet: Address.Address): Promise<RecoverySigner[] | undefined>;
274
+ onQueuedRecoveryPayloadsUpdate(wallet: Address.Address, cb: (payloads: QueuedRecoveryPayload[]) => void, trigger?: boolean): () => void;
275
+ queueRecoveryPayload(wallet: Address.Address, chainId: bigint, payload: Payload.Calls): Promise<string>;
276
+ completeRecoveryPayload(requestId: string): Promise<{
277
+ to: Address.Address;
278
+ data: import("ox/Hex").Hex;
279
+ }>;
280
+ addRecoveryMnemonic(wallet: Address.Address, mnemonic: string): Promise<string>;
281
+ addRecoverySigner(wallet: Address.Address, address: Address.Address): Promise<string>;
282
+ removeRecoverySigner(wallet: Address.Address, address: Address.Address): Promise<string>;
283
+ completeRecoveryUpdate(requestId: string): Promise<void>;
284
+ updateQueuedRecoveryPayloads(): Promise<void>;
285
+ stop(): Promise<void>;
286
+ }
287
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/sequence/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAIhF,OAAO,EACL,WAAW,EACX,MAAM,EAEN,OAAO,EACP,UAAU,EACV,OAAO,EACP,OAAO,EACP,SAAS,IAAI,iBAAiB,EAC9B,aAAa,EACd,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAGL,OAAO,EAIR,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACxG,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAS,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,UAAU,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEhH,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAA;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;IAEvB,cAAc,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,CAAA;IACxD,SAAS,CAAC,EAAE,EAAE,CAAC,OAAO,CAAA;IACtB,cAAc,CAAC,EAAE,EAAE,CAAC,YAAY,CAAA;IAChC,YAAY,CAAC,EAAE,EAAE,CAAC,UAAU,CAAA;IAC5B,UAAU,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAA;IACxB,iBAAiB,CAAC,EAAE,EAAE,CAAC,eAAe,CAAA;IACtC,UAAU,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAA;IACxB,UAAU,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAA;IAExB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B,aAAa,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAExD,oBAAoB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;IACtC,uBAAuB,CAAC,EAAE,gBAAgB,CAAA;IAE1C,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,OAAO,MAAM,CAAC,KAAK,CAAA;QAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;QAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;QACvB,KAAK,CAAC,EAAE;YACN,OAAO,EAAE,OAAO,CAAA;SACjB,CAAA;QACD,MAAM,CAAC,EAAE;YACP,OAAO,EAAE,OAAO,CAAA;YAChB,QAAQ,EAAE,MAAM,CAAA;SACjB,CAAA;QACD,KAAK,CAAC,EAAE;YACN,OAAO,EAAE,OAAO,CAAA;YAChB,QAAQ,EAAE,MAAM,CAAA;SACjB,CAAA;KACF,CAAA;CACF,CAAA;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;0BA2B5B,MAAM,CAAC,UAAU;6BAOjB,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;CAwBjD,CAAA;AAED,eAAO,MAAM,2BAA2B;;CAEvC,CAAA;AAED,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,cAAc;;aAlF1D,MAAM;eACJ,OAAO,MAAM,CAAC,KAAK;2BACP,OAAO;uBACZ,MAAM,EAAE;;;;;;;;;;;;;aA5Bf,OAAO;gBAEJ,UAAU,CAAC,UAAU;aACxB,OAAO,CAAC,OAAO;WACjB,OAAO,CAAC,OAAO;oBAEN,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc;eAC5C,EAAE,CAAC,OAAO;oBACL,EAAE,CAAC,YAAY;kBACjB,EAAE,CAAC,UAAU;gBACf,EAAE,CAAC,QAAQ;uBACJ,EAAE,CAAC,eAAe;gBACzB,EAAE,CAAC,QAAQ;gBACX,EAAE,CAAC,QAAQ;uBAEJ,MAAM;mBAEV,KAAK,CAAC,QAAQ;cACnB,OAAO,CAAC,OAAO,EAAE;gFACU,OAAO,CAAC,OAAO,EAAE;0BAEhC,MAAM,CAAC,QAAQ;6BACZ,gBAAgB;6BAuDrC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC;EAoCjD;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,CAAA;IAC9D,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAA;IAClC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAA;IACtC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAA;IAC5C,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAA;IAC9B,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAA;IAE9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAA;IAC1C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAA;IAE/B,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAA;IAEtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,CAAA;IAEpC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAA;IAC9C,QAAQ,CAAC,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAA;IAC7E,QAAQ,CAAC,uBAAuB,EAAE,gBAAgB,CAAA;CACnD,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAE7B,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEvC,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAE/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAEjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAY;gBAE5B,OAAO,CAAC,EAAE,cAAc;IAyHvB,uBAAuB,CAAC,IAAI,EAAE,2BAA2B;IAIzD,gBAAgB,CAAC,IAAI,EAAE,oBAAoB;IAI3C,MAAM,CAAC,OAAO,EAAE,UAAU;IAI1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE;IAIxE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE;IAI1E,KAAK,CAAC,IAAI,EAAE,SAAS;IAIrB,aAAa,CAAC,SAAS,EAAE,MAAM;IAI/B,WAAW;IAIX,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO;IAIxC,eAAe,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO;IAIlE,sBAAsB,CAAC,OAAO,EAAE,wBAAwB;IAIxD,wBAAwB,CAAC,OAAO,CAAC,EAAE,wBAAwB;IAIrD,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO;;;;;;;;;;IAIxC,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;IAIhE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM;IAMzD,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIpD,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIvE,yBAAyB,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO;IAI3F,wBAAwB,CAC7B,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,EACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,OAAO,CAAC,EAAE,OAAO;IAKN,sBAAsB,CAAC,SAAS,EAAE,MAAM;IAMxC,kBAAkB,CAC7B,IAAI,EAAE,OAAO,CAAC,OAAO,EACrB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,kBAAkB,EAAE,EACzB,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE;IAKrE,iBAAiB,CAC5B,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAA;KAAE;IAK3E,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAIvE,gBAAgB,CAAC,wBAAwB,EAAE,MAAM;IAIjD,iBAAiB,CAAC,aAAa,EAAE,MAAM;IAI7C,oBAAoB,CAAC,EAAE,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO;IAIjF,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO;IAIpG,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI3D,kBAAkB,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;IAIpG,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;IAIlG,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAUhC,mBAAmB;IAInB,iBAAiB,CAAC,oBAAoB,EAAE,MAAM;IAIpD,uBAAuB,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO;IAI5E,sBAAsB,CAAC,oBAAoB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO;IAIhG,uBAAuB,CAClC,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAKlB,yBAAyB,CAAC,oBAAoB,EAAE,MAAM;IAItD,oBAAoB,CAAC,oBAAoB,EAAE,MAAM;IAMjD,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC;IAI3F,+BAA+B,CAC1C,aAAa,EAAE,OAAO,CAAC,OAAO,EAC9B,cAAc,EAAE,OAAO,CAAC,OAAO,EAC/B,IAAI,EAAE,4BAA4B,GACjC,OAAO,CAAC,MAAM,CAAC;IAKL,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACxE,WAAW,EAAE,WAAW,CAAC,WAAW,CAAA;QACpC,SAAS,EAAE,iBAAiB,CAAC,GAAG,CAAA;KACjC,CAAC;IAIW,kBAAkB,CAC7B,aAAa,EAAE,OAAO,CAAC,OAAO,EAC9B,cAAc,EAAE,OAAO,CAAC,OAAO,EAC/B,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,cAAc,GAC9C,OAAO,CAAC,MAAM,CAAC;IAKL,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvG,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9F,sBAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjG,qBAAqB,CAAC,SAAS,EAAE,MAAM;IAMvC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC;IAIxF,8BAA8B,CACnC,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,EAAE,EAAE,CAAC,QAAQ,EAAE,qBAAqB,EAAE,KAAK,IAAI,EAC/C,OAAO,CAAC,EAAE,OAAO;IAKN,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK;IAIrF,uBAAuB,CAAC,SAAS,EAAE,MAAM;;;;IAIzC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM;IAI7D,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO;IAInE,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO;IAItE,sBAAsB,CAAC,SAAS,EAAE,MAAM;IAIxC,4BAA4B;IAM5B,IAAI;CAYlB"}
@@ -0,0 +1,356 @@
1
+ import { Signers as CoreSigners, Relayer, State } from '@0xsequence/wallet-core';
2
+ import { IdentityInstrument } from '@0xsequence/identity-instrument';
3
+ import { createAttestationVerifyingFetch } from '@0xsequence/tee-verifier';
4
+ import { Constants, Context, Extensions, Network, } from '@0xsequence/wallet-primitives';
5
+ import * as Db from '../dbs/index.js';
6
+ import { Cron } from './cron.js';
7
+ import { Devices } from './devices.js';
8
+ import { AuthCodeHandler } from './handlers/authcode.js';
9
+ import { AuthCodePkceHandler, DevicesHandler, MnemonicHandler, OtpHandler, PasskeysHandler, } from './handlers/index.js';
10
+ import { RecoveryHandler } from './handlers/recovery.js';
11
+ import { Logger } from './logger.js';
12
+ import { Messages } from './messages.js';
13
+ import { Recovery } from './recovery.js';
14
+ import { Sessions } from './sessions.js';
15
+ import { Signatures } from './signatures.js';
16
+ import { Signers } from './signers.js';
17
+ import { Transactions } from './transactions.js';
18
+ import { Kinds } from './types/signer.js';
19
+ import { Wallets } from './wallets.js';
20
+ export const ManagerOptionsDefaults = {
21
+ verbose: false,
22
+ extensions: Extensions.Dev1,
23
+ context: Context.Dev1,
24
+ guest: Constants.DefaultGuest,
25
+ encryptedPksDb: new CoreSigners.Pk.Encrypted.EncryptedPksDb(),
26
+ managerDb: new Db.Wallets(),
27
+ signaturesDb: new Db.Signatures(),
28
+ transactionsDb: new Db.Transactions(),
29
+ messagesDb: new Db.Messages(),
30
+ authCommitmentsDb: new Db.AuthCommitments(),
31
+ recoveryDb: new Db.Recovery(),
32
+ authKeysDb: new Db.AuthKeys(),
33
+ dbPruningInterval: 1000 * 60 * 60 * 24, // 24 hours
34
+ stateProvider: new State.Local.Provider(new State.Local.IndexedDbStore()),
35
+ networks: Network.All,
36
+ relayers: () => [Relayer.Local.LocalRelayer.createFromWindow(window)].filter((r) => r !== undefined),
37
+ defaultGuardTopology: {
38
+ // TODO: Move this somewhere else
39
+ type: 'signer',
40
+ address: '0xf71eC72C8C03a0857DD7601ACeF1e42b85983e99',
41
+ weight: 1n,
42
+ },
43
+ defaultSessionsTopology: {
44
+ // TODO: Move this somewhere else
45
+ type: 'sapient-signer',
46
+ address: Constants.DefaultSessionManager,
47
+ weight: 10n,
48
+ },
49
+ defaultRecoverySettings: {
50
+ requiredDeltaTime: 2592000n, // 30 days (in seconds)
51
+ minTimestamp: 0n,
52
+ },
53
+ identity: {
54
+ // TODO: change to prod url once deployed
55
+ url: 'https://dev-identity.sequence-dev.app',
56
+ fetch: window.fetch,
57
+ verifyAttestation: true,
58
+ email: {
59
+ enabled: false,
60
+ },
61
+ google: {
62
+ enabled: false,
63
+ clientId: '',
64
+ },
65
+ apple: {
66
+ enabled: false,
67
+ clientId: '',
68
+ },
69
+ },
70
+ };
71
+ export const CreateWalletOptionsDefaults = {
72
+ useGuard: false,
73
+ };
74
+ export function applyManagerOptionsDefaults(options) {
75
+ return {
76
+ ...ManagerOptionsDefaults,
77
+ ...options,
78
+ identity: { ...ManagerOptionsDefaults.identity, ...options?.identity },
79
+ };
80
+ }
81
+ export class Manager {
82
+ shared;
83
+ mnemonicHandler;
84
+ devicesHandler;
85
+ passkeysHandler;
86
+ recoveryHandler;
87
+ otpHandler;
88
+ constructor(options) {
89
+ const ops = applyManagerOptionsDefaults(options);
90
+ const shared = {
91
+ verbose: ops.verbose,
92
+ sequence: {
93
+ context: ops.context,
94
+ extensions: ops.extensions,
95
+ guest: ops.guest,
96
+ stateProvider: ops.stateProvider,
97
+ networks: ops.networks,
98
+ relayers: typeof ops.relayers === 'function' ? ops.relayers() : ops.relayers,
99
+ defaultGuardTopology: ops.defaultGuardTopology,
100
+ defaultSessionsTopology: ops.defaultSessionsTopology,
101
+ defaultRecoverySettings: ops.defaultRecoverySettings,
102
+ },
103
+ databases: {
104
+ encryptedPks: ops.encryptedPksDb,
105
+ manager: ops.managerDb,
106
+ signatures: ops.signaturesDb,
107
+ transactions: ops.transactionsDb,
108
+ messages: ops.messagesDb,
109
+ authCommitments: ops.authCommitmentsDb,
110
+ authKeys: ops.authKeysDb,
111
+ recovery: ops.recoveryDb,
112
+ pruningInterval: ops.dbPruningInterval,
113
+ },
114
+ modules: {},
115
+ handlers: new Map(),
116
+ };
117
+ const modules = {
118
+ cron: new Cron(shared),
119
+ logger: new Logger(shared),
120
+ devices: new Devices(shared),
121
+ wallets: new Wallets(shared),
122
+ sessions: new Sessions(shared),
123
+ signers: new Signers(shared),
124
+ signatures: new Signatures(shared),
125
+ transactions: new Transactions(shared),
126
+ messages: new Messages(shared),
127
+ recovery: new Recovery(shared),
128
+ };
129
+ this.devicesHandler = new DevicesHandler(modules.signatures, modules.devices);
130
+ shared.handlers.set(Kinds.LocalDevice, this.devicesHandler);
131
+ this.passkeysHandler = new PasskeysHandler(modules.signatures, shared.sequence.extensions, shared.sequence.stateProvider);
132
+ shared.handlers.set(Kinds.LoginPasskey, this.passkeysHandler);
133
+ this.mnemonicHandler = new MnemonicHandler(modules.signatures);
134
+ shared.handlers.set(Kinds.LoginMnemonic, this.mnemonicHandler);
135
+ this.recoveryHandler = new RecoveryHandler(modules.signatures, modules.recovery);
136
+ shared.handlers.set(Kinds.Recovery, this.recoveryHandler);
137
+ const verifyingFetch = ops.identity.verifyAttestation
138
+ ? createAttestationVerifyingFetch({
139
+ fetch: ops.identity.fetch,
140
+ expectedPCRs: ops.identity.expectedPcr0 ? new Map([[0, ops.identity.expectedPcr0]]) : undefined,
141
+ logTiming: true,
142
+ })
143
+ : ops.identity.fetch;
144
+ const identityInstrument = new IdentityInstrument(ops.identity.url, verifyingFetch);
145
+ if (ops.identity.email?.enabled) {
146
+ this.otpHandler = new OtpHandler(identityInstrument, modules.signatures, shared.databases.authKeys);
147
+ shared.handlers.set(Kinds.LoginEmailOtp, this.otpHandler);
148
+ }
149
+ if (ops.identity.google?.enabled) {
150
+ shared.handlers.set(Kinds.LoginGooglePkce, new AuthCodePkceHandler('google-pkce', 'https://accounts.google.com', ops.identity.google.clientId, identityInstrument, modules.signatures, shared.databases.authCommitments, shared.databases.authKeys));
151
+ }
152
+ if (ops.identity.apple?.enabled) {
153
+ shared.handlers.set(Kinds.LoginApple, new AuthCodeHandler('apple', 'https://appleid.apple.com', ops.identity.apple.clientId, identityInstrument, modules.signatures, shared.databases.authCommitments, shared.databases.authKeys));
154
+ }
155
+ shared.modules = modules;
156
+ this.shared = shared;
157
+ // Initialize modules
158
+ for (const module of Object.values(modules)) {
159
+ if ('initialize' in module && typeof module.initialize === 'function') {
160
+ module.initialize();
161
+ }
162
+ }
163
+ }
164
+ // Wallets
165
+ async startSignUpWithRedirect(args) {
166
+ return this.shared.modules.wallets.startSignUpWithRedirect(args);
167
+ }
168
+ async completeRedirect(args) {
169
+ return this.shared.modules.wallets.completeRedirect(args);
170
+ }
171
+ async signUp(options) {
172
+ return this.shared.modules.wallets.signUp(options);
173
+ }
174
+ async logout(wallet, options) {
175
+ return this.shared.modules.wallets.logout(wallet, options);
176
+ }
177
+ async completeLogout(requestId, options) {
178
+ return this.shared.modules.wallets.completeLogout(requestId, options);
179
+ }
180
+ async login(args) {
181
+ return this.shared.modules.wallets.login(args);
182
+ }
183
+ async completeLogin(requestId) {
184
+ return this.shared.modules.wallets.completeLogin(requestId);
185
+ }
186
+ async listWallets() {
187
+ return this.shared.modules.wallets.list();
188
+ }
189
+ async hasWallet(address) {
190
+ return this.shared.modules.wallets.exists(address);
191
+ }
192
+ onWalletsUpdate(cb, trigger) {
193
+ return this.shared.modules.wallets.onWalletsUpdate(cb, trigger);
194
+ }
195
+ registerWalletSelector(handler) {
196
+ return this.shared.modules.wallets.registerWalletSelector(handler);
197
+ }
198
+ unregisterWalletSelector(handler) {
199
+ return this.shared.modules.wallets.unregisterWalletSelector(handler);
200
+ }
201
+ async getConfiguration(wallet) {
202
+ return this.shared.modules.wallets.getConfiguration(wallet);
203
+ }
204
+ async getOnchainConfiguration(wallet, chainId) {
205
+ return this.shared.modules.wallets.getOnchainConfiguration(wallet, chainId);
206
+ }
207
+ async isUpdatedOnchain(wallet, chainId) {
208
+ return this.shared.modules.wallets.isUpdatedOnchain(wallet, chainId);
209
+ }
210
+ // Signatures
211
+ async listSignatureRequests() {
212
+ return this.shared.modules.signatures.list();
213
+ }
214
+ async getSignatureRequest(requestId) {
215
+ return this.shared.modules.signatures.get(requestId);
216
+ }
217
+ onSignatureRequestsUpdate(cb, trigger) {
218
+ return this.shared.modules.signatures.onSignatureRequestsUpdate(cb, trigger);
219
+ }
220
+ onSignatureRequestUpdate(requestId, cb, onError, trigger) {
221
+ return this.shared.modules.signatures.onSignatureRequestUpdate(requestId, cb, onError, trigger);
222
+ }
223
+ async cancelSignatureRequest(requestId) {
224
+ return this.shared.modules.signatures.cancel(requestId);
225
+ }
226
+ // Transactions
227
+ async requestTransaction(from, chainId, txs, options) {
228
+ return this.shared.modules.transactions.request(from, chainId, txs, options);
229
+ }
230
+ async defineTransaction(transactionId, changes) {
231
+ return this.shared.modules.transactions.define(transactionId, changes);
232
+ }
233
+ async selectTransactionRelayer(transactionId, relayerOptionId) {
234
+ return this.shared.modules.transactions.selectRelayer(transactionId, relayerOptionId);
235
+ }
236
+ async relayTransaction(transactionOrSignatureId) {
237
+ return this.shared.modules.transactions.relay(transactionOrSignatureId);
238
+ }
239
+ async deleteTransaction(transactionId) {
240
+ return this.shared.modules.transactions.delete(transactionId);
241
+ }
242
+ onTransactionsUpdate(cb, trigger) {
243
+ return this.shared.modules.transactions.onTransactionsUpdate(cb, trigger);
244
+ }
245
+ onTransactionUpdate(transactionId, cb, trigger) {
246
+ return this.shared.modules.transactions.onTransactionUpdate(transactionId, cb, trigger);
247
+ }
248
+ getTransaction(transactionId) {
249
+ return this.shared.modules.transactions.get(transactionId);
250
+ }
251
+ registerMnemonicUI(onPromptMnemonic) {
252
+ return this.mnemonicHandler.registerUI(onPromptMnemonic);
253
+ }
254
+ registerOtpUI(onPromptOtp) {
255
+ return this.otpHandler?.registerUI(onPromptOtp) || (() => { });
256
+ }
257
+ async setRedirectPrefix(prefix) {
258
+ this.shared.handlers.forEach((handler) => {
259
+ if (handler instanceof AuthCodeHandler) {
260
+ handler.setRedirectUri(prefix + '/' + handler.signupKind);
261
+ }
262
+ });
263
+ }
264
+ // Messages
265
+ async listMessageRequests() {
266
+ return this.shared.modules.messages.list();
267
+ }
268
+ async getMessageRequest(messageOrSignatureId) {
269
+ return this.shared.modules.messages.get(messageOrSignatureId);
270
+ }
271
+ onMessageRequestsUpdate(cb, trigger) {
272
+ return this.shared.modules.messages.onMessagesUpdate(cb, trigger);
273
+ }
274
+ onMessageRequestUpdate(messageOrSignatureId, cb, trigger) {
275
+ return this.shared.modules.messages.onMessageUpdate(messageOrSignatureId, cb, trigger);
276
+ }
277
+ async requestMessageSignature(wallet, message, chainId, options) {
278
+ return this.shared.modules.messages.request(wallet, message, chainId, options);
279
+ }
280
+ async completedMessageSignature(messageOrSignatureId) {
281
+ return this.shared.modules.messages.complete(messageOrSignatureId);
282
+ }
283
+ async deleteMessageRequest(messageOrSignatureId) {
284
+ return this.shared.modules.messages.delete(messageOrSignatureId);
285
+ }
286
+ // Sessions
287
+ async getSessionTopology(walletAddress) {
288
+ return this.shared.modules.sessions.getSessionTopology(walletAddress);
289
+ }
290
+ async prepareAuthorizeImplicitSession(walletAddress, sessionAddress, args) {
291
+ return this.shared.modules.sessions.prepareAuthorizeImplicitSession(walletAddress, sessionAddress, args);
292
+ // Run completeAuthorizeImplicitSession next
293
+ }
294
+ async completeAuthorizeImplicitSession(requestId) {
295
+ return this.shared.modules.sessions.completeAuthorizeImplicitSession(requestId);
296
+ }
297
+ async addExplicitSession(walletAddress, sessionAddress, permissions) {
298
+ return this.shared.modules.sessions.addExplicitSession(walletAddress, sessionAddress, permissions);
299
+ // Run completeSessionUpdate next
300
+ }
301
+ async removeExplicitSession(walletAddress, sessionAddress) {
302
+ return this.shared.modules.sessions.removeExplicitSession(walletAddress, sessionAddress);
303
+ // Run completeSessionUpdate next
304
+ }
305
+ async addBlacklistAddress(walletAddress, address) {
306
+ return this.shared.modules.sessions.addBlacklistAddress(walletAddress, address);
307
+ // Run completeSessionUpdate next
308
+ }
309
+ async removeBlacklistAddress(walletAddress, address) {
310
+ return this.shared.modules.sessions.removeBlacklistAddress(walletAddress, address);
311
+ // Run completeSessionUpdate next
312
+ }
313
+ async completeSessionUpdate(requestId) {
314
+ return this.shared.modules.sessions.completeSessionUpdate(requestId);
315
+ }
316
+ // Recovery
317
+ async getRecoverySigners(wallet) {
318
+ return this.shared.modules.recovery.getRecoverySigners(wallet);
319
+ }
320
+ onQueuedRecoveryPayloadsUpdate(wallet, cb, trigger) {
321
+ return this.shared.modules.recovery.onQueuedRecoveryPayloadsUpdate(wallet, cb, trigger);
322
+ }
323
+ async queueRecoveryPayload(wallet, chainId, payload) {
324
+ return this.shared.modules.recovery.queueRecoveryPayload(wallet, chainId, payload);
325
+ }
326
+ async completeRecoveryPayload(requestId) {
327
+ return this.shared.modules.recovery.completeRecoveryPayload(requestId);
328
+ }
329
+ async addRecoveryMnemonic(wallet, mnemonic) {
330
+ return this.shared.modules.recovery.addRecoveryMnemonic(wallet, mnemonic);
331
+ }
332
+ async addRecoverySigner(wallet, address) {
333
+ return this.shared.modules.recovery.addRecoverySigner(wallet, address);
334
+ }
335
+ async removeRecoverySigner(wallet, address) {
336
+ return this.shared.modules.recovery.removeRecoverySigner(wallet, address);
337
+ }
338
+ async completeRecoveryUpdate(requestId) {
339
+ return this.shared.modules.recovery.completeRecoveryUpdate(requestId);
340
+ }
341
+ async updateQueuedRecoveryPayloads() {
342
+ return this.shared.modules.recovery.updateQueuedRecoveryPayloads();
343
+ }
344
+ // DBs
345
+ async stop() {
346
+ await this.shared.modules.cron.stop();
347
+ await Promise.all([
348
+ this.shared.databases.authKeys.close(),
349
+ this.shared.databases.authCommitments.close(),
350
+ this.shared.databases.manager.close(),
351
+ this.shared.databases.recovery.close(),
352
+ this.shared.databases.signatures.close(),
353
+ this.shared.databases.transactions.close(),
354
+ ]);
355
+ }
356
+ }
@@ -0,0 +1,18 @@
1
+ import { Address } from 'ox';
2
+ import { Shared } from './manager.js';
3
+ import { Message, MessageRequest } from './types/message-request.js';
4
+ export declare class Messages {
5
+ private readonly shared;
6
+ constructor(shared: Shared);
7
+ list(): Promise<Message[]>;
8
+ get(messageOrSignatureId: string): Promise<Message>;
9
+ private getByMessageOrSignatureId;
10
+ request(from: Address.Address, message: MessageRequest, chainId?: bigint, options?: {
11
+ source?: string;
12
+ }): Promise<string>;
13
+ complete(messageOrSignatureId: string): Promise<string>;
14
+ onMessagesUpdate(cb: (messages: Message[]) => void, trigger?: boolean): () => void;
15
+ onMessageUpdate(messageId: string, cb: (message: Message) => void, trigger?: boolean): () => void;
16
+ delete(messageOrSignatureId: string): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=messages.d.ts.map