@privy-io/node 0.2.0 → 0.4.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 (120) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +1 -1
  3. package/client.d.mts +7 -4
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +7 -4
  6. package/client.d.ts.map +1 -1
  7. package/client.js +3 -0
  8. package/client.js.map +1 -1
  9. package/client.mjs +3 -0
  10. package/client.mjs.map +1 -1
  11. package/index.d.mts +1 -1
  12. package/index.d.mts.map +1 -1
  13. package/index.d.ts +1 -1
  14. package/index.d.ts.map +1 -1
  15. package/internal/to-file.d.mts +1 -1
  16. package/internal/to-file.d.ts +1 -1
  17. package/internal/to-file.js +1 -1
  18. package/internal/to-file.mjs +1 -1
  19. package/lib/identity-token.d.mts.map +1 -1
  20. package/lib/identity-token.d.ts.map +1 -1
  21. package/lib/identity-token.js +1 -0
  22. package/lib/identity-token.js.map +1 -1
  23. package/lib/identity-token.mjs +1 -0
  24. package/lib/identity-token.mjs.map +1 -1
  25. package/lib/user-utils.d.mts +5 -9
  26. package/lib/user-utils.d.mts.map +1 -1
  27. package/lib/user-utils.d.ts +5 -9
  28. package/lib/user-utils.d.ts.map +1 -1
  29. package/lib/user-utils.js.map +1 -1
  30. package/lib/user-utils.mjs.map +1 -1
  31. package/package.json +4 -3
  32. package/public-api/PrivyClient.d.mts +5 -1
  33. package/public-api/PrivyClient.d.mts.map +1 -1
  34. package/public-api/PrivyClient.d.ts +5 -1
  35. package/public-api/PrivyClient.d.ts.map +1 -1
  36. package/public-api/PrivyClient.js +6 -1
  37. package/public-api/PrivyClient.js.map +1 -1
  38. package/public-api/PrivyClient.mjs +6 -1
  39. package/public-api/PrivyClient.mjs.map +1 -1
  40. package/public-api/services/webhooks.d.mts +34 -0
  41. package/public-api/services/webhooks.d.mts.map +1 -0
  42. package/public-api/services/webhooks.d.ts +34 -0
  43. package/public-api/services/webhooks.d.ts.map +1 -0
  44. package/public-api/services/webhooks.js +48 -0
  45. package/public-api/services/webhooks.js.map +1 -0
  46. package/public-api/services/webhooks.mjs +43 -0
  47. package/public-api/services/webhooks.mjs.map +1 -0
  48. package/resources/client-auth.d.mts +24 -0
  49. package/resources/client-auth.d.mts.map +1 -0
  50. package/resources/client-auth.d.ts +24 -0
  51. package/resources/client-auth.d.ts.map +1 -0
  52. package/resources/client-auth.js +9 -0
  53. package/resources/client-auth.js.map +1 -0
  54. package/resources/client-auth.mjs +5 -0
  55. package/resources/client-auth.mjs.map +1 -0
  56. package/resources/index.d.mts +3 -2
  57. package/resources/index.d.mts.map +1 -1
  58. package/resources/index.d.ts +3 -2
  59. package/resources/index.d.ts.map +1 -1
  60. package/resources/index.js +3 -1
  61. package/resources/index.js.map +1 -1
  62. package/resources/index.mjs +1 -0
  63. package/resources/index.mjs.map +1 -1
  64. package/resources/policies.d.mts +76 -76
  65. package/resources/policies.d.mts.map +1 -1
  66. package/resources/policies.d.ts +76 -76
  67. package/resources/policies.d.ts.map +1 -1
  68. package/resources/policies.js +4 -4
  69. package/resources/policies.mjs +4 -4
  70. package/resources/transactions.d.mts +1 -1
  71. package/resources/transactions.d.mts.map +1 -1
  72. package/resources/transactions.d.ts +1 -1
  73. package/resources/transactions.d.ts.map +1 -1
  74. package/resources/users.d.mts +215 -98
  75. package/resources/users.d.mts.map +1 -1
  76. package/resources/users.d.ts +215 -98
  77. package/resources/users.d.ts.map +1 -1
  78. package/resources/users.js.map +1 -1
  79. package/resources/users.mjs.map +1 -1
  80. package/resources/wallets/balance.d.mts +4 -4
  81. package/resources/wallets/balance.d.mts.map +1 -1
  82. package/resources/wallets/balance.d.ts +4 -4
  83. package/resources/wallets/balance.d.ts.map +1 -1
  84. package/resources/wallets/index.d.mts +1 -1
  85. package/resources/wallets/index.d.mts.map +1 -1
  86. package/resources/wallets/index.d.ts +1 -1
  87. package/resources/wallets/index.d.ts.map +1 -1
  88. package/resources/wallets/index.js.map +1 -1
  89. package/resources/wallets/index.mjs.map +1 -1
  90. package/resources/wallets/transactions.d.mts +6 -6
  91. package/resources/wallets/transactions.d.mts.map +1 -1
  92. package/resources/wallets/transactions.d.ts +6 -6
  93. package/resources/wallets/transactions.d.ts.map +1 -1
  94. package/resources/wallets/wallets.d.mts +38 -14
  95. package/resources/wallets/wallets.d.mts.map +1 -1
  96. package/resources/wallets/wallets.d.ts +38 -14
  97. package/resources/wallets/wallets.d.ts.map +1 -1
  98. package/resources/wallets/wallets.js.map +1 -1
  99. package/resources/wallets/wallets.mjs.map +1 -1
  100. package/src/client.ts +45 -0
  101. package/src/index.ts +1 -1
  102. package/src/internal/to-file.ts +1 -1
  103. package/src/lib/identity-token.ts +22 -21
  104. package/src/lib/user-utils.ts +6 -10
  105. package/src/public-api/PrivyClient.ts +9 -0
  106. package/src/public-api/services/webhooks.ts +63 -0
  107. package/src/resources/client-auth.ts +46 -0
  108. package/src/resources/index.ts +21 -0
  109. package/src/resources/policies.ts +76 -76
  110. package/src/resources/transactions.ts +9 -1
  111. package/src/resources/users.ts +390 -184
  112. package/src/resources/wallets/balance.ts +45 -4
  113. package/src/resources/wallets/index.ts +3 -0
  114. package/src/resources/wallets/transactions.ts +48 -8
  115. package/src/resources/wallets/wallets.ts +69 -52
  116. package/src/version.ts +1 -1
  117. package/version.d.mts +1 -1
  118. package/version.d.ts +1 -1
  119. package/version.js +1 -1
  120. package/version.mjs +1 -1
