@0xsequence/wallet-wdk 3.0.2 → 3.0.4

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 (47) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-lint.log +1 -1
  3. package/.turbo/turbo-typecheck.log +1 -1
  4. package/CHANGELOG.md +24 -0
  5. package/dist/sequence/handlers/authcode.d.ts.map +1 -1
  6. package/dist/sequence/handlers/authcode.js +6 -0
  7. package/dist/sequence/handlers/identity.d.ts +1 -0
  8. package/dist/sequence/handlers/identity.d.ts.map +1 -1
  9. package/dist/sequence/handlers/identity.js +3 -0
  10. package/dist/sequence/handlers/idtoken.d.ts +33 -0
  11. package/dist/sequence/handlers/idtoken.d.ts.map +1 -0
  12. package/dist/sequence/handlers/idtoken.js +113 -0
  13. package/dist/sequence/handlers/index.d.ts +1 -0
  14. package/dist/sequence/handlers/index.d.ts.map +1 -1
  15. package/dist/sequence/handlers/index.js +1 -0
  16. package/dist/sequence/manager.d.ts +23 -14
  17. package/dist/sequence/manager.d.ts.map +1 -1
  18. package/dist/sequence/manager.js +28 -4
  19. package/dist/sequence/sessions.d.ts.map +1 -1
  20. package/dist/sequence/sessions.js +5 -1
  21. package/dist/sequence/signers.d.ts.map +1 -1
  22. package/dist/sequence/signers.js +4 -0
  23. package/dist/sequence/types/signer.d.ts +1 -1
  24. package/dist/sequence/types/signer.js +1 -1
  25. package/dist/sequence/types/wallet.d.ts +1 -1
  26. package/dist/sequence/wallets.d.ts +7 -1
  27. package/dist/sequence/wallets.d.ts.map +1 -1
  28. package/dist/sequence/wallets.js +73 -7
  29. package/package.json +6 -6
  30. package/src/sequence/handlers/authcode.ts +6 -0
  31. package/src/sequence/handlers/identity.ts +4 -0
  32. package/src/sequence/handlers/idtoken.ts +146 -0
  33. package/src/sequence/handlers/index.ts +1 -0
  34. package/src/sequence/manager.ts +110 -43
  35. package/src/sequence/sessions.ts +7 -1
  36. package/src/sequence/signers.ts +5 -0
  37. package/src/sequence/types/signer.ts +1 -1
  38. package/src/sequence/types/wallet.ts +1 -1
  39. package/src/sequence/wallets.ts +98 -9
  40. package/test/authcode-pkce.test.ts +1 -1
  41. package/test/authcode.test.ts +2 -2
  42. package/test/identity-auth-dbs.test.ts +122 -2
  43. package/test/identity-signer.test.ts +1 -1
  44. package/test/idtoken.test.ts +343 -0
  45. package/test/sessions-idtoken.test.ts +98 -0
  46. package/test/signers-kindof.test.ts +22 -0
  47. package/test/wallets.test.ts +202 -1
@@ -1,5 +1,5 @@
1
1
 
2
2
 
3
- > @0xsequence/wallet-wdk@3.0.2 build /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
3
+ > @0xsequence/wallet-wdk@3.0.4 build /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
4
4
  > tsc
5
5
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @0xsequence/wallet-wdk@3.0.2 lint /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
2
+ > @0xsequence/wallet-wdk@3.0.4 lint /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
3
3
  > eslint . --max-warnings 0
4
4
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @0xsequence/wallet-wdk@3.0.2 typecheck /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
2
+ > @0xsequence/wallet-wdk@3.0.4 typecheck /home/taylan/development/sequence/sequence.js/packages/wallet/wdk
3
3
  > tsc --noEmit
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @0xsequence/wallet-wdk
2
2
 
3
+ ## 3.0.4
4
+
5
+ ### Patch Changes
6
+
7
+ - id-token login support
8
+ - Updated dependencies
9
+ - @0xsequence/guard@3.0.4
10
+ - @0xsequence/identity-instrument@3.0.4
11
+ - @0xsequence/relayer@3.0.4
12
+ - @0xsequence/wallet-core@3.0.4
13
+ - @0xsequence/wallet-primitives@3.0.4
14
+
15
+ ## 3.0.3
16
+
17
+ ### Patch Changes
18
+
19
+ - 3.0.3
20
+ - Updated dependencies
21
+ - @0xsequence/guard@3.0.3
22
+ - @0xsequence/identity-instrument@3.0.3
23
+ - @0xsequence/relayer@3.0.3
24
+ - @0xsequence/wallet-core@3.0.3
25
+ - @0xsequence/wallet-primitives@3.0.3
26
+
3
27
  ## 3.0.2
