@0xsequence/wallet-wdk 3.0.0-beta.9 → 3.0.0

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 (113) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/.turbo/turbo-lint.log +4 -0
  3. package/.turbo/turbo-typecheck.log +4 -0
  4. package/CHANGELOG.md +170 -0
  5. package/dist/dbs/auth-commitments.d.ts.map +1 -1
  6. package/dist/dbs/auth-keys.d.ts +3 -1
  7. package/dist/dbs/auth-keys.d.ts.map +1 -1
  8. package/dist/dbs/auth-keys.js +16 -4
  9. package/dist/dbs/messages.d.ts.map +1 -1
  10. package/dist/dbs/passkey-credentials.d.ts.map +1 -1
  11. package/dist/dbs/recovery.d.ts.map +1 -1
  12. package/dist/dbs/signatures.d.ts.map +1 -1
  13. package/dist/dbs/transactions.d.ts.map +1 -1
  14. package/dist/dbs/wallets.d.ts.map +1 -1
  15. package/dist/env.d.ts +22 -0
  16. package/dist/env.d.ts.map +1 -0
  17. package/dist/env.js +30 -0
  18. package/dist/identity/signer.d.ts +5 -4
  19. package/dist/identity/signer.d.ts.map +1 -1
  20. package/dist/identity/signer.js +11 -4
  21. package/dist/index.d.ts +1 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -0
  24. package/dist/sequence/cron.d.ts +3 -0
  25. package/dist/sequence/cron.d.ts.map +1 -1
  26. package/dist/sequence/cron.js +72 -39
  27. package/dist/sequence/handlers/authcode-pkce.d.ts +2 -1
  28. package/dist/sequence/handlers/authcode-pkce.d.ts.map +1 -1
  29. package/dist/sequence/handlers/authcode-pkce.js +4 -4
  30. package/dist/sequence/handlers/authcode.d.ts +4 -1
  31. package/dist/sequence/handlers/authcode.d.ts.map +1 -1
  32. package/dist/sequence/handlers/authcode.js +23 -6
  33. package/dist/sequence/handlers/devices.d.ts +1 -1
  34. package/dist/sequence/handlers/devices.d.ts.map +1 -1
  35. package/dist/sequence/handlers/devices.js +1 -1
  36. package/dist/sequence/handlers/guard.d.ts +1 -1
  37. package/dist/sequence/handlers/guard.d.ts.map +1 -1
  38. package/dist/sequence/handlers/guard.js +22 -19
  39. package/dist/sequence/handlers/identity.d.ts +3 -1
  40. package/dist/sequence/handlers/identity.d.ts.map +1 -1
  41. package/dist/sequence/handlers/identity.js +14 -7
  42. package/dist/sequence/handlers/mnemonic.d.ts.map +1 -1
  43. package/dist/sequence/handlers/mnemonic.js +21 -18
  44. package/dist/sequence/handlers/otp.d.ts +2 -1
  45. package/dist/sequence/handlers/otp.d.ts.map +1 -1
  46. package/dist/sequence/handlers/otp.js +4 -3
  47. package/dist/sequence/handlers/passkeys.d.ts +6 -4
  48. package/dist/sequence/handlers/passkeys.d.ts.map +1 -1
  49. package/dist/sequence/handlers/passkeys.js +8 -5
  50. package/dist/sequence/handlers/recovery.js +1 -1
  51. package/dist/sequence/index.d.ts +2 -0
  52. package/dist/sequence/index.d.ts.map +1 -1
  53. package/dist/sequence/index.js +1 -0
  54. package/dist/sequence/manager.d.ts +67 -55
  55. package/dist/sequence/manager.d.ts.map +1 -1
  56. package/dist/sequence/manager.js +77 -17
  57. package/dist/sequence/messages.js +1 -1
  58. package/dist/sequence/passkeys-provider.d.ts +24 -0
  59. package/dist/sequence/passkeys-provider.d.ts.map +1 -0
  60. package/dist/sequence/passkeys-provider.js +15 -0
  61. package/dist/sequence/recovery.d.ts +2 -0
  62. package/dist/sequence/recovery.d.ts.map +1 -1
  63. package/dist/sequence/recovery.js +100 -34
  64. package/dist/sequence/signers.d.ts.map +1 -1
  65. package/dist/sequence/signers.js +3 -1
  66. package/dist/sequence/transactions.d.ts.map +1 -1
  67. package/dist/sequence/transactions.js +5 -2
  68. package/dist/sequence/wallets.d.ts +2 -1
  69. package/dist/sequence/wallets.d.ts.map +1 -1
  70. package/dist/sequence/wallets.js +32 -22
  71. package/eslint.config.js +12 -0
  72. package/package.json +16 -14
  73. package/src/dbs/auth-commitments.ts +1 -1
  74. package/src/dbs/auth-keys.ts +20 -6
  75. package/src/dbs/messages.ts +1 -1
  76. package/src/dbs/passkey-credentials.ts +1 -1
  77. package/src/dbs/recovery.ts +1 -1
  78. package/src/dbs/signatures.ts +1 -1
  79. package/src/dbs/transactions.ts +1 -1
  80. package/src/dbs/wallets.ts +1 -1
  81. package/src/env.ts +58 -0
  82. package/src/identity/signer.ts +13 -7
  83. package/src/index.ts +1 -0
  84. package/src/sequence/cron.ts +75 -42
  85. package/src/sequence/handlers/authcode-pkce.ts +6 -4
  86. package/src/sequence/handlers/authcode.ts +26 -5
  87. package/src/sequence/handlers/devices.ts +1 -1
  88. package/src/sequence/handlers/guard.ts +6 -4
  89. package/src/sequence/handlers/identity.ts +18 -8
  90. package/src/sequence/handlers/mnemonic.ts +5 -3
  91. package/src/sequence/handlers/otp.ts +5 -3
  92. package/src/sequence/handlers/passkeys.ts +13 -13
  93. package/src/sequence/handlers/recovery.ts +1 -1
  94. package/src/sequence/index.ts +2 -0
  95. package/src/sequence/manager.ts +168 -14
  96. package/src/sequence/messages.ts +1 -1
  97. package/src/sequence/passkeys-provider.ts +55 -0
  98. package/src/sequence/recovery.ts +165 -56
  99. package/src/sequence/signers.ts +3 -1
  100. package/src/sequence/transactions.ts +6 -2
  101. package/src/sequence/wallets.ts +39 -25
  102. package/test/authcode-pkce.test.ts +2 -3
  103. package/test/authcode.test.ts +6 -8
  104. package/test/constants.ts +4 -2
  105. package/test/guard.test.ts +5 -5
  106. package/test/identity-signer.test.ts +1 -1
  107. package/test/otp.test.ts +1 -1
  108. package/test/passkeys.test.ts +1 -1
  109. package/test/recovery.test.ts +3 -3
  110. package/test/sessions.test.ts +1 -1
  111. package/test/{test-ssr-safety.mjs → test-ssr-safety.js} +143 -137
  112. package/test/transactions.test.ts +3 -3
  113. package/test/wallets.test.ts +5 -5