@@ -1,6 +1,9 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  import { APIResource } from '../core/resource';
4
+ import * as UsersAPI from './users';
5
+ import * as ClientAuthAPI from './client-auth';
6
+ import * as WalletsAPI from './wallets/wallets';
4
7
  import { APIPromise } from '../core/api-promise';
5
8
  import { Cursor, type CursorParams, PagePromise } from '../core/pagination';
6
9
  import { buildHeaders } from '../internal/headers';
@@ -315,61 +318,86 @@ export class Users extends APIResource {
315
318
 
316
319
  export type UsersCursor = Cursor<User>;
317
320
 
318
- export interface User {
319
- id: string;
321
+ /**
322
+ * The authenticated user.
323
+ */
324
+ export interface AuthenticatedUser {
325
+ token: string | null;
326
+
327
+ privy_access_token: string | null;
328
+
329
+ refresh_token: string | null;
320
330
 
321
331
  /**
322
- * Unix timestamp of when the user was created in milliseconds.
332
+ * Instructs the client on how to handle tokens received
323
333
  */
324
- created_at: number;
334
+ session_update_action: 'set' | 'ignore' | 'clear';
335
+
336
+ user: User;
337
+
338
+ identity_token?: string;
339
+
340
+ is_new_user?: boolean;
325
341
 
326
342
  /**
327
- * Indicates if the user has accepted the terms of service.
343
+ * OAuth tokens associated with the user.
328
344
  */
329
- has_accepted_terms: boolean;
345
+ oauth_tokens?: AuthenticatedUser.OAuthTokens;
346
+ }
330
347
 
348
+ export namespace AuthenticatedUser {
331
349
  /**
332
- * Indicates if the user is a guest account user.
350
+ * OAuth tokens associated with the user.
333
351
  */
334
- is_guest: boolean;
352
+ export interface OAuthTokens {
353
+ access_token: string;
335
354
 
336
- linked_accounts: Array<
337
- | User.LinkedAccountEmail
338
- | User.LinkedAccountPhone
339
- | User.LinkedAccountCrossApp
340
- | User.LinkedAccountAuthorizationKey
341
- | User.LinkedAccountCustomJwt
342
- | User.LinkedAccountAppleOAuth
343
- | User.LinkedAccountDiscordOAuth
344
- | User.LinkedAccountGitHubOAuth
345
- | User.LinkedAccountGoogleOAuth
346
- | User.LinkedAccountInstagramOAuth
347
- | User.LinkedAccountLinkedInOAuth
348
- | User.LinkedAccountSpotifyOAuth
349
- | User.LinkedAccountTiktokOAuth
350
- | User.LinkedAccountLineOAuth
351
- | User.LinkedAccountTwitterOAuth
352
- | User.LinkedAccountSmartWallet
353
- | User.LinkedAccountPasskey
354
- | User.LinkedAccountFarcaster
355
- | User.LinkedAccountTelegram
356
- | User.LinkedAccountEthereum
357
- | User.LinkedAccountEthereumEmbeddedWallet
358
- | User.LinkedAccountSolana
359
- | User.LinkedAccountSolanaEmbeddedWallet
360
- | User.LinkedAccountBitcoinSegwitEmbeddedWallet
361
- | User.LinkedAccountBitcoinTaprootEmbeddedWallet
362
- >;
355
+ provider: string;
363
356
 
364
- mfa_methods: Array<User.PasskeyMfaMethod | User.SMSMfaMethod | User.TotpMfaMethod>;
357
+ access_token_expires_in_seconds?: number;
365
358
 
366
- /**
367
- * Custom metadata associated with the user.
368
- */
369
- custom_metadata?: { [key: string]: string | number | boolean };
359
+ refresh_token?: string;
360
+
361
+ refresh_token_expires_in_seconds?: number;
362
+
363
+ scopes?: Array<string>;
364
+ }
370
365
  }
371
366
 
372
- export namespace User {
367
+ /**
368
+ * A linked account for the user.
369
+ */
370
+ export type LinkedAccount =
371
+ | LinkedAccount.LinkedAccountEmail
372
+ | LinkedAccount.LinkedAccountPhone
373
+ | LinkedAccount.LinkedAccountCrossApp
374
+ | LinkedAccount.LinkedAccountAuthorizationKey
375
+ | LinkedAccount.LinkedAccountCustomJwt
376
+ | LinkedAccount.LinkedAccountAppleOAuth
377
+ | LinkedAccount.LinkedAccountDiscordOAuth
378
+ | LinkedAccount.LinkedAccountGitHubOAuth
379
+ | LinkedAccount.LinkedAccountGoogleOAuth
380
+ | LinkedAccount.LinkedAccountInstagramOAuth
381
+ | LinkedAccount.LinkedAccountLinkedInOAuth
382
+ | LinkedAccount.LinkedAccountSpotifyOAuth
383
+ | LinkedAccount.LinkedAccountTiktokOAuth
384
+ | LinkedAccount.LinkedAccountLineOAuth
385
+ | LinkedAccount.LinkedAccountTwitchOAuth
386
+ | LinkedAccount.LinkedAccountTwitterOAuth
387
+ | LinkedAccountSmartWallet
388
+ | LinkedAccount.LinkedAccountPasskey
389
+ | LinkedAccount.LinkedAccountFarcaster
390
+ | LinkedAccount.LinkedAccountTelegram
391
+ | LinkedAccount.LinkedAccountEthereum
392
+ | LinkedAccountEthereumEmbeddedWallet
393
+ | LinkedAccount.LinkedAccountSolana
394
+ | LinkedAccountSolanaEmbeddedWallet
395
+ | LinkedAccountBitcoinSegwitEmbeddedWallet
396
+ | LinkedAccountBitcoinTaprootEmbeddedWallet
397
+ | LinkedAccountCurveSigningEmbeddedWallet
398
+ | LinkedAccount.LinkedAccountCustomOAuth;
399
+
400
+ export namespace LinkedAccount {
373
401
  export interface LinkedAccountEmail {
374
402
  address: string;
375
403
 
@@ -594,44 +622,36 @@ export namespace User {
594
622
  verified_at: number;
595
623
  }
596
624
 
597
- export interface LinkedAccountTwitterOAuth {
625
+ export interface LinkedAccountTwitchOAuth {
598
626
  first_verified_at: number | null;
599
627
 
600
628
  latest_verified_at: number | null;
601
629
 
602
- name: string | null;
603
-
604
- profile_picture_url: string | null;
605
-
606
630
  subject: string;
607
631
 
608
- type: 'twitter_oauth';
632
+ type: 'twitch_oauth';
609
633
 
610
634
  username: string | null;
611
635
 
612
636
  verified_at: number;
613
637
  }
614
638
 
615
- export interface LinkedAccountSmartWallet {
616
- address: string;
617
-
639
+ export interface LinkedAccountTwitterOAuth {
618
640
  first_verified_at: number | null;
619
641
 
620
642
  latest_verified_at: number | null;
621
643
 
622
- smart_wallet_type:
623
- | 'safe'
624
- | 'kernel'
625
- | 'biconomy'
626
- | 'light_account'
627
- | 'coinbase_smart_wallet'
628
- | 'thirdweb';
644
+ name: string | null;
645
+
646
+ profile_picture_url: string | null;
629
647
 
630
- type: 'smart_wallet';
648
+ subject: string;
631
649
 
632
- verified_at: number;
650
+ type: 'twitter_oauth';
651
+
652
+ username: string | null;
633
653
 
634
- smart_wallet_version?: string;
654
+ verified_at: number;
635
655
  }
636
656
 
637
657
  export interface LinkedAccountPasskey {
@@ -693,12 +713,16 @@ export namespace User {
693
713
 
694
714
  telegram_user_id: string;
695
715
 
716
+ telegramUserId: string;
717
+
696
718
  type: 'telegram';
697
719
 
698
720
  verified_at: number;
699
721
 
700
722
  first_name?: string | null;
701
723
 
724
+ firstName?: string | null;
725
+
702
726
  last_name?: string | null;
703
727
 
704
728
  photo_url?: string | null;
@@ -728,203 +752,375 @@ export namespace User {
728
752
  wallet_client_type?: string;
729
753
  }
730
754
 
731
- export interface LinkedAccountEthereumEmbeddedWallet {
732
- id: string | null;
733
-
755
+ export interface LinkedAccountSolana {
734
756
  address: string;
735
757
 
736
- chain_id: string;
758
+ chain_type: 'solana';
737
759
 
738
- chain_type: 'ethereum';
760
+ first_verified_at: number | null;
739
761
 
740
- connector_type: 'embedded';
762
+ latest_verified_at: number | null;
741
763
 
742
- delegated: boolean;
764
+ type: 'wallet';
743
765
 
744
- first_verified_at: number | null;
766
+ verified_at: number;
767
+
768
+ wallet_client: 'unknown';
745
769
 
746
- imported: boolean;
770
+ connector_type?: string;
771
+
772
+ wallet_client_type?: string;
773
+ }
774
+
775
+ export interface LinkedAccountCustomOAuth {
776
+ first_verified_at: number | null;
747
777
 
748
778
  latest_verified_at: number | null;
749
779
 
750
- recovery_method:
751
- | 'privy'
752
- | 'user-passcode'
753
- | 'google-drive'
754
- | 'icloud'
755
- | 'recovery-encryption-key'
756
- | 'privy-v2';
780
+ subject: string;
757
781
 
758
- type: 'wallet';
782
+ /**
783
+ * The ID of a custom OAuth provider, set up for this app. Must start with
784
+ * "custom:".
785
+ */
786
+ type: ClientAuthAPI.CustomOAuthProviderID;
759
787
 
760
788
  verified_at: number;
761
789
 
762
- wallet_client: 'privy';
790
+ email?: string;
763
791
 
764
- wallet_client_type: 'privy';
792
+ name?: string;
793
+
794
+ profile_picture_url?: string;
765
795
 
766
- wallet_index: number;
796
+ username?: string;
767
797
  }
798
+ }
768
799
 
769
- export interface LinkedAccountSolana {
770
- address: string;
800
+ export interface User {
801
+ id: string;
771
802
 
772
- chain_type: 'solana';
803
+ /**
804
+ * Unix timestamp of when the user was created in milliseconds.
805
+ */
806
+ created_at: number;
773
807
 
774
- first_verified_at: number | null;
808
+ /**
809
+ * Indicates if the user has accepted the terms of service.
810
+ */
811
+ has_accepted_terms: boolean;
775
812
 
776
- latest_verified_at: number | null;
813
+ /**
814
+ * Indicates if the user is a guest account user.
815
+ */
816
+ is_guest: boolean;
777
817
 
778
- type: 'wallet';
818
+ linked_accounts: Array<LinkedAccount>;
819
+
820
+ mfa_methods: Array<User.PasskeyMfaMethod | User.SMSMfaMethod | User.TotpMfaMethod>;
821
+
822
+ /**
823
+ * Custom metadata associated with the user.
824
+ */
825
+ custom_metadata?: { [key: string]: string | number | boolean };
826
+ }
827
+
828
+ export namespace User {
829
+ export interface PasskeyMfaMethod {
830
+ type: 'passkey';
779
831
 
780
832
  verified_at: number;
833
+ }
781
834
 
782
- wallet_client: 'unknown';
835
+ export interface SMSMfaMethod {
836
+ type: 'sms';
783
837
 
784
- connector_type?: string;
838
+ verified_at: number;
839
+ }
785
840
 
786
- wallet_client_type?: string;
841
+ export interface TotpMfaMethod {
842
+ type: 'totp';
843
+
844
+ verified_at: number;
787
845
  }
846
+ }
788
847
 
789
- export interface LinkedAccountSolanaEmbeddedWallet {
790
- id: string | null;
848
+ export interface LinkedAccountEthereumEmbeddedWallet {
849
+ id: string | null;
791
850
 
792
- address: string;
851
+ address: string;
793
852
 
794
- chain_id: string;
853
+ chain_id: string;
795
854
 
796
- chain_type: 'solana';
855
+ chain_type: 'ethereum';
797
856
 
798
- connector_type: 'embedded';
857
+ connector_type: 'embedded';
799
858
 
800
- delegated: boolean;
859
+ delegated: boolean;
801
860
 
802
- first_verified_at: number | null;
861
+ first_verified_at: number | null;
803
862
 
804
- imported: boolean;
863
+ imported: boolean;
805
864
 
806
- latest_verified_at: number | null;
865
+ latest_verified_at: number | null;
807
866
 
808
- public_key: string;
867
+ recovery_method:
868
+ | 'privy'
869
+ | 'user-passcode'
870
+ | 'google-drive'
871
+ | 'icloud'
872
+ | 'recovery-encryption-key'
873
+ | 'privy-v2';
809
874
 
810
- recovery_method:
811
- | 'privy'
812
- | 'user-passcode'
813
- | 'google-drive'
814
- | 'icloud'
815
- | 'recovery-encryption-key'
816
- | 'privy-v2';
875
+ type: 'wallet';
817
876
 
818
- type: 'wallet';
877
+ verified_at: number;
819
878
 
820
- verified_at: number;
879
+ wallet_client: 'privy';
821
880
 
822
- wallet_client: 'privy';
881
+ wallet_client_type: 'privy';
823
882
 
824
- wallet_client_type: 'privy';
883
+ wallet_index: number;
884
+ }
825
885
 
826
- wallet_index: number;
827
- }
886
+ export interface LinkedAccountSolanaEmbeddedWallet {
887
+ id: string | null;
828
888
 
829
- export interface LinkedAccountBitcoinSegwitEmbeddedWallet {
830
- id: string | null;
889
+ address: string;
831
890
 
832
- address: string;
891
+ chain_id: string;
833
892
 
834
- chain_id: string;
893
+ chain_type: 'solana';
835
894
 
836
- chain_type: 'bitcoin-segwit';
895
+ connector_type: 'embedded';
837
896
 
838
- connector_type: 'embedded';
897
+ delegated: boolean;
839
898
 
840
- delegated: boolean;
899
+ first_verified_at: number | null;
841
900
 
842
- first_verified_at: number | null;
901
+ imported: boolean;
843
902
 
844
- imported: boolean;
903
+ latest_verified_at: number | null;
845
904
 
846
- latest_verified_at: number | null;
905
+ public_key: string;
847
906
 
848
- public_key: string;
907
+ recovery_method:
908
+ | 'privy'
909
+ | 'user-passcode'
910
+ | 'google-drive'
911
+ | 'icloud'
912
+ | 'recovery-encryption-key'
913
+ | 'privy-v2';
849
914
 
850
- recovery_method:
851
- | 'privy'
852
- | 'user-passcode'
853
- | 'google-drive'
854
- | 'icloud'
855
- | 'recovery-encryption-key'
856
- | 'privy-v2';
915
+ type: 'wallet';
857
916
 
858
- type: 'wallet';
917
+ verified_at: number;
859
918
 
860
- verified_at: number;
919
+ wallet_client: 'privy';
861
920
 
862
- wallet_client: 'privy';
921
+ wallet_client_type: 'privy';
863
922
 
864
- wallet_client_type: 'privy';
923
+ wallet_index: number;
924
+ }
865
925
 
866
- wallet_index: number;
867
- }
926
+ export interface LinkedAccountBitcoinSegwitEmbeddedWallet {
927
+ id: string | null;
868
928
 
869
- export interface LinkedAccountBitcoinTaprootEmbeddedWallet {
870
- id: string | null;
929
+ address: string;
871
930
 
872
- address: string;
931
+ chain_id: string;
873
932
 
874
- chain_id: string;
933
+ chain_type: 'bitcoin-segwit';
875
934
 
876
- chain_type: 'bitcoin-taproot';
935
+ connector_type: 'embedded';
877
936
 
878
- connector_type: 'embedded';
937
+ delegated: boolean;
879
938
 
880
- delegated: boolean;
939
+ first_verified_at: number | null;
881
940
 
882
- first_verified_at: number | null;
941
+ imported: boolean;
883
942
 
884
- imported: boolean;
943
+ latest_verified_at: number | null;
885
944
 
886
- latest_verified_at: number | null;
945
+ public_key: string;
887
946
 
888
- public_key: string;
947
+ recovery_method:
948
+ | 'privy'
949
+ | 'user-passcode'
950
+ | 'google-drive'
951
+ | 'icloud'
952
+ | 'recovery-encryption-key'
953
+ | 'privy-v2';
889
954
 
890
- recovery_method:
891
- | 'privy'
892
- | 'user-passcode'
893
- | 'google-drive'
894
- | 'icloud'
895
- | 'recovery-encryption-key'
896
- | 'privy-v2';
955
+ type: 'wallet';
897
956
 
898
- type: 'wallet';
957
+ verified_at: number;
899
958
 
900
- verified_at: number;
959
+ wallet_client: 'privy';
960
+
961
+ wallet_client_type: 'privy';
962
+
963
+ wallet_index: number;
964
+ }
965
+
966
+ export interface LinkedAccountBitcoinTaprootEmbeddedWallet {
967
+ id: string | null;
968
+
969
+ address: string;
970
+
971
+ chain_id: string;
972
+
973
+ chain_type: 'bitcoin-taproot';
974
+
975
+ connector_type: 'embedded';
976
+
977
+ delegated: boolean;
978
+
979
+ first_verified_at: number | null;
980
+
981
+ imported: boolean;
982
+
983
+ latest_verified_at: number | null;
984
+
985
+ public_key: string;
986
+
987
+ recovery_method:
988
+ | 'privy'
989
+ | 'user-passcode'
990
+ | 'google-drive'
991
+ | 'icloud'
992
+ | 'recovery-encryption-key'
993
+ | 'privy-v2';
994
+
995
+ type: 'wallet';
996
+
997
+ verified_at: number;
998
+
999
+ wallet_client: 'privy';
1000
+
1001
+ wallet_client_type: 'privy';
1002
+
1003
+ wallet_index: number;
1004
+ }
1005
+
1006
+ export interface LinkedAccountCurveSigningEmbeddedWallet {
1007
+ id: string | null;
1008
+
1009
+ address: string;
1010
+
1011
+ chain_id: string;
901
1012
 
902
- wallet_client: 'privy';
1013
+ /**
1014
+ * The wallet chain types that support curve-based signing.
1015
+ */
1016
+ chain_type: WalletsAPI.CurveSigningChainType;
1017
+
1018
+ connector_type: 'embedded';
1019
+
1020
+ delegated: boolean;
1021
+
1022
+ first_verified_at: number | null;
1023
+
1024
+ imported: boolean;
1025
+
1026
+ latest_verified_at: number | null;
1027
+
1028
+ public_key: string;
1029
+
1030
+ recovery_method:
1031
+ | 'privy'
1032
+ | 'user-passcode'
1033
+ | 'google-drive'
1034
+ | 'icloud'
1035
+ | 'recovery-encryption-key'
1036
+ | 'privy-v2';
1037
+
1038
+ type: 'wallet';
1039
+
1040
+ verified_at: number;
1041
+
1042
+ wallet_client: 'privy';
1043
+
1044
+ wallet_client_type: 'privy';
1045
+
1046
+ wallet_index: number;
1047
+ }
1048
+
1049
+ export type LinkedAccountEmbeddedWallet =
1050
+ | LinkedAccountEthereumEmbeddedWallet
1051
+ | LinkedAccountSolanaEmbeddedWallet
1052
+ | LinkedAccountBitcoinSegwitEmbeddedWallet
1053
+ | LinkedAccountBitcoinTaprootEmbeddedWallet
1054
+ | LinkedAccountCurveSigningEmbeddedWallet;
903
1055
 
904
- wallet_client_type: 'privy';
1056
+ export type LinkedAccountEmbeddedWalletWithID =
1057
+ | LinkedAccountEmbeddedWalletWithID.LinkedAccountEthereumEmbeddedWallet
1058
+ | LinkedAccountEmbeddedWalletWithID.LinkedAccountSolanaEmbeddedWallet
1059
+ | LinkedAccountEmbeddedWalletWithID.LinkedAccountBitcoinSegwitEmbeddedWallet
1060
+ | LinkedAccountEmbeddedWalletWithID.LinkedAccountBitcoinTaprootEmbeddedWallet
1061
+ | LinkedAccountEmbeddedWalletWithID.LinkedAccountCurveSigningEmbeddedWallet;
905
1062
 
906
- wallet_index: number;
1063
+ export namespace LinkedAccountEmbeddedWalletWithID {
1064
+ export interface LinkedAccountEthereumEmbeddedWallet
1065
+ extends Omit<UsersAPI.LinkedAccountEthereumEmbeddedWallet, 'id' | 'recovery_method'> {
1066
+ id: string;
1067
+
1068
+ recovery_method: 'privy-v2';
907
1069
  }
908
1070
 
909
- export interface PasskeyMfaMethod {
910
- type: 'passkey';
1071
+ export interface LinkedAccountSolanaEmbeddedWallet
1072
+ extends Omit<UsersAPI.LinkedAccountSolanaEmbeddedWallet, 'id' | 'recovery_method'> {
1073
+ id: string;
911
1074
 
912
- verified_at: number;
1075
+ recovery_method: 'privy-v2';
913
1076
  }
914
1077
 
915
- export interface SMSMfaMethod {
916
- type: 'sms';
1078
+ export interface LinkedAccountBitcoinSegwitEmbeddedWallet
1079
+ extends Omit<UsersAPI.LinkedAccountBitcoinSegwitEmbeddedWallet, 'id' | 'recovery_method'> {
1080
+ id: string;
917
1081
 
918
- verified_at: number;
1082
+ recovery_method: 'privy-v2';
919
1083
  }
920
1084
 
921
- export interface TotpMfaMethod {
922
- type: 'totp';
1085
+ export interface LinkedAccountBitcoinTaprootEmbeddedWallet
1086
+ extends Omit<UsersAPI.LinkedAccountBitcoinTaprootEmbeddedWallet, 'id' | 'recovery_method'> {
1087
+ id: string;
923
1088
 
924
- verified_at: number;
1089
+ recovery_method: 'privy-v2';
1090
+ }
1091
+
1092
+ export interface LinkedAccountCurveSigningEmbeddedWallet
1093
+ extends Omit<UsersAPI.LinkedAccountCurveSigningEmbeddedWallet, 'id' | 'recovery_method'> {
1094
+ id: string;
1095
+
1096
+ recovery_method: 'privy-v2';
925
1097
  }
926
1098
  }
927
1099
 
1100
+ export type SmartWalletType =
1101
+ | 'safe'
1102
+ | 'kernel'
1103
+ | 'biconomy'
1104
+ | 'light_account'
1105
+ | 'coinbase_smart_wallet'
1106
+ | 'thirdweb';
1107
+
1108
+ export interface LinkedAccountSmartWallet {
1109
+ address: string;
1110
+
1111
+ first_verified_at: number | null;
1112
+
1113
+ latest_verified_at: number | null;
1114
+
1115
+ smart_wallet_type: SmartWalletType;
1116
+
1117
+ type: 'smart_wallet';
1118
+
1119
+ verified_at: number;
1120
+
1121
+ smart_wallet_version?: string;
1122
+ }
1123
+
928
1124
  export interface UserCreateParams {
929
1125
  linked_accounts: Array<
930
1126
  | UserCreateParams.LinkedAccountWalletInput
@@ -938,6 +1134,7 @@ export interface UserCreateParams {
938
1134
  | UserCreateParams.LinkedAccountInstagramInput
939
1135
  | UserCreateParams.LinkedAccountTiktokInput
940
1136
  | UserCreateParams.LinkedAccountLineInput
1137
+ | UserCreateParams.LinkedAccountTwitchInput
941
1138
  | UserCreateParams.LinkedAccountAppleInput
942
1139
  | UserCreateParams.LinkedAccountLinkedInInput
943
1140
  | UserCreateParams.LinkedAccountFarcasterInput
@@ -1061,6 +1258,14 @@ export namespace UserCreateParams {
1061
1258
  profile_picture_url?: string;
1062
1259
  }
1063
1260
 
1261
+ export interface LinkedAccountTwitchInput {
1262
+ subject: string;
1263
+
1264
+ type: 'twitch_oauth';
1265
+
1266
+ username?: string;
1267
+ }
1268
+
1064
1269
  export interface LinkedAccountAppleInput {
1065
1270
  subject: string;
1066
1271
 
@@ -1121,21 +1326,9 @@ export namespace UserCreateParams {
1121
1326
 
1122
1327
  export interface Wallet {
1123
1328
  /**
1124
- * Chain type of the wallet
1329
+ * The wallet chain types.
1125
1330
  */
1126
- chain_type:
1127
- | 'solana'
1128
- | 'ethereum'
1129
- | 'cosmos'
1130
- | 'stellar'
1131
- | 'sui'
1132
- | 'tron'
1133
- | 'bitcoin-segwit'
1134
- | 'near'
1135
- | 'spark'
1136
- | 'ton'
1137
- | 'starknet'
1138
- | 'movement';
1331
+ chain_type: WalletsAPI.WalletChainType;
1139
1332
 
1140
1333
  /**
1141
1334
  * Additional signers for the wallet.
@@ -1302,17 +1495,30 @@ export interface UserUnlinkLinkedAccountParams {
1302
1495
  | 'instagram_oauth'
1303
1496
  | 'tiktok_oauth'
1304
1497
  | 'line_oauth'
1498
+ | 'twitch_oauth'
1305
1499
  | 'custom_auth'
1306
1500
  | 'telegram'
1307
1501
  | 'cross_app'
1308
- | 'guest';
1502
+ | 'guest'
1503
+ | (string & {});
1309
1504
 
1310
1505
  provider?: string;
1311
1506
  }
1312
1507
 
1313
1508
  export declare namespace Users {
1314
1509
  export {
1510
+ type AuthenticatedUser as AuthenticatedUser,
1511
+ type LinkedAccount as LinkedAccount,
1315
1512
  type User as User,
1513
+ type LinkedAccountEthereumEmbeddedWallet as LinkedAccountEthereumEmbeddedWallet,
1514
+ type LinkedAccountSolanaEmbeddedWallet as LinkedAccountSolanaEmbeddedWallet,
1515
+ type LinkedAccountBitcoinSegwitEmbeddedWallet as LinkedAccountBitcoinSegwitEmbeddedWallet,
1516
+ type LinkedAccountBitcoinTaprootEmbeddedWallet as LinkedAccountBitcoinTaprootEmbeddedWallet,
1517
+ type LinkedAccountCurveSigningEmbeddedWallet as LinkedAccountCurveSigningEmbeddedWallet,
1518
+ type LinkedAccountEmbeddedWallet as LinkedAccountEmbeddedWallet,
1519
+ type LinkedAccountEmbeddedWalletWithID as LinkedAccountEmbeddedWalletWithID,
1520
+ type SmartWalletType as SmartWalletType,
1521
+ type LinkedAccountSmartWallet as LinkedAccountSmartWallet,
1316
1522
  type UsersCursor as UsersCursor,
1317
1523
  type UserCreateParams as UserCreateParams,
1318
1524
  type UserListParams as UserListParams,