4
28
 
5
29
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"authcode.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/authcode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAS,MAAM,IAAI,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACtH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAkB,MAAM,EAAE,MAAM,cAAc,CAAA;AAE1D,qBAAa,eAAgB,SAAQ,eAAgB,YAAW,OAAO;aAInD,UAAU,EAAE,OAAO,GAAG,aAAa,GAAG,UAAU,MAAM,EAAE;aACxD,MAAM,EAAE,MAAM;IAC9B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;aACnB,QAAQ,EAAE,MAAM;IAGhC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,eAAe;IATpD,SAAS,CAAC,WAAW,EAAE,MAAM,CAAK;gBAGhB,UAAU,EAAE,OAAO,GAAG,aAAa,GAAG,UAAU,MAAM,EAAE,EACxD,MAAM,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChC,KAAK,EAAE,QAAQ,CAAC,kBAAkB,EAClC,UAAU,EAAE,UAAU,EACH,WAAW,EAAE,EAAE,CAAC,eAAe,EAClD,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,GAAG,CAAC,EAAE,MAAM;IAKd,IAAW,IAAI,WAEd;IAEM,cAAc,CAAC,WAAW,EAAE,MAAM;IAI5B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAyB7E,YAAY,CACvB,UAAU,EAAE,EAAE,CAAC,cAAc,EAC7B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,CAAC,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAWjD,MAAM,CACV,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,UAAU,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,EAC/B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;IA4B9D,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAUhE,OAAO,CAAC,aAAa;CAOtB"}
1
+ {"version":3,"file":"authcode.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/authcode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAS,MAAM,IAAI,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACtH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,KAAK,EAAkB,MAAM,EAAE,MAAM,cAAc,CAAA;AAE1D,qBAAa,eAAgB,SAAQ,eAAgB,YAAW,OAAO;aAInD,UAAU,EAAE,OAAO,GAAG,aAAa,GAAG,UAAU,MAAM,EAAE;aACxD,MAAM,EAAE,MAAM;IAC9B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;aACnB,QAAQ,EAAE,MAAM;IAGhC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,eAAe;IATpD,SAAS,CAAC,WAAW,EAAE,MAAM,CAAK;gBAGhB,UAAU,EAAE,OAAO,GAAG,aAAa,GAAG,UAAU,MAAM,EAAE,EACxD,MAAM,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChC,KAAK,EAAE,QAAQ,CAAC,kBAAkB,EAClC,UAAU,EAAE,UAAU,EACH,WAAW,EAAE,EAAE,CAAC,eAAe,EAClD,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,GAAG,CAAC,EAAE,MAAM;IAKd,IAAW,IAAI,WAOd;IAEM,cAAc,CAAC,WAAW,EAAE,MAAM;IAI5B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAyB7E,YAAY,CACvB,UAAU,EAAE,EAAE,CAAC,cAAc,EAC7B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,CAAC,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAWjD,MAAM,CACV,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,UAAU,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,EAC/B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;IA4B9D,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAUhE,OAAO,CAAC,aAAa;CAOtB"}
@@ -1,6 +1,7 @@
1
1
  import { Hex, Bytes } from 'ox';
2
2
  import * as Identity from '@0xsequence/identity-instrument';
3
3
  import { IdentityHandler } from './identity.js';