@@ -1,18 +1,20 @@
1
- import { Signers, State } from '@0xsequence/wallet-core';
1
+ import { State } from '@0xsequence/wallet-core';
2
2
  import { Address, Hex } from 'ox';
3
3
  import { Signatures } from '../signatures.js';
4
4
  import { Extensions } from '@0xsequence/wallet-primitives';
5
5
  import { Handler } from './handler.js';
6
6
  import { SignerActionable, SignerUnavailable, BaseSignatureRequest } from '../types/index.js';
7
+ import type { PasskeyProvider, PasskeySigner } from '../passkeys-provider.js';
7
8
  export declare class PasskeysHandler implements Handler {
8
9
  private readonly signatures;
9
10
  private readonly extensions;
10
11
  private readonly stateReader;
12
+ private readonly passkeyProvider;
11
13
  kind: "login-passkey";
12
14
  private readySigners;
13
- constructor(signatures: Signatures, extensions: Pick<Extensions.Extensions, 'passkeys'>, stateReader: State.Reader);
14
- onStatusChange(cb: () => void): () => void;
15
- addReadySigner(signer: Signers.Passkey.Passkey): void;
15
+ constructor(signatures: Signatures, extensions: Pick<Extensions.Extensions, 'passkeys'>, stateReader: State.Reader, passkeyProvider: PasskeyProvider);
16
+ onStatusChange(_cb: () => void): () => void;
17
+ addReadySigner(signer: PasskeySigner): void;
16
18
  private loadPasskey;
17
19
  status(address: Address.Address, imageHash: Hex.Hex | undefined, request: BaseSignatureRequest): Promise<SignerActionable | SignerUnavailable>;
18
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"passkeys.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/passkeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE7F,qBAAa,eAAgB,YAAW,OAAO;IAK3C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAN9B,IAAI,kBAAqB;IACzB,OAAO,CAAC,YAAY,CAA6C;gBAG9C,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,WAAW,EAAE,KAAK,CAAC,MAAM;IAG5C,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAInC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;YAKvC,WAAW;IASnB,MAAM,CACV,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,EAC9B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;CAqEjD"}
1
+ {"version":3,"file":"passkeys.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/passkeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAU,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE7E,qBAAa,eAAgB,YAAW,OAAO;IAK3C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAPlC,IAAI,kBAAqB;IACzB,OAAO,CAAC,YAAY,CAAmC;gBAGpC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,WAAW,EAAE,KAAK,CAAC,MAAM,EACzB,eAAe,EAAE,eAAe;IAGnD,cAAc,CAAC,GAAG,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAIpC,cAAc,CAAC,MAAM,EAAE,aAAa;YAK7B,WAAW;IASnB,MAAM,CACV,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,EAC9B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;CAmEjD"}
@@ -1,17 +1,19 @@
1
- import { Signers } from '@0xsequence/wallet-core';
2
1
  import { Kinds } from '../types/signer.js';