4
+ import { Kinds } from '../types/signer.js';
4
5
  export class AuthCodeHandler extends IdentityHandler {
5
6
  signupKind;
6
7
  issuer;
@@ -17,6 +18,11 @@ export class AuthCodeHandler extends IdentityHandler {
17
18
  this.commitments = commitments;
18
19
  }
19
20
  get kind() {
21
+ if (this.signupKind === 'google-pkce') {
22
+ // Keep Google PKCE on the canonical kind so Google signers created before
23
+ // canonicalization still resolve as `login-google`.
24
+ return Kinds.LoginGoogle;
25
+ }
20
26
  return 'login-' + this.signupKind;
21
27
  }
22
28
  setRedirectUri(redirectUri) {
@@ -21,6 +21,7 @@ export declare class IdentityHandler {
21
21
  }>;
22
22
  protected sign(signer: IdentitySigner, request: BaseSignatureRequest): Promise<void>;
23
23
  protected getAuthKeySigner(address: string): Promise<IdentitySigner | undefined>;
24
+ protected clearAuthKeySigner(address: string): Promise<void>;
24
25
  private getAuthKey;
25
26
  }
26
27
  //# sourceMappingURL=identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,KAAK,QAAQ,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,cAAc,EAAqB,MAAM,0BAA0B,CAAA;AAC5E,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAA;AAEzD,eAAO,MAAM,iBAAiB,GAAI,eAAe,QAAQ,CAAC,YAAY,KAAG,GAAG,CAAC,GAW5E,CAAA;AAED,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;aACX,YAAY,EAAE,QAAQ,CAAC,YAAY;IANrD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;gBAGX,KAAK,EAAE,QAAQ,CAAC,kBAAkB,EAClC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,UAAU,EAAE,UAAU,EACvB,YAAY,EAAE,QAAQ,CAAC,YAAY,EACnD,GAAG,CAAC,EAAE,MAAM;IAKP,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;cAIjC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS;cAWjD,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS;;;;cAkB/C,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB;cAQ1D,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;YAQxE,UAAU;CA0BzB"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,KAAK,QAAQ,MAAM,iCAAiC,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,cAAc,EAAqB,MAAM,0BAA0B,CAAA;AAC5E,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAA;AAEzD,eAAO,MAAM,iBAAiB,GAAI,eAAe,QAAQ,CAAC,YAAY,KAAG,GAAG,CAAC,GAW5E,CAAA;AAED,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;aACX,YAAY,EAAE,QAAQ,CAAC,YAAY;IANrD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;gBAGX,KAAK,EAAE,QAAQ,CAAC,kBAAkB,EAClC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,UAAU,EAAE,UAAU,EACvB,YAAY,EAAE,QAAQ,CAAC,YAAY,EACnD,GAAG,CAAC,EAAE,MAAM;IAKP,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;cAIjC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS;cAWjD,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS;;;;cAkB/C,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB;cAQ1D,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;cAQtE,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAIpD,UAAU;CA0BzB"}
@@ -67,6 +67,9 @@ export class IdentityHandler {
67
67
  }
68
68
  return new IdentitySigner(this.nitro, authKey, this.env.crypto);
69
69
  }