2
+ import { Config } from '@0xsequence/wallet-primitives';
3
3
  export class PasskeysHandler {
4
4
  signatures;
5
5
  extensions;
6
6
  stateReader;
7
+ passkeyProvider;
7
8
  kind = Kinds.LoginPasskey;
8
9
  readySigners = new Map();
9
- constructor(signatures, extensions, stateReader) {
10
+ constructor(signatures, extensions, stateReader, passkeyProvider) {
10
11
  this.signatures = signatures;
11
12
  this.extensions = extensions;
12
13
  this.stateReader = stateReader;
14
+ this.passkeyProvider = passkeyProvider;
13
15
  }
14
- onStatusChange(cb) {
16
+ onStatusChange(_cb) {
15
17
  return () => { };
16
18
  }
17
19
  addReadySigner(signer) {
@@ -20,7 +22,7 @@ export class PasskeysHandler {
20
22
  }
21
23
  async loadPasskey(wallet, imageHash) {
22
24
  try {
23
- return await Signers.Passkey.Passkey.loadFromWitness(this.stateReader, this.extensions, wallet, imageHash);
25
+ return await this.passkeyProvider.loadFromWitness(this.stateReader, this.extensions, wallet, imageHash);
24
26
  }
25
27
  catch (e) {
26
28
  console.warn('Failed to load passkey:', e);
@@ -70,7 +72,8 @@ export class PasskeysHandler {
70
72
  message: 'request-interaction-with-passkey',
71
73
  imageHash: imageHash,
72
74
  handle: async () => {
73
- const signature = await passkey.signSapient(request.envelope.wallet, request.envelope.chainId, request.envelope.payload, imageHash);
75
+ const normalized = Config.normalizeSignerSignature(passkey.signSapient(request.envelope.wallet, request.envelope.chainId, request.envelope.payload, imageHash));
76
+ const signature = await normalized.signature;
74
77
  await this.signatures.addSignature(request.id, {
75
78
  address,
76
79
  imageHash,
@@ -60,7 +60,7 @@ export class RecoveryHandler {
60
60
  },
61
61
  };
62
62
  }
63
- catch (e) {
63
+ catch {
64
64
  return {
65
65
  address,
66
66
  handler: this,
@@ -2,6 +2,8 @@ import { Network } from '@0xsequence/wallet-primitives';
2
2
  export { Network as Networks };
3
3
  export type { ManagerOptions, Databases, Sequence, Modules, Shared } from './manager.js';
4
4
  export { ManagerOptionsDefaults, CreateWalletOptionsDefaults, applyManagerOptionsDefaults, Manager } from './manager.js';
5
+ export { defaultPasskeyProvider } from './passkeys-provider.js';
6
+ export type { PasskeyProvider, PasskeySigner } from './passkeys-provider.js';
5
7
  export { Sessions } from './sessions.js';
6
8
  export { Signatures } from './signatures.js';
7
9
  export type { StartSignUpWithRedirectArgs, CommonSignupArgs, PasskeySignupArgs, MnemonicSignupArgs, EmailOtpSignupArgs, CompleteRedirectArgs, SignupArgs, LoginToWalletArgs, LoginToMnemonicArgs, LoginToPasskeyArgs, LoginArgs, } from './wallets.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sequence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,CAAA;AAE9B,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACxF,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACxH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EACV,2BAA2B,EAC3B,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,GACV,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAExG,cAAc,kBAAkB,CAAA;AAChC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sequence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,CAAA;AAE9B,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACxF,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACxH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EACV,2BAA2B,EAC3B,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,GACV,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAExG,cAAc,kBAAkB,CAAA;AAChC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { Network } from '@0xsequence/wallet-primitives';
2
2
  export { Network as Networks };
3
3
  export { ManagerOptionsDefaults, CreateWalletOptionsDefaults, applyManagerOptionsDefaults, Manager } from './manager.js';
4
+ export { defaultPasskeyProvider } from './passkeys-provider.js';
4
5
  export { Sessions } from './sessions.js';
5
6
  export { Signatures } from './signatures.js';
6
7
  export { isLoginToWalletArgs, isLoginToMnemonicArgs, isLoginToPasskeyArgs, Wallets } from './wallets.js';
@@ -3,6 +3,7 @@ import { Relayer } from '@0xsequence/relayer';
3
3
  import { Config, Context, Extensions, Network } from '@0xsequence/wallet-primitives';
4
4
  import { Address } from 'ox';
5
5
  import * as Db from '../dbs/index.js';
6
+ import { type WdkEnv } from '../env.js';
6
7
  import { Cron } from './cron.js';
7
8
  import { Devices } from './devices.js';
8
9
  import { Guards, GuardRole } from './guards.js';
@@ -19,6 +20,7 @@ import { PromptCodeHandler } from './handlers/guard.js';
19
20
  import { PasskeyCredential } from '../dbs/index.js';
20
21
  import { PromptMnemonicHandler } from './handlers/mnemonic.js';
21
22
  import { PromptOtpHandler } from './handlers/otp.js';
23
+ import { type PasskeyProvider } from './passkeys-provider.js';
22
24
  export type ManagerOptions = {
23
25
  verbose?: boolean;
24
26
  extensions?: Extensions.Extensions;
@@ -35,6 +37,8 @@ export type ManagerOptions = {
35
37
  recoveryDb?: Db.Recovery;
36
38
  passkeyCredentialsDb?: Db.PasskeyCredentials;
37
39
  dbPruningInterval?: number;
40
+ env?: WdkEnv;
41
+ passkeyProvider?: PasskeyProvider;
38
42
  stateProvider?: State.Provider;
39
43
  networks?: Network.Network[];
40
44
  relayers?: Relayer.Relayer[] | (() => Relayer.Relayer[]);
@@ -47,7 +51,7 @@ export type ManagerOptions = {
47
51
  multiInjectedProviderDiscovery?: boolean;
48
52
  identity?: {
49
53
  url?: string;
50
- fetch?: typeof window.fetch;
54
+ fetch?: typeof fetch;
51
55
  verifyAttestation?: boolean;
52
56
  expectedPcr0?: string[];
53
57
  scope?: string;
@@ -71,6 +75,61 @@ export type ManagerOptions = {
71
75
  }[];
72
76
  };
73
77
  };
78
+ export type ResolvedIdentityOptions = {
79
+ url: string;
80
+ fetch?: typeof fetch;
81
+ verifyAttestation: boolean;
82
+ expectedPcr0?: string[];
83
+ scope?: string;
84
+ email: {
85
+ enabled: boolean;
86
+ };
87
+ google: {
88
+ enabled: boolean;
89
+ clientId: string;
90
+ };
91
+ apple: {
92
+ enabled: boolean;
93
+ clientId: string;
94
+ };
95
+ customProviders?: {
96
+ kind: `custom-${string}`;
97
+ authMethod: 'id-token' | 'authcode' | 'authcode-pkce';
98
+ issuer: string;
99
+ oauthUrl: string;
100
+ clientId: string;
101
+ }[];
102
+ };
103
+ export type ResolvedManagerOptions = {
104
+ verbose: boolean;
105
+ extensions: Extensions.Extensions;
106
+ context: Context.Context;
107
+ context4337: Context.Context;
108
+ guest: Address.Address;
109
+ encryptedPksDb: CoreSigners.Pk.Encrypted.EncryptedPksDb;
110
+ managerDb: Db.Wallets;
111
+ transactionsDb: Db.Transactions;
112
+ signaturesDb: Db.Signatures;
113
+ messagesDb: Db.Messages;
114
+ authCommitmentsDb: Db.AuthCommitments;
115
+ authKeysDb: Db.AuthKeys;
116
+ recoveryDb: Db.Recovery;
117
+ passkeyCredentialsDb: Db.PasskeyCredentials;
118
+ dbPruningInterval: number;
119
+ env: WdkEnv;
120
+ passkeyProvider: PasskeyProvider;
121
+ stateProvider: State.Provider;
122
+ networks: Network.Network[];
123
+ relayers: Relayer.Relayer[] | (() => Relayer.Relayer[]);
124
+ bundlers: Bundler.Bundler[];
125
+ guardUrl: string;
126
+ guardAddresses: Record<GuardRole, Address.Address>;
127
+ nonWitnessableSigners: Address.Address[];
128
+ defaultGuardTopology: Config.Topology;
129
+ defaultRecoverySettings: RecoverySettings;
130
+ multiInjectedProviderDiscovery: boolean;
131
+ identity: ResolvedIdentityOptions;
132
+ };
74
133
  export declare const ManagerOptionsDefaults: {
75
134
  verbose: boolean;
76
135
  extensions: Extensions.Extensions;
@@ -87,7 +146,8 @@ export declare const ManagerOptionsDefaults: {
87
146
  authKeysDb: Db.AuthKeys;
88
147
  passkeyCredentialsDb: Db.PasskeyCredentials;
89
148
  dbPruningInterval: number;
90
- stateProvider: State.Sequence.Provider;
149
+ passkeyProvider: PasskeyProvider;
150
+ stateProvider: State.Sequence.Provider | undefined;
91
151
  networks: Network.Network[];
92
152
  relayers: () => Relayer.LocalRelayer[];
93
153
  bundlers: never[];
@@ -99,6 +159,7 @@ export declare const ManagerOptionsDefaults: {
99
159
  defaultRecoverySettings: {
100
160
  requiredDeltaTime: bigint;
101
161
  minTimestamp: bigint;
162
+ includeTestnets: boolean;
102
163
  };
103
164
  multiInjectedProviderDiscovery: boolean;
104
165
  identity: {
@@ -121,62 +182,11 @@ export declare const ManagerOptionsDefaults: {
121
182
  export declare const CreateWalletOptionsDefaults: {
122
183
  useGuard: boolean;
123
184
  };
124
- export declare function applyManagerOptionsDefaults(options?: ManagerOptions): {
125
- identity: {
126
- url: string;
127
- fetch: typeof window.fetch;
128
- verifyAttestation: boolean;
129
- expectedPcr0?: string[];
130
- scope?: string;
131
- email: {
132
- enabled: boolean;
133
- };
134
- google: {
135
- enabled: boolean;
136
- clientId: string;
137
- };
138
- apple: {
139
- enabled: boolean;
140
- clientId: string;
141
- };
142
- customProviders?: {
143
- kind: `custom-${string}`;
144
- authMethod: "id-token" | "authcode" | "authcode-pkce";
145
- issuer: string;
146
- oauthUrl: string;
147
- clientId: string;
148
- }[];
149
- };
150
- verbose: boolean;
151
- extensions: Extensions.Extensions;
152
- context: Context.Context;
153
- context4337: Context.Context;
154
- guest: Address.Address;
155
- encryptedPksDb: CoreSigners.Pk.Encrypted.EncryptedPksDb;
156
- managerDb: Db.Wallets;
157
- transactionsDb: Db.Transactions;
158
- signaturesDb: Db.Signatures;
159
- messagesDb: Db.Messages;
160
- authCommitmentsDb: Db.AuthCommitments;
161
- authKeysDb: Db.AuthKeys;
162
- recoveryDb: Db.Recovery;
163
- passkeyCredentialsDb: Db.PasskeyCredentials;
164
- dbPruningInterval: number;
165
- stateProvider: State.Provider;
166
- networks: Network.Network[];
167
- relayers: (() => Relayer.LocalRelayer[]) | Relayer.Relayer[] | (() => Relayer.Relayer[]);
168
- bundlers: Bundler.Bundler[];
169
- guardUrl: string;
170
- guardAddresses: Record<GuardRole, Address.Address>;
171
- nonWitnessableSigners: Address.Address[];
172
- defaultGuardTopology: Config.Topology;
173
- defaultRecoverySettings: RecoverySettings;
174
- multiInjectedProviderDiscovery: boolean;
175
- defaultSessionsTopology: Omit<Config.SapientSignerLeaf, "imageHash" | "address">;
176
- };
185
+ export declare function applyManagerOptionsDefaults(options?: ManagerOptions): ResolvedManagerOptions;
177
186
  export type RecoverySettings = {
178
187
  requiredDeltaTime: bigint;
179
188
  minTimestamp: bigint;
189
+ includeTestnets?: boolean;
180
190
  };
181
191
  export type Databases = {
182
192
  readonly encryptedPks: CoreSigners.Pk.Encrypted.EncryptedPksDb;
@@ -222,6 +232,8 @@ export type Shared = {
222
232
  readonly verbose: boolean;
223
233
  readonly sequence: Sequence;
224
234
  readonly databases: Databases;
235
+ readonly env: WdkEnv;
236
+ readonly passkeyProvider: PasskeyProvider;
225
237
  readonly handlers: Map<string, Handler>;
226
238
  modules: Modules;
227
239
  };
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/sequence/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/sequence/manager.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { createAttestationVerifyingFetch } from '@0xsequence/tee-verifier';
5
5
  import { Config, Constants, Context, Extensions, Network } from '@0xsequence/wallet-primitives';
6
6
  import { Address } from 'ox';
7
7
  import * as Db from '../dbs/index.js';
8
+ import { resolveWdkEnv } from '../env.js';
8
9
  import { Cron } from './cron.js';
9
10
  import { Devices } from './devices.js';
10
11
  import { Guards } from './guards.js';
@@ -21,6 +22,7 @@ import { Transactions } from './transactions.js';
21
22
  import { Kinds } from './types/signer.js';
22
23
  import { Wallets } from './wallets.js';
23
24
  import { GuardHandler } from './handlers/guard.js';
25
+ import { defaultPasskeyProvider } from './passkeys-provider.js';
24
26
  export const ManagerOptionsDefaults = {
25
27
  verbose: false,
26
28
  extensions: Extensions.Rc5,
@@ -37,7 +39,8 @@ export const ManagerOptionsDefaults = {
37
39
  authKeysDb: new Db.AuthKeys(),
38
40
  passkeyCredentialsDb: new Db.PasskeyCredentials(),
39
41
  dbPruningInterval: 1000 * 60 * 60 * 24, // 24 hours
40
- stateProvider: new State.Sequence.Provider(),
42
+ passkeyProvider: defaultPasskeyProvider,
43
+ stateProvider: typeof fetch !== 'undefined' ? new State.Sequence.Provider(undefined, fetch) : undefined,
41
44
  networks: Network.ALL,
42
45
  relayers: () => {
43
46
  if (typeof window !== 'undefined') {
@@ -77,6 +80,7 @@ export const ManagerOptionsDefaults = {
77
80
  defaultRecoverySettings: {
78
81
  requiredDeltaTime: 2592000n, // 30 days (in seconds)
79
82
  minTimestamp: 0n,
83
+ includeTestnets: false,
80
84
  },
81
85
  multiInjectedProviderDiscovery: true,
82
86
  identity: {
@@ -100,11 +104,37 @@ export const CreateWalletOptionsDefaults = {
100
104
  useGuard: false,
101
105
  };
102
106
  export function applyManagerOptionsDefaults(options) {
103
- const merged = {
104
- ...ManagerOptionsDefaults,
105
- ...options,
106
- identity: { ...ManagerOptionsDefaults.identity, ...options?.identity },
107
+ const env = resolveWdkEnv(options?.env);
108
+ const identity = {
109
+ ...ManagerOptionsDefaults.identity,
110
+ ...options?.identity,
111
+ email: { ...ManagerOptionsDefaults.identity.email, ...options?.identity?.email },
112
+ google: { ...ManagerOptionsDefaults.identity.google, ...options?.identity?.google },
113
+ apple: { ...ManagerOptionsDefaults.identity.apple, ...options?.identity?.apple },
107
114
  };
115
+ if (!identity.fetch && env.fetch) {
116
+ identity.fetch = env.fetch;
117
+ }
118
+ let encryptedPksDb = options?.encryptedPksDb ?? ManagerOptionsDefaults.encryptedPksDb;
119
+ if (!options?.encryptedPksDb && options?.env) {
120
+ encryptedPksDb = new CoreSigners.Pk.Encrypted.EncryptedPksDb(undefined, undefined, env);
121
+ }
122
+ let authKeysDb = options?.authKeysDb ?? ManagerOptionsDefaults.authKeysDb;
123
+ if (!options?.authKeysDb && options?.env) {
124
+ authKeysDb = new Db.AuthKeys(undefined, env);
125
+ }
126
+ let stateProvider = options?.stateProvider ?? ManagerOptionsDefaults.stateProvider;
127
+ if (!options?.stateProvider && options?.env?.fetch) {
128
+ stateProvider = new State.Sequence.Provider(undefined, options.env.fetch);
129
+ }
130
+ else if (!stateProvider && env.fetch) {
131
+ stateProvider = new State.Sequence.Provider(undefined, env.fetch);
132
+ }
133
+ if (!stateProvider) {
134
+ throw new Error('stateProvider is required. Provide ManagerOptions.stateProvider or env.fetch');
135
+ }
136
+ const extensions = options?.extensions ?? ManagerOptionsDefaults.extensions;
137
+ const defaultGuardTopology = options?.defaultGuardTopology ?? ManagerOptionsDefaults.defaultGuardTopology;
108
138
  // Merge and normalize non-witnessable signers.
109
139
  // We always include the sessions extension address for the active extensions set.
110
140
  const nonWitnessable = new Set();
@@ -114,11 +144,11 @@ export function applyManagerOptionsDefaults(options) {
114
144
  for (const address of options?.nonWitnessableSigners ?? []) {
115
145
  nonWitnessable.add(address.toLowerCase());
116
146
  }
117
- nonWitnessable.add(merged.extensions.sessions.toLowerCase());
147
+ nonWitnessable.add(extensions.sessions.toLowerCase());
118
148
  // Include static signer leaves from the guard topology (e.g. recovery guard signer),
119
149
  // but ignore the placeholder address that is later replaced per-role.
120
- if (merged.defaultGuardTopology) {
121
- const guardTopologySigners = Config.getSigners(merged.defaultGuardTopology);
150
+ if (defaultGuardTopology) {
151
+ const guardTopologySigners = Config.getSigners(defaultGuardTopology);
122
152
  for (const signer of guardTopologySigners.signers) {
123
153
  if (Address.isEqual(signer, Constants.PlaceholderAddress)) {
124
154
  continue;
@@ -129,8 +159,36 @@ export function applyManagerOptionsDefaults(options) {
129
159
  nonWitnessable.add(signer.address.toLowerCase());
130
160
  }
131
161
  }
132
- merged.nonWitnessableSigners = Array.from(nonWitnessable);
133
- return merged;
162
+ return {
163
+ verbose: options?.verbose ?? ManagerOptionsDefaults.verbose,
164
+ extensions,
165
+ context: options?.context ?? ManagerOptionsDefaults.context,
166
+ context4337: options?.context4337 ?? ManagerOptionsDefaults.context4337,
167
+ guest: options?.guest ?? ManagerOptionsDefaults.guest,
168
+ encryptedPksDb,
169
+ managerDb: options?.managerDb ?? ManagerOptionsDefaults.managerDb,
170
+ transactionsDb: options?.transactionsDb ?? ManagerOptionsDefaults.transactionsDb,
171
+ signaturesDb: options?.signaturesDb ?? ManagerOptionsDefaults.signaturesDb,
172
+ messagesDb: options?.messagesDb ?? ManagerOptionsDefaults.messagesDb,
173
+ authCommitmentsDb: options?.authCommitmentsDb ?? ManagerOptionsDefaults.authCommitmentsDb,
174
+ recoveryDb: options?.recoveryDb ?? ManagerOptionsDefaults.recoveryDb,
175
+ authKeysDb,
176
+ passkeyCredentialsDb: options?.passkeyCredentialsDb ?? ManagerOptionsDefaults.passkeyCredentialsDb,
177
+ dbPruningInterval: options?.dbPruningInterval ?? ManagerOptionsDefaults.dbPruningInterval,
178
+ env,
179
+ passkeyProvider: options?.passkeyProvider ?? ManagerOptionsDefaults.passkeyProvider,
180
+ stateProvider,
181
+ networks: options?.networks ?? ManagerOptionsDefaults.networks,
182
+ relayers: options?.relayers ?? ManagerOptionsDefaults.relayers,
183
+ bundlers: options?.bundlers ?? ManagerOptionsDefaults.bundlers,
184
+ guardUrl: options?.guardUrl ?? ManagerOptionsDefaults.guardUrl,
185
+ guardAddresses: options?.guardAddresses ?? ManagerOptionsDefaults.guardAddresses,
186
+ nonWitnessableSigners: Array.from(nonWitnessable),
187
+ defaultGuardTopology,
188
+ defaultRecoverySettings: options?.defaultRecoverySettings ?? ManagerOptionsDefaults.defaultRecoverySettings,
189
+ multiInjectedProviderDiscovery: options?.multiInjectedProviderDiscovery ?? ManagerOptionsDefaults.multiInjectedProviderDiscovery,
190
+ identity,
191
+ };
134
192
  }
135
193
  export class Manager {
136
194
  shared;
@@ -246,7 +304,7 @@ export class Manager {
246
304
  constructor(options) {
247
305
  const ops = applyManagerOptionsDefaults(options);
248
306
  // Build relayers list
249
- let relayers = [];
307
+ const relayers = [];
250
308
  // Add EIP-6963 relayers if enabled
251
309
  if (ops.multiInjectedProviderDiscovery) {
252
310
  try {
@@ -288,6 +346,8 @@ export class Manager {
288
346
  passkeyCredentials: ops.passkeyCredentialsDb,
289
347
  pruningInterval: ops.dbPruningInterval,
290
348
  },
349
+ env: ops.env,
350
+ passkeyProvider: ops.passkeyProvider,
291
351
  modules: {},
292
352
  handlers: new Map(),
293
353
  };
@@ -312,7 +372,7 @@ export class Manager {
312
372
  this.recovery = modules.recovery;
313
373
  this.devicesHandler = new DevicesHandler(modules.signatures, modules.devices);
314
374
  shared.handlers.set(Kinds.LocalDevice, this.devicesHandler);
315
- this.passkeysHandler = new PasskeysHandler(modules.signatures, shared.sequence.extensions, shared.sequence.stateProvider);
375
+ this.passkeysHandler = new PasskeysHandler(modules.signatures, shared.sequence.extensions, shared.sequence.stateProvider, shared.passkeyProvider);
316
376
  shared.handlers.set(Kinds.LoginPasskey, this.passkeysHandler);
317
377
  this.mnemonicHandler = new MnemonicHandler(modules.signatures);
318
378
  shared.handlers.set(Kinds.LoginMnemonic, this.mnemonicHandler);
@@ -329,14 +389,14 @@ export class Manager {
329
389
  : ops.identity.fetch;
330
390
  const identityInstrument = new IdentityInstrument(ops.identity.url, ops.identity.scope, verifyingFetch);
331
391
  if (ops.identity.email?.enabled) {
332
- this.otpHandler = new OtpHandler(identityInstrument, modules.signatures, shared.databases.authKeys);
392
+ this.otpHandler = new OtpHandler(identityInstrument, modules.signatures, shared.databases.authKeys, shared.env);
333
393
  shared.handlers.set(Kinds.LoginEmailOtp, this.otpHandler);
334
394
  }
335
395
  if (ops.identity.google?.enabled) {
336
- shared.handlers.set(Kinds.LoginGooglePkce, new AuthCodePkceHandler('google-pkce', 'https://accounts.google.com', 'https://accounts.google.com/o/oauth2/v2/auth', ops.identity.google.clientId, identityInstrument, modules.signatures, shared.databases.authCommitments, shared.databases.authKeys));
396
+ shared.handlers.set(Kinds.LoginGooglePkce, new AuthCodePkceHandler('google-pkce', 'https://accounts.google.com', 'https://accounts.google.com/o/oauth2/v2/auth', ops.identity.google.clientId, identityInstrument, modules.signatures, shared.databases.authCommitments, shared.databases.authKeys, shared.env));
337
397
  }
338
398
  if (ops.identity.apple?.enabled) {
339
- shared.handlers.set(Kinds.LoginApple, new AuthCodeHandler('apple', 'https://appleid.apple.com', 'https://appleid.apple.com/auth/authorize', ops.identity.apple.clientId, identityInstrument, modules.signatures, shared.databases.authCommitments, shared.databases.authKeys));
399
+ shared.handlers.set(Kinds.LoginApple, new AuthCodeHandler('apple', 'https://appleid.apple.com', 'https://appleid.apple.com/auth/authorize', ops.identity.apple.clientId, identityInstrument, modules.signatures, shared.databases.authCommitments, shared.databases.authKeys, shared.env));
340
400
  }
341
401
  if (ops.identity.customProviders?.length) {
342
402
  for (const provider of ops.identity.customProviders) {
@@ -344,10 +404,10 @@ export class Manager {
344
404
  case 'id-token':
345
405
  throw new Error('id-token is not supported yet');
346
406
  case 'authcode':
347
- shared.handlers.set(provider.kind, new AuthCodeHandler(provider.kind, provider.issuer, provider.oauthUrl, provider.clientId, identityInstrument, modules.signatures, shared.databases.authCommitments, shared.databases.authKeys));
407
+ shared.handlers.set(provider.kind, new AuthCodeHandler(provider.kind, provider.issuer, provider.oauthUrl, provider.clientId, identityInstrument, modules.signatures, shared.databases.authCommitments, shared.databases.authKeys, shared.env));
348
408
  break;
349
409
  case 'authcode-pkce':
350
- shared.handlers.set(provider.kind, new AuthCodePkceHandler(provider.kind, provider.issuer, provider.oauthUrl, provider.clientId, identityInstrument, modules.signatures, shared.databases.authCommitments, shared.databases.authKeys));
410
+ shared.handlers.set(provider.kind, new AuthCodePkceHandler(provider.kind, provider.issuer, provider.oauthUrl, provider.clientId, identityInstrument, modules.signatures, shared.databases.authCommitments, shared.databases.authKeys, shared.env));
351
411
  break;
352
412
  default:
353
413
  throw new Error('unsupported auth method');
@@ -108,7 +108,7 @@ export class Messages {
108
108
  await this.shared.databases.signatures.del(message.signatureId);
109
109
  await this.shared.databases.messages.del(message.id);
110
110
  }
111
- catch (error) {
111
+ catch {
112
112
  // Ignore
113
113
  }
114
114
  }
@@ -0,0 +1,24 @@
1
+ import { Signers, State } from '@0xsequence/wallet-core';
2
+ import type { Extensions } from '@0xsequence/wallet-primitives';
3
+ import type { Address, Hex } from 'ox';
4
+ export type PasskeySigner = Signers.SapientSigner & Signers.Witnessable & {
5
+ credentialId: string;
6
+ publicKey: Extensions.Passkeys.PublicKey;
7
+ imageHash: Hex.Hex;
8
+ };
9
+ export type PasskeyProvider = {
10
+ create: (extensions: Pick<Extensions.Extensions, 'passkeys'>, options?: Signers.Passkey.CreatePasskeyOptions) => Promise<PasskeySigner>;
11
+ find: (stateReader: State.Reader, extensions: Pick<Extensions.Extensions, 'passkeys'>, options?: Signers.Passkey.FindPasskeyOptions) => Promise<PasskeySigner | undefined>;
12
+ loadFromWitness: (stateReader: State.Reader, extensions: Pick<Extensions.Extensions, 'passkeys'>, wallet: Address.Address, imageHash: Hex.Hex, options?: Signers.Passkey.FindPasskeyOptions) => Promise<PasskeySigner | undefined>;
13
+ fromCredential: (args: {
14
+ credentialId: string;
15
+ publicKey: Extensions.Passkeys.PublicKey;
16
+ extensions: Pick<Extensions.Extensions, 'passkeys'>;
17
+ embedMetadata?: boolean;
18
+ metadata?: Extensions.Passkeys.PasskeyMetadata;
19
+ webauthn?: Signers.Passkey.WebAuthnLike;
20
+ }) => PasskeySigner;
21
+ isSigner?: (signer: unknown) => signer is PasskeySigner;
22
+ };
23
+ export declare const defaultPasskeyProvider: PasskeyProvider;
24
+ //# sourceMappingURL=passkeys-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passkeys-provider.d.ts","sourceRoot":"","sources":["../../src/sequence/passkeys-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAEtC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,GAC/C,OAAO,CAAC,WAAW,GAAG;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAA;IACxC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAA;CACnB,CAAA;AAEH,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,CACN,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,oBAAoB,KAC3C,OAAO,CAAC,aAAa,CAAC,CAAA;IAC3B,IAAI,EAAE,CACJ,WAAW,EAAE,KAAK,CAAC,MAAM,EACzB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,kBAAkB,KACzC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAA;IACvC,eAAe,EAAE,CACf,WAAW,EAAE,KAAK,CAAC,MAAM,EACzB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,SAAS,EAAE,GAAG,CAAC,GAAG,EAClB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,kBAAkB,KACzC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAA;IACvC,cAAc,EAAE,CAAC,IAAI,EAAE;QACrB,YAAY,EAAE,MAAM,CAAA;QACpB,SAAS,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAA;QACxC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QACnD,aAAa,CAAC,EAAE,OAAO,CAAA;QACvB,QAAQ,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAA;QAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAA;KACxC,KAAK,aAAa,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,IAAI,aAAa,CAAA;CACxD,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,eAepC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { Signers } from '@0xsequence/wallet-core';
2
+ export const defaultPasskeyProvider = {
3
+ create: (extensions, options) => Signers.Passkey.Passkey.create(extensions, options),
4
+ find: (stateReader, extensions, options) => Signers.Passkey.Passkey.find(stateReader, extensions, options),
5
+ loadFromWitness: (stateReader, extensions, wallet, imageHash, options) => Signers.Passkey.Passkey.loadFromWitness(stateReader, extensions, wallet, imageHash, options),
6
+ fromCredential: ({ credentialId, publicKey, extensions, embedMetadata, metadata, webauthn }) => new Signers.Passkey.Passkey({
7
+ credentialId,
8
+ publicKey,
9
+ extensions,
10
+ embedMetadata,
11
+ metadata,
12
+ webauthn,
13
+ }),
14
+ isSigner: (signer) => signer instanceof Signers.Passkey.Passkey,
15
+ };
@@ -178,6 +178,8 @@ export declare class Recovery implements RecoveryInterface {
178
178
  onQueuedPayloadsUpdate(wallet: Address.Address | undefined, cb: (payloads: QueuedRecoveryPayload[]) => void, trigger?: boolean): () => void;
179
179
  updateQueuedPayloads(): Promise<void>;
180
180
  fetchQueuedPayloads(wallet: Address.Address, chainId?: number): Promise<QueuedRecoveryPayload[]>;
181
+ private fetchTotalQueuedPayloadsBatched;
182
+ private fetchTotalQueuedPayloadsFallback;
181
183
  encodeRecoverySignature(imageHash: Hex.Hex, signer: Address.Address): Promise<import("ox/Bytes").Bytes>;
182
184
  }
183
185
  //# sourceMappingURL=recovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/sequence/recovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/sequence/recovery.ts"],"names":[],"mappings":"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"}