70
+ async clearAuthKeySigner(address) {
71
+ await this.authKeys.delBySigner(address);
72
+ }
70
73
  async getAuthKey(signer) {
71
74
  let authKey = await this.authKeys.getBySigner(signer);
72
75
  if (!signer && !authKey) {
@@ -0,0 +1,33 @@
1
+ import { Address, Hex } from 'ox';
2
+ import { Signers } from '@0xsequence/wallet-core';
3
+ import { Handler } from './handler.js';
4
+ import * as Identity from '@0xsequence/identity-instrument';
5
+ import * as Db from '../../dbs/index.js';
6
+ import { Signatures } from '../signatures.js';
7
+ import { SignerActionable, SignerReady, SignerUnavailable, BaseSignatureRequest } from '../types/signature-request.js';
8
+ import { IdentitySigner } from '../../identity/signer.js';
9
+ import { IdentityHandler } from './identity.js';
10
+ import type { WdkEnv } from '../../env.js';
11
+ type RespondFn = (idToken: string) => Promise<void>;
12
+ export type PromptIdTokenHandler = (kind: 'google-id-token' | 'apple-id-token' | `custom-${string}`, respond: RespondFn) => Promise<void>;
13
+ export declare class IdTokenHandler extends IdentityHandler implements Handler {
14
+ readonly signupKind: 'google-id-token' | 'apple-id-token' | `custom-${string}`;
15
+ readonly issuer: string;
16
+ readonly audience: string;
17
+ private onPromptIdToken;
18
+ constructor(signupKind: 'google-id-token' | 'apple-id-token' | `custom-${string}`, issuer: string, audience: string, nitro: Identity.IdentityInstrument, signatures: Signatures, authKeys: Db.AuthKeys, env?: WdkEnv);
19
+ get kind(): string;
20
+ registerUI(onPromptIdToken: PromptIdTokenHandler): () => void;
21
+ unregisterUI(): void;
22
+ completeAuth(idToken: string): Promise<[IdentitySigner, {
23
+ [key: string]: string;
24
+ }]>;
25
+ getSigner(): Promise<{
26
+ signer: Signers.Signer & Signers.Witnessable;
27
+ email: string;
28
+ }>;
29
+ status(address: Address.Address, _imageHash: Hex.Hex | undefined, request: BaseSignatureRequest): Promise<SignerUnavailable | SignerReady | SignerActionable>;
30
+ private handleAuth;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=idtoken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idtoken.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/idtoken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,QAAQ,MAAM,iCAAiC,CAAA;AAC3D,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACtH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE1C,KAAK,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEnD,MAAM,MAAM,oBAAoB,GAAG,CACjC,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,MAAM,EAAE,EAC/D,OAAO,EAAE,SAAS,KACf,OAAO,CAAC,IAAI,CAAC,CAAA;AAElB,qBAAa,cAAe,SAAQ,eAAgB,YAAW,OAAO;aAIlD,UAAU,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,MAAM,EAAE;aACrE,MAAM,EAAE,MAAM;aACd,QAAQ,EAAE,MAAM;IALlC,OAAO,CAAC,eAAe,CAAkC;gBAGvC,UAAU,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,MAAM,EAAE,EACrE,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChC,KAAK,EAAE,QAAQ,CAAC,kBAAkB,EAClC,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,EAAE,CAAC,QAAQ,EACrB,GAAG,CAAC,EAAE,MAAM;IAKd,IAAW,IAAI,WAQd;IAEM,UAAU,CAAC,eAAe,EAAE,oBAAoB;IAOhD,YAAY;IAIN,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAQnF,SAAS,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAS5F,MAAM,CACV,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,UAAU,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,EAC/B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;IAgD9D,OAAO,CAAC,UAAU;CAqBnB"}
@@ -0,0 +1,113 @@
1
+ import { Address } from 'ox';
2
+ import * as Identity from '@0xsequence/identity-instrument';
3
+ import { IdentityHandler } from './identity.js';
4
+ import { Kinds } from '../types/signer.js';
5
+ export class IdTokenHandler extends IdentityHandler {
6
+ signupKind;
7
+ issuer;
8
+ audience;
9
+ onPromptIdToken;
10
+ constructor(signupKind, issuer, audience, nitro, signatures, authKeys, env) {
11
+ super(nitro, authKeys, signatures, Identity.IdentityType.OIDC, env);
12
+ this.signupKind = signupKind;
13
+ this.issuer = issuer;
14
+ this.audience = audience;
15
+ }
16
+ get kind() {
17
+ if (this.signupKind === 'google-id-token') {
18
+ return Kinds.LoginGoogle;
19
+ }
20
+ if (this.signupKind === 'apple-id-token') {
21
+ return Kinds.LoginApple;
22
+ }
23
+ return 'login-' + this.signupKind;
24
+ }
25
+ registerUI(onPromptIdToken) {
26
+ this.onPromptIdToken = onPromptIdToken;
27
+ return () => {
28
+ this.onPromptIdToken = undefined;
29
+ };
30
+ }
31
+ unregisterUI() {
32
+ this.onPromptIdToken = undefined;
33
+ }
34
+ async completeAuth(idToken) {
35
+ const challenge = new Identity.IdTokenChallenge(this.issuer, this.audience, idToken);
36
+ await this.nitroCommitVerifier(challenge);
37
+ const { signer: identitySigner, email } = await this.nitroCompleteAuth(challenge);
38
+ return [identitySigner, { email }];
39
+ }
40
+ async getSigner() {
41
+ const onPromptIdToken = this.onPromptIdToken;
42
+ if (!onPromptIdToken) {
43
+ throw new Error('id-token-handler-ui-not-registered');
44
+ }
45
+ return await this.handleAuth(onPromptIdToken);
46
+ }
47
+ async status(address, _imageHash, request) {
48
+ const signer = await this.getAuthKeySigner(address);
49
+ if (signer) {
50
+ return {
51
+ address,
52
+ handler: this,
53
+ status: 'ready',
54
+ handle: async () => {
55
+ await this.sign(signer, request);
56
+ return true;
57
+ },
58
+ };
59
+ }
60
+ const onPromptIdToken = this.onPromptIdToken;
61
+ if (!onPromptIdToken) {
62
+ return {
63
+ address,
64
+ handler: this,
65
+ reason: 'ui-not-registered',
66
+ status: 'unavailable',
67
+ };
68
+ }
69
+ return {
70
+ address,
71
+ handler: this,
72
+ status: 'actionable',
73
+ message: 'request-id-token',
74
+ handle: async () => {
75
+ try {
76
+ const { signer } = await this.handleAuth(onPromptIdToken);
77
+ const signerAddress = (await signer.address);
78
+ if (!Address.isEqual(signerAddress, address)) {
79
+ // ID-token auth prompts are keyed by provider kind, not the requested signer address.
80
+ // For example, a user can pick a different Google account in the account picker and
81
+ // return a token for a different identity than this request expects.
82
+ await this.clearAuthKeySigner(signerAddress);
83
+ throw new Error('id-token-signer-mismatch');
84
+ }
85
+ return true;
86
+ }
87
+ catch {
88
+ return false;
89
+ }
90
+ },
91
+ };
92
+ }
93
+ handleAuth(onPromptIdToken) {
94
+ // eslint-disable-next-line no-async-promise-executor
95
+ return new Promise(async (resolve, reject) => {
96
+ try {
97
+ const respond = async (idToken) => {
98
+ try {
99
+ const [signer, metadata] = await this.completeAuth(idToken);
100
+ resolve({ signer, email: metadata.email || '' });
101
+ }
102
+ catch (error) {
103
+ reject(error);
104
+ }
105
+ };
106
+ await onPromptIdToken(this.signupKind, respond);
107
+ }
108
+ catch (error) {
109
+ reject(error);
110
+ }
111
+ });
112
+ }
113
+ }
@@ -3,5 +3,6 @@ export { DevicesHandler } from './devices.js';
3
3
  export { PasskeysHandler } from './passkeys.js';
4
4
  export { OtpHandler } from './otp.js';
5
5
  export { AuthCodePkceHandler } from './authcode-pkce.js';
6
+ export { IdTokenHandler } from './idtoken.js';
6
7
  export { MnemonicHandler } from './mnemonic.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sequence/handlers/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA"}
@@ -2,4 +2,5 @@ export { DevicesHandler } from './devices.js';
2
2
  export { PasskeysHandler } from './passkeys.js';
3
3
  export { OtpHandler } from './otp.js';
4
4
  export { AuthCodePkceHandler } from './authcode-pkce.js';
5
+ export { IdTokenHandler } from './idtoken.js';
5
6
  export { MnemonicHandler } from './mnemonic.js';
@@ -19,8 +19,21 @@ import { Wallets, WalletsInterface } from './wallets.js';
19
19
  import { PromptCodeHandler } from './handlers/guard.js';
20
20
  import { PasskeyCredential } from '../dbs/index.js';
21
21
  import { PromptMnemonicHandler } from './handlers/mnemonic.js';
22
+ import { PromptIdTokenHandler } from './handlers/idtoken.js';
22
23
  import { PromptOtpHandler } from './handlers/otp.js';
23
24
  import { type PasskeyProvider } from './passkeys-provider.js';
25
+ type CustomIdentityProvider = {
26
+ kind: `custom-${string}`;
27
+ authMethod: 'id-token';
28
+ issuer: string;
29
+ clientId: string;
30
+ } | {
31
+ kind: `custom-${string}`;
32
+ authMethod: 'authcode' | 'authcode-pkce';
33
+ issuer: string;
34
+ oauthUrl: string;
35
+ clientId: string;
36
+ };
24
37
  export type ManagerOptions = {
25
38
  verbose?: boolean;
26
39
  extensions?: Extensions.Extensions;
@@ -61,18 +74,14 @@ export type ManagerOptions = {
61
74
  google?: {
62
75
  enabled: boolean;
63
76
  clientId: string;
77
+ authMethod?: 'authcode-pkce' | 'id-token';
64
78
  };
65
79
  apple?: {
66
80
  enabled: boolean;
67
81
  clientId: string;
82
+ authMethod?: 'authcode' | 'id-token';
68
83
  };
69
- customProviders?: {
70
- kind: `custom-${string}`;
71
- authMethod: 'id-token' | 'authcode' | 'authcode-pkce';
72
- issuer: string;
73
- oauthUrl: string;
74
- clientId: string;
75
- }[];
84
+ customProviders?: CustomIdentityProvider[];
76
85
  };
77
86
  };
78
87
  export type ResolvedIdentityOptions = {
@@ -87,18 +96,14 @@ export type ResolvedIdentityOptions = {
87
96
  google: {
88
97
  enabled: boolean;
89
98
  clientId: string;
99
+ authMethod: 'authcode-pkce' | 'id-token';
90
100
  };
91
101
  apple: {
92
102
  enabled: boolean;
93
103
  clientId: string;
104
+ authMethod: 'authcode' | 'id-token';
94
105
  };
95
- customProviders?: {
96
- kind: `custom-${string}`;
97
- authMethod: 'id-token' | 'authcode' | 'authcode-pkce';
98
- issuer: string;
99
- oauthUrl: string;
100
- clientId: string;
101
- }[];
106
+ customProviders?: CustomIdentityProvider[];
102
107
  };
103
108
  export type ResolvedManagerOptions = {
104
109
  verbose: boolean;
@@ -172,10 +177,12 @@ export declare const ManagerOptionsDefaults: {
172
177
  google: {
173
178
  enabled: boolean;
174
179
  clientId: string;
180
+ authMethod: "authcode-pkce";
175
181
  };
176
182
  apple: {
177
183
  enabled: boolean;
178
184
  clientId: string;
185
+ authMethod: "authcode";
179
186
  };
180
187
  };
181
188
  };
@@ -349,6 +356,7 @@ export declare class Manager {
349
356
  constructor(options?: ManagerOptions);
350
357
  registerMnemonicUI(onPromptMnemonic: PromptMnemonicHandler): () => void;
351
358
  registerOtpUI(onPromptOtp: PromptOtpHandler): () => void;
359
+ registerIdTokenUI(onPromptIdToken: PromptIdTokenHandler): () => void;
352
360
  registerGuardUI(onPromptCode: PromptCodeHandler): () => void;
353
361
  setRedirectPrefix(prefix: string): Promise<void>;
354
362
  getNetworks(): Network.Network[];
@@ -356,4 +364,5 @@ export declare class Manager {
356
364
  getPasskeyCredentials(): Promise<PasskeyCredential[]>;
357
365
  stop(): Promise<void>;
358
366
  }
367
+ export {};
359
368
  //# sourceMappingURL=manager.d.ts.map
@@ -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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"}
@@ -10,7 +10,7 @@ import { Cron } from './cron.js';
10
10
  import { Devices } from './devices.js';
11
11
  import { Guards } from './guards.js';
12
12
  import { AuthCodeHandler } from './handlers/authcode.js';
13
- import { AuthCodePkceHandler, DevicesHandler, MnemonicHandler, OtpHandler, PasskeysHandler, } from './handlers/index.js';
13
+ import { AuthCodePkceHandler, DevicesHandler, IdTokenHandler, MnemonicHandler, OtpHandler, PasskeysHandler, } from './handlers/index.js';
14
14
  import { RecoveryHandler } from './handlers/recovery.js';
15
15
  import { Logger } from './logger.js';
16
16
  import { Messages } from './messages.js';
@@ -93,10 +93,12 @@ export const ManagerOptionsDefaults = {
93
93
  google: {
94
94
  enabled: false,
95
95
  clientId: '',
96
+ authMethod: 'authcode-pkce',
96
97
  },
97
98
  apple: {
98
99
  enabled: false,
99
100
  clientId: '',
101
+ authMethod: 'authcode',
100
102
  },
101
103
  },
102
104
  };
@@ -393,16 +395,27 @@ export class Manager {
393
395
  shared.handlers.set(Kinds.LoginEmailOtp, this.otpHandler);
394
396
  }
395
397
  if (ops.identity.google?.enabled) {
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));
398
+ if (ops.identity.google.authMethod === 'id-token') {
399
+ shared.handlers.set(Kinds.LoginGoogle, new IdTokenHandler('google-id-token', 'https://accounts.google.com', ops.identity.google.clientId, identityInstrument, modules.signatures, shared.databases.authKeys, shared.env));
400
+ }
401
+ else {
402
+ shared.handlers.set(Kinds.LoginGoogle, 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));
403
+ }
397
404
  }
398
405
  if (ops.identity.apple?.enabled) {
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));
406
+ if (ops.identity.apple.authMethod === 'id-token') {
407
+ shared.handlers.set(Kinds.LoginApple, new IdTokenHandler('apple-id-token', 'https://appleid.apple.com', ops.identity.apple.clientId, identityInstrument, modules.signatures, shared.databases.authKeys, shared.env));
408
+ }
409
+ else {
410
+ 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));
411
+ }
400
412
  }
401
413
  if (ops.identity.customProviders?.length) {
402
414
  for (const provider of ops.identity.customProviders) {
403
415
  switch (provider.authMethod) {
404
416
  case 'id-token':
405
- throw new Error('id-token is not supported yet');
417
+ shared.handlers.set(provider.kind, new IdTokenHandler(provider.kind, provider.issuer, provider.clientId, identityInstrument, modules.signatures, shared.databases.authKeys, shared.env));
418
+ break;
406
419
  case 'authcode':
407
420
  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));
408
421
  break;
@@ -429,6 +442,17 @@ export class Manager {
429
442
  registerOtpUI(onPromptOtp) {
430
443
  return this.otpHandler?.registerUI(onPromptOtp) || (() => { });
431
444
  }
445
+ registerIdTokenUI(onPromptIdToken) {
446
+ const unregisters = [];
447
+ this.shared.handlers.forEach((handler) => {
448
+ if (handler instanceof IdTokenHandler) {
449
+ unregisters.push(handler.registerUI(onPromptIdToken));
450
+ }
451
+ });
452
+ return () => {
453
+ unregisters.forEach((unregister) => unregister());
454
+ };
455
+ }
432
456
  registerGuardUI(onPromptCode) {
433
457
  return this.guardHandler?.registerUI(onPromptCode) || (() => { });
434
458
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/sequence/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/sequence/sessions.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { Envelope } from '@0xsequence/wallet-core';
2
2
  import { Config, GenericTree, Payload, SessionConfig, } from '@0xsequence/wallet-primitives';
3
3
  import { Address, Bytes, Hash, Hex } from 'ox';
4
+ import { AuthCodeHandler } from './handlers/authcode.js';
4
5
  import { AuthCodePkceHandler } from './handlers/authcode-pkce.js';
6
+ import { IdTokenHandler } from './handlers/idtoken.js';
5
7
  import { IdentityHandler, identityTypeToHex } from './handlers/identity.js';
6
8
  import { ManagerOptionsDefaults } from './manager.js';
7
9
  import { Kinds } from './types/index.js';
@@ -166,7 +168,9 @@ export class Sessions {
166
168
  let audienceHash = '0x';
167
169
  if (handler instanceof IdentityHandler) {
168
170
  identityType = handler.identityType;
169
- if (handler instanceof AuthCodePkceHandler) {
171
+ if (handler instanceof AuthCodeHandler ||
172
+ handler instanceof AuthCodePkceHandler ||
173
+ handler instanceof IdTokenHandler) {
170
174
  issuerHash = Hash.keccak256(Hex.fromString(handler.issuer));
171
175
  audienceHash = Hash.keccak256(Hex.fromString(handler.audience));
172
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"signers.d.ts","sourceRoot":"","sources":["../../src/sequence/signers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,IAAI,EAAS,cAAc,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAEvF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,sBAAsB,CAEpF;AAmBD,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IA6DzG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;QAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAA;KAAE,CAAC,EAAE,GAC9E,OAAO,CAAC,cAAc,EAAE,CAAC;CAoB7B"}
1
+ {"version":3,"file":"signers.d.ts","sourceRoot":"","sources":["../../src/sequence/signers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,IAAI,EAAS,cAAc,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAEvF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,sBAAsB,CAEpF;AAwBD,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IA6DzG,YAAY,CAChB,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;QAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAA;KAAE,CAAC,EAAE,GAC9E,OAAO,CAAC,cAAc,EAAE,CAAC;CAoB7B"}
@@ -8,6 +8,10 @@ function toKnownKind(kind) {
8
8
  if (kind.startsWith('custom-')) {
9
9
  return kind;
10
10
  }
11
+ if (kind === 'login-google-pkce') {
12
+ // Normalize legacy Google PKCE witnesses while the canonical signer kind is `login-google`.
13
+ return Kinds.LoginGoogle;
14
+ }
11
15
  if (Object.values(Kinds).includes(kind)) {
12
16
  return kind;
13
17
  }
@@ -4,7 +4,7 @@ export declare const Kinds: {
4
4
  readonly LoginPasskey: "login-passkey";
5
5
  readonly LoginMnemonic: "login-mnemonic";
6
6
  readonly LoginEmailOtp: "login-email-otp";
7
- readonly LoginGooglePkce: "login-google-pkce";
7
+ readonly LoginGoogle: "login-google";
8
8
  readonly LoginApple: "login-apple";
9
9
  readonly Recovery: "recovery-extension";
10
10
  readonly Guard: "guard-extension";
@@ -3,7 +3,7 @@ export const Kinds = {
3
3
  LoginPasskey: 'login-passkey',
4
4
  LoginMnemonic: 'login-mnemonic', // Todo: do not name it login-mnemonic, just mnemonic
5
5
  LoginEmailOtp: 'login-email-otp',
6
- LoginGooglePkce: 'login-google-pkce',
6
+ LoginGoogle: 'login-google',
7
7
  LoginApple: 'login-apple',
8
8
  Recovery: 'recovery-extension',
9
9
  Guard: 'guard-extension',
@@ -31,7 +31,7 @@ export interface Wallet {
31
31
  device: Address.Address;
32
32
  /**
33
33
  * A string identifier for the authentication method used for this session.
34
- * Examples: 'login-mnemonic', 'login-passkey', 'login-google-pkce'.
34
+ * Examples: 'login-mnemonic', 'login-passkey', 'login-google'.
35
35
  * @property
36
36
  */
37
37
  loginType: string;
@@ -46,6 +46,10 @@ export type EmailOtpSignupArgs = CommonSignupArgs & {
46
46
  kind: 'email-otp';
47
47
  email: string;
48
48
  };
49
+ export type IdTokenSignupArgs = CommonSignupArgs & {
50
+ kind: 'google-id-token' | 'apple-id-token' | `custom-${string}`;
51
+ idToken: string;
52
+ };
49
53
  export type CompleteRedirectArgs = CommonSignupArgs & {
50
54
  state: string;
51
55
  code: string;
@@ -57,7 +61,7 @@ export type AuthCodeSignupArgs = CommonSignupArgs & {
57
61
  target: string;
58
62
  isRedirect: boolean;
59
63
  };
60
- export type SignupArgs = PasskeySignupArgs | MnemonicSignupArgs | EmailOtpSignupArgs | AuthCodeSignupArgs;
64
+ export type SignupArgs = PasskeySignupArgs | MnemonicSignupArgs | EmailOtpSignupArgs | IdTokenSignupArgs | AuthCodeSignupArgs;
61
65
  export type LoginToWalletArgs = {
62
66
  wallet: Address.Address;
63
67
  };
@@ -163,6 +167,7 @@ export interface WalletsInterface {
163
167
  * - `kind: 'mnemonic'`: Uses a mnemonic phrase as the login credential.
164
168
  * - `kind: 'passkey'`: Prompts the user to create a WebAuthn passkey.
165
169
  * - `kind: 'email-otp'`: Initiates an OTP flow to the user's email.
170
+ * - `kind: 'google-id-token' | 'apple-id-token'`: Completes an OIDC ID token flow when the provider is configured with `authMethod: 'id-token'`.
166
171
  * - `kind: 'google-pkce' | 'apple'`: Completes an OAuth redirect flow.
167
172
  * Common options like `noGuard` or `noRecovery` can customize the wallet's security features.
168
173
  * @returns A promise that resolves to the address of the newly created wallet, or `undefined` if the sign-up was aborted.
@@ -326,6 +331,7 @@ export declare function isLoginToWalletArgs(args: LoginArgs): args is LoginToWal
326
331
  export declare function isLoginToMnemonicArgs(args: LoginArgs): args is LoginToMnemonicArgs;
327
332
  export declare function isLoginToPasskeyArgs(args: LoginArgs): args is LoginToPasskeyArgs;
328
333
  export declare function isAuthCodeArgs(args: SignupArgs): args is AuthCodeSignupArgs;
334
+ export declare function isIdTokenArgs(args: SignupArgs): args is IdTokenSignupArgs;
329
335
  declare function fromConfig(config: Config.Config): {
330
336
  loginTopology: Config.Topology;
331
337
  devicesTopology: Config.Topology;