@privy-io/js-sdk-core 0.28.0 → 0.28.1

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 (268) hide show
  1. package/dist/{index.cjs.js → cjs/index.js} +1 -2
  2. package/dist/dts/AuthApi.d.mts +46 -0
  3. package/dist/dts/CustomProviderApi.d.mts +8 -0
  4. package/dist/dts/EmailApi.d.mts +451 -0
  5. package/dist/dts/EmbeddedWalletApi.d.mts +103 -0
  6. package/dist/dts/Error.d.mts +20 -0
  7. package/dist/dts/FarcasterApi.d.mts +467 -0
  8. package/dist/dts/GuestApi.d.mts +9 -0
  9. package/dist/dts/OAuthApi.d.mts +461 -0
  10. package/dist/dts/PasskeyApi.d.mts +80 -0
  11. package/dist/dts/PhoneApi.d.mts +451 -0
  12. package/dist/dts/Privy.d.mts +78 -0
  13. package/dist/dts/PrivyInternal.d.mts +1 -0
  14. package/dist/dts/RecoveryApi.d.mts +19 -0
  15. package/dist/dts/RecoveryICloudApi.d.mts +15 -0
  16. package/dist/dts/RecoveryOAuthApi.d.mts +16 -0
  17. package/dist/dts/Session.d.mts +88 -0
  18. package/dist/dts/SiweApi.d.mts +75 -0
  19. package/dist/dts/Token.d.mts +31 -0
  20. package/dist/dts/UserApi.d.mts +221 -0
  21. package/dist/dts/chains/arbitrum.d.mts +2 -0
  22. package/dist/dts/chains/arbitrumGoerli.d.mts +7 -0
  23. package/dist/dts/chains/arbitrumSepolia.d.mts +2 -0
  24. package/dist/dts/chains/avalanche.d.mts +5 -0
  25. package/dist/dts/chains/avalancheFuji.d.mts +5 -0
  26. package/dist/dts/chains/base.d.mts +2 -0
  27. package/dist/dts/chains/baseGoerli.d.mts +7 -0
  28. package/dist/dts/chains/baseSepolia.d.mts +5 -0
  29. package/dist/dts/chains/berachainArtio.d.mts +5 -0
  30. package/dist/dts/chains/celo.d.mts +2 -0
  31. package/dist/dts/chains/celoAlfajores.d.mts +2 -0
  32. package/dist/dts/chains/filecoin.d.mts +2 -0
  33. package/dist/dts/chains/filecoinCalibration.d.mts +2 -0
  34. package/dist/dts/chains/garnetHolesky.d.mts +2 -0
  35. package/dist/dts/chains/goerli.d.mts +5 -0
  36. package/dist/dts/chains/holesky.d.mts +2 -0
  37. package/dist/dts/chains/index.d.mts +34 -0
  38. package/dist/dts/chains/linea.d.mts +2 -0
  39. package/dist/dts/chains/lineaTestnet.d.mts +2 -0
  40. package/dist/dts/chains/mainnet.d.mts +2 -0
  41. package/dist/dts/chains/optimism.d.mts +2 -0
  42. package/dist/dts/chains/optimismGoerli.d.mts +5 -0
  43. package/dist/dts/chains/optimismSepolia.d.mts +2 -0
  44. package/dist/dts/chains/polygon.d.mts +2 -0
  45. package/dist/dts/chains/polygonAmoy.d.mts +2 -0
  46. package/dist/dts/chains/polygonMumbai.d.mts +5 -0
  47. package/dist/dts/chains/redstone.d.mts +2 -0
  48. package/dist/dts/chains/redstoneHolesky.d.mts +5 -0
  49. package/dist/dts/chains/sepolia.d.mts +2 -0
  50. package/dist/dts/chains/types.d.mts +59 -0
  51. package/dist/dts/chains/zora.d.mts +2 -0
  52. package/dist/dts/chains/zoraSepolia.d.mts +2 -0
  53. package/dist/dts/chains/zoraTestnet.d.mts +2 -0
  54. package/dist/dts/crypto/types.d.mts +1 -0
  55. package/dist/dts/embedded/EmbeddedSolanaWalletProvider.d.mts +11 -0
  56. package/dist/dts/embedded/EmbeddedWalletProvider.d.mts +47 -0
  57. package/dist/dts/embedded/EmbeddedWalletProxy.d.mts +1 -0
  58. package/dist/dts/embedded/EventCallbackQueue.d.mts +26 -0
  59. package/dist/dts/embedded/errors.d.mts +254 -0
  60. package/dist/dts/embedded/gas/arbitrum.d.mts +31 -0
  61. package/dist/dts/embedded/gas/bsc.d.mts +26 -0
  62. package/dist/dts/embedded/gas/op-stack.d.mts +42 -0
  63. package/dist/dts/embedded/gas/polygon.d.mts +42 -0
  64. package/dist/dts/embedded/index.d.mts +3 -0
  65. package/dist/dts/embedded/methods.d.mts +1 -0
  66. package/dist/dts/embedded/polygonGasStation.d.mts +15 -0
  67. package/dist/dts/embedded/types.d.mts +385 -0
  68. package/dist/dts/embedded/utils/ethers.d.mts +7 -0
  69. package/dist/dts/embedded/utils/gas.d.mts +45 -0
  70. package/dist/dts/embedded/utils/index.d.mts +36 -0
  71. package/dist/dts/index.d.mts +16 -0
  72. package/dist/dts/pkce.d.mts +33 -0
  73. package/dist/dts/storage/InMemoryStorage.d.mts +8 -0
  74. package/dist/dts/storage/LocalStorage.d.mts +7 -0
  75. package/dist/dts/storage/Storage.d.mts +6 -0
  76. package/dist/dts/toAbortSignalTimeout.d.mts +6 -0
  77. package/dist/dts/types.d.mts +54 -0
  78. package/dist/dts/utils/NonEmptyArray.d.mts +1 -0
  79. package/dist/dts/utils/getUserEmbeddedSolanaWallet.d.mts +12 -0
  80. package/dist/dts/utils/getUserEmbeddedWallet.d.mts +13 -0
  81. package/dist/dts/utils/toObjectKeys.d.mts +4 -0
  82. package/dist/esm/AuthApi.mjs +1 -0
  83. package/dist/{CustomProviderApi.js → esm/CustomProviderApi.mjs} +0 -1
  84. package/dist/{EmailApi.js → esm/EmailApi.mjs} +0 -1
  85. package/dist/esm/EmbeddedWalletApi.mjs +1 -0
  86. package/dist/{Error.js → esm/Error.mjs} +0 -1
  87. package/dist/{FarcasterApi.js → esm/FarcasterApi.mjs} +0 -1
  88. package/dist/{GuestApi.js → esm/GuestApi.mjs} +0 -1
  89. package/dist/esm/OAuthApi.mjs +1 -0
  90. package/dist/{PasskeyApi.js → esm/PasskeyApi.mjs} +0 -1
  91. package/dist/{PhoneApi.js → esm/PhoneApi.mjs} +0 -1
  92. package/dist/esm/Privy.mjs +1 -0
  93. package/dist/esm/PrivyInternal.mjs +1 -0
  94. package/dist/esm/RecoveryApi.mjs +1 -0
  95. package/dist/{RecoveryICloudApi.js → esm/RecoveryICloudApi.mjs} +0 -1
  96. package/dist/esm/RecoveryOAuthApi.mjs +1 -0
  97. package/dist/esm/Session.mjs +1 -0
  98. package/dist/{SiweApi.js → esm/SiweApi.mjs} +0 -1
  99. package/dist/{Token.js → esm/Token.mjs} +0 -1
  100. package/dist/{UserApi.js → esm/UserApi.mjs} +0 -1
  101. package/dist/{chains/arbitrum.js → esm/chains/arbitrum.mjs} +0 -1
  102. package/dist/{chains/arbitrumGoerli.js → esm/chains/arbitrumGoerli.mjs} +0 -1
  103. package/dist/{chains/arbitrumSepolia.js → esm/chains/arbitrumSepolia.mjs} +0 -1
  104. package/dist/{chains/avalanche.js → esm/chains/avalanche.mjs} +0 -1
  105. package/dist/{chains/avalancheFuji.js → esm/chains/avalancheFuji.mjs} +0 -1
  106. package/dist/{chains/base.js → esm/chains/base.mjs} +0 -1
  107. package/dist/{chains/baseGoerli.js → esm/chains/baseGoerli.mjs} +0 -1
  108. package/dist/{chains/baseSepolia.js → esm/chains/baseSepolia.mjs} +0 -1
  109. package/dist/{chains/berachainArtio.js → esm/chains/berachainArtio.mjs} +0 -1
  110. package/dist/{chains/celo.js → esm/chains/celo.mjs} +0 -1
  111. package/dist/{chains/celoAlfajores.js → esm/chains/celoAlfajores.mjs} +0 -1
  112. package/dist/{chains/filecoin.js → esm/chains/filecoin.mjs} +0 -1
  113. package/dist/{chains/filecoinCalibration.js → esm/chains/filecoinCalibration.mjs} +0 -1
  114. package/dist/{chains/garnetHolesky.js → esm/chains/garnetHolesky.mjs} +0 -1
  115. package/dist/{chains/goerli.js → esm/chains/goerli.mjs} +0 -1
  116. package/dist/{chains/holesky.js → esm/chains/holesky.mjs} +0 -1
  117. package/dist/esm/chains/index.mjs +1 -0
  118. package/dist/{chains/linea.js → esm/chains/linea.mjs} +0 -1
  119. package/dist/{chains/lineaTestnet.js → esm/chains/lineaTestnet.mjs} +0 -1
  120. package/dist/{chains/mainnet.js → esm/chains/mainnet.mjs} +0 -1
  121. package/dist/{chains/optimism.js → esm/chains/optimism.mjs} +0 -1
  122. package/dist/{chains/optimismGoerli.js → esm/chains/optimismGoerli.mjs} +0 -1
  123. package/dist/{chains/optimismSepolia.js → esm/chains/optimismSepolia.mjs} +0 -1
  124. package/dist/{chains/polygon.js → esm/chains/polygon.mjs} +0 -1
  125. package/dist/{chains/polygonAmoy.js → esm/chains/polygonAmoy.mjs} +0 -1
  126. package/dist/{chains/polygonMumbai.js → esm/chains/polygonMumbai.mjs} +0 -1
  127. package/dist/{chains/redstone.js → esm/chains/redstone.mjs} +0 -1
  128. package/dist/{chains/redstoneHolesky.js → esm/chains/redstoneHolesky.mjs} +0 -1
  129. package/dist/{chains/sepolia.js → esm/chains/sepolia.mjs} +0 -1
  130. package/dist/esm/chains/types.mjs +1 -0
  131. package/dist/{chains/zora.js → esm/chains/zora.mjs} +0 -1
  132. package/dist/{chains/zoraSepolia.js → esm/chains/zoraSepolia.mjs} +0 -1
  133. package/dist/{chains/zoraTestnet.js → esm/chains/zoraTestnet.mjs} +0 -1
  134. package/dist/esm/crypto/types.mjs +1 -0
  135. package/dist/esm/embedded/EmbeddedSolanaWalletProvider.mjs +1 -0
  136. package/dist/esm/embedded/EmbeddedWalletProvider.mjs +1 -0
  137. package/dist/esm/embedded/EmbeddedWalletProxy.mjs +1 -0
  138. package/dist/{embedded/EventCallbackQueue.js → esm/embedded/EventCallbackQueue.mjs} +0 -1
  139. package/dist/esm/embedded/errors.mjs +1 -0
  140. package/dist/esm/embedded/gas/arbitrum.mjs +1 -0
  141. package/dist/{embedded/gas/bsc.js → esm/embedded/gas/bsc.mjs} +0 -1
  142. package/dist/esm/embedded/gas/op-stack.mjs +1 -0
  143. package/dist/esm/embedded/gas/polygon.mjs +1 -0
  144. package/dist/esm/embedded/index.mjs +1 -0
  145. package/dist/{embedded/methods.js → esm/embedded/methods.mjs} +0 -1
  146. package/dist/esm/embedded/polygonGasStation.mjs +1 -0
  147. package/dist/{embedded/types.js → esm/embedded/types.mjs} +0 -1
  148. package/dist/{embedded/utils/ethers.js → esm/embedded/utils/ethers.mjs} +0 -1
  149. package/dist/esm/embedded/utils/gas.mjs +1 -0
  150. package/dist/esm/embedded/utils/index.mjs +1 -0
  151. package/dist/esm/index.mjs +1 -0
  152. package/dist/{pkce.js → esm/pkce.mjs} +0 -1
  153. package/dist/{storage/InMemoryStorage.js → esm/storage/InMemoryStorage.mjs} +0 -1
  154. package/dist/{storage/LocalStorage.js → esm/storage/LocalStorage.mjs} +0 -1
  155. package/dist/esm/storage/Storage.mjs +1 -0
  156. package/dist/{toAbortSignalTimeout.js → esm/toAbortSignalTimeout.mjs} +0 -1
  157. package/dist/{types.js → esm/types.mjs} +0 -1
  158. package/dist/esm/utils/NonEmptyArray.mjs +1 -0
  159. package/dist/{utils/getUserEmbeddedSolanaWallet.js → esm/utils/getUserEmbeddedSolanaWallet.mjs} +0 -1
  160. package/dist/{utils/getUserEmbeddedWallet.js → esm/utils/getUserEmbeddedWallet.mjs} +0 -1
  161. package/dist/{utils/toObjectKeys.js → esm/utils/toObjectKeys.mjs} +0 -1
  162. package/package.json +42 -36
  163. package/dist/AuthApi.js +0 -2
  164. package/dist/AuthApi.js.map +0 -1
  165. package/dist/CustomProviderApi.js.map +0 -1
  166. package/dist/EmailApi.js.map +0 -1
  167. package/dist/EmbeddedWalletApi.js +0 -2
  168. package/dist/EmbeddedWalletApi.js.map +0 -1
  169. package/dist/Error.js.map +0 -1
  170. package/dist/FarcasterApi.js.map +0 -1
  171. package/dist/GuestApi.js.map +0 -1
  172. package/dist/OAuthApi.js +0 -2
  173. package/dist/OAuthApi.js.map +0 -1
  174. package/dist/PasskeyApi.js.map +0 -1
  175. package/dist/PhoneApi.js.map +0 -1
  176. package/dist/Privy.js +0 -2
  177. package/dist/Privy.js.map +0 -1
  178. package/dist/PrivyInternal.js +0 -2
  179. package/dist/PrivyInternal.js.map +0 -1
  180. package/dist/RecoveryApi.js +0 -2
  181. package/dist/RecoveryApi.js.map +0 -1
  182. package/dist/RecoveryICloudApi.js.map +0 -1
  183. package/dist/RecoveryOAuthApi.js +0 -2
  184. package/dist/RecoveryOAuthApi.js.map +0 -1
  185. package/dist/Session.js +0 -2
  186. package/dist/Session.js.map +0 -1
  187. package/dist/SiweApi.js.map +0 -1
  188. package/dist/Token.js.map +0 -1
  189. package/dist/UserApi.js.map +0 -1
  190. package/dist/chains/arbitrum.js.map +0 -1
  191. package/dist/chains/arbitrumGoerli.js.map +0 -1
  192. package/dist/chains/arbitrumSepolia.js.map +0 -1
  193. package/dist/chains/avalanche.js.map +0 -1
  194. package/dist/chains/avalancheFuji.js.map +0 -1
  195. package/dist/chains/base.js.map +0 -1
  196. package/dist/chains/baseGoerli.js.map +0 -1
  197. package/dist/chains/baseSepolia.js.map +0 -1
  198. package/dist/chains/berachainArtio.js.map +0 -1
  199. package/dist/chains/celo.js.map +0 -1
  200. package/dist/chains/celoAlfajores.js.map +0 -1
  201. package/dist/chains/filecoin.js.map +0 -1
  202. package/dist/chains/filecoinCalibration.js.map +0 -1
  203. package/dist/chains/garnetHolesky.js.map +0 -1
  204. package/dist/chains/goerli.js.map +0 -1
  205. package/dist/chains/holesky.js.map +0 -1
  206. package/dist/chains/index.js +0 -2
  207. package/dist/chains/index.js.map +0 -1
  208. package/dist/chains/linea.js.map +0 -1
  209. package/dist/chains/lineaTestnet.js.map +0 -1
  210. package/dist/chains/mainnet.js.map +0 -1
  211. package/dist/chains/optimism.js.map +0 -1
  212. package/dist/chains/optimismGoerli.js.map +0 -1
  213. package/dist/chains/optimismSepolia.js.map +0 -1
  214. package/dist/chains/polygon.js.map +0 -1
  215. package/dist/chains/polygonAmoy.js.map +0 -1
  216. package/dist/chains/polygonMumbai.js.map +0 -1
  217. package/dist/chains/redstone.js.map +0 -1
  218. package/dist/chains/redstoneHolesky.js.map +0 -1
  219. package/dist/chains/sepolia.js.map +0 -1
  220. package/dist/chains/types.js +0 -2
  221. package/dist/chains/types.js.map +0 -1
  222. package/dist/chains/zora.js.map +0 -1
  223. package/dist/chains/zoraSepolia.js.map +0 -1
  224. package/dist/chains/zoraTestnet.js.map +0 -1
  225. package/dist/crypto/types.js +0 -2
  226. package/dist/crypto/types.js.map +0 -1
  227. package/dist/embedded/EmbeddedSolanaWalletProvider.js +0 -2
  228. package/dist/embedded/EmbeddedSolanaWalletProvider.js.map +0 -1
  229. package/dist/embedded/EmbeddedWalletProvider.js +0 -2
  230. package/dist/embedded/EmbeddedWalletProvider.js.map +0 -1
  231. package/dist/embedded/EmbeddedWalletProxy.js +0 -2
  232. package/dist/embedded/EmbeddedWalletProxy.js.map +0 -1
  233. package/dist/embedded/EventCallbackQueue.js.map +0 -1
  234. package/dist/embedded/errors.js +0 -2
  235. package/dist/embedded/errors.js.map +0 -1
  236. package/dist/embedded/gas/arbitrum.js +0 -2
  237. package/dist/embedded/gas/arbitrum.js.map +0 -1
  238. package/dist/embedded/gas/bsc.js.map +0 -1
  239. package/dist/embedded/gas/op-stack.js +0 -2
  240. package/dist/embedded/gas/op-stack.js.map +0 -1
  241. package/dist/embedded/gas/polygon.js +0 -2
  242. package/dist/embedded/gas/polygon.js.map +0 -1
  243. package/dist/embedded/index.js +0 -2
  244. package/dist/embedded/index.js.map +0 -1
  245. package/dist/embedded/methods.js.map +0 -1
  246. package/dist/embedded/polygonGasStation.js +0 -2
  247. package/dist/embedded/polygonGasStation.js.map +0 -1
  248. package/dist/embedded/types.js.map +0 -1
  249. package/dist/embedded/utils/ethers.js.map +0 -1
  250. package/dist/embedded/utils/gas.js +0 -2
  251. package/dist/embedded/utils/gas.js.map +0 -1
  252. package/dist/embedded/utils/index.js +0 -2
  253. package/dist/embedded/utils/index.js.map +0 -1
  254. package/dist/index.cjs.js.map +0 -1
  255. package/dist/index.js +0 -2
  256. package/dist/index.js.map +0 -1
  257. package/dist/pkce.js.map +0 -1
  258. package/dist/storage/InMemoryStorage.js.map +0 -1
  259. package/dist/storage/LocalStorage.js.map +0 -1
  260. package/dist/storage/Storage.js +0 -2
  261. package/dist/storage/Storage.js.map +0 -1
  262. package/dist/toAbortSignalTimeout.js.map +0 -1
  263. package/dist/types.js.map +0 -1
  264. package/dist/utils/NonEmptyArray.js +0 -2
  265. package/dist/utils/NonEmptyArray.js.map +0 -1
  266. package/dist/utils/getUserEmbeddedSolanaWallet.js.map +0 -1
  267. package/dist/utils/getUserEmbeddedWallet.js.map +0 -1
  268. package/dist/utils/toObjectKeys.js.map +0 -1
@@ -0,0 +1,451 @@
1
+ export default class EmailApi {
2
+ /**
3
+ * Sends a one time login code to a user's email address
4
+ *
5
+ * @param email The email address to send the one time login code
6
+ * @param token A CAPTCHA token
7
+ */
8
+ sendCode(email: string, token?: string): Promise<import("@privy-io/public-api").PrivySuccessObject>;
9
+ /**
10
+ * Logs a user in via an email address and one time code
11
+ *
12
+ * @param email The email address that the one time code was sent to
13
+ * @param code The one time code
14
+ * @param mode Optional Whether or not to block sign ups (only allow existing users to log in).
15
+ */
16
+ loginWithCode(email: string, code: string, mode?: 'login-or-sign-up' | 'no-signup'): Promise<import("@privy-io/public-api").PrivyAuthenticatedUser>;
17
+ /**
18
+ * Links an email adress to an existing user
19
+ *
20
+ * @param email The email address that the one time code was sent to
21
+ * @param code The one time code
22
+ */
23
+ linkWithCode(email: string, code: string): Promise<{
24
+ id: string;
25
+ mfa_methods: ({
26
+ type: "sms";
27
+ verified_at: number;
28
+ } | {
29
+ type: "totp";
30
+ verified_at: number;
31
+ } | {
32
+ type: "passkey";
33
+ verified_at: number;
34
+ })[];
35
+ linked_accounts: ({
36
+ type: "email";
37
+ address: string;
38
+ verified_at: number;
39
+ first_verified_at: number | null;
40
+ latest_verified_at: number | null;
41
+ } | {
42
+ type: "phone";
43
+ verified_at: number;
44
+ first_verified_at: number | null;
45
+ latest_verified_at: number | null;
46
+ phoneNumber: string;
47
+ } | {
48
+ type: "wallet";
49
+ address: string;
50
+ verified_at: number;
51
+ first_verified_at: number | null;
52
+ latest_verified_at: number | null;
53
+ chain_type: "ethereum";
54
+ wallet_client: "unknown";
55
+ chain_id?: string | undefined;
56
+ wallet_client_type?: string | undefined;
57
+ connector_type?: string | undefined;
58
+ } | {
59
+ type: "smart_wallet";
60
+ address: string;
61
+ smart_wallet_type: "safe" | "kernel" | "biconomy" | "light_account";
62
+ verified_at: number;
63
+ first_verified_at: number | null;
64
+ latest_verified_at: number | null;
65
+ } | {
66
+ type: "wallet";
67
+ address: string;
68
+ verified_at: number;
69
+ first_verified_at: number | null;
70
+ latest_verified_at: number | null;
71
+ chain_type: "solana";
72
+ wallet_client: "unknown";
73
+ wallet_client_type?: string | undefined;
74
+ connector_type?: string | undefined;
75
+ } | {
76
+ type: "farcaster";
77
+ fid: number;
78
+ verified_at: number;
79
+ first_verified_at: number | null;
80
+ latest_verified_at: number | null;
81
+ owner_address: string;
82
+ username?: string | undefined;
83
+ display_name?: string | undefined;
84
+ bio?: string | undefined;
85
+ profile_picture?: string | undefined;
86
+ profile_picture_url?: string | undefined;
87
+ homepage_url?: string | undefined;
88
+ signer_public_key?: string | undefined;
89
+ } | {
90
+ type: "passkey";
91
+ verified_at: number;
92
+ first_verified_at: number | null;
93
+ latest_verified_at: number | null;
94
+ credential_id: string;
95
+ enrolled_in_mfa: boolean;
96
+ created_with_browser?: string | undefined;
97
+ created_with_os?: string | undefined;
98
+ created_with_device?: string | undefined;
99
+ authenticator_name?: string | undefined;
100
+ } | {
101
+ telegramUserId: string;
102
+ firstName: string | null | undefined;
103
+ type: "telegram";
104
+ verified_at: number;
105
+ first_verified_at: number | null;
106
+ latest_verified_at: number | null;
107
+ telegram_user_id: string;
108
+ username?: string | null | undefined;
109
+ first_name?: string | null | undefined;
110
+ last_name?: string | null | undefined;
111
+ photo_url?: string | null | undefined;
112
+ } | {
113
+ type: "wallet";
114
+ address: string;
115
+ chain_id: "eip155:1";
116
+ verified_at: number;
117
+ first_verified_at: number | null;
118
+ latest_verified_at: number | null;
119
+ chain_type: "ethereum";
120
+ wallet_client: "privy";
121
+ wallet_client_type: "privy";
122
+ connector_type: "embedded";
123
+ imported: boolean;
124
+ wallet_index: number;
125
+ recovery_method: "user-passcode" | "google-drive" | "icloud" | "privy";
126
+ } | {
127
+ type: "wallet";
128
+ address: string;
129
+ public_key: string;
130
+ chain_id: "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
131
+ verified_at: number;
132
+ first_verified_at: number | null;
133
+ latest_verified_at: number | null;
134
+ chain_type: "solana";
135
+ wallet_client_type: "privy";
136
+ connector_type: "embedded";
137
+ imported: boolean;
138
+ recovery_method: "privy";
139
+ } | {
140
+ type: "google_oauth";
141
+ name: string | null;
142
+ email: string;
143
+ verified_at: number;
144
+ first_verified_at: number | null;
145
+ latest_verified_at: number | null;
146
+ subject: string;
147
+ } | {
148
+ type: "twitter_oauth";
149
+ name: string | null;
150
+ username: string | null;
151
+ verified_at: number;
152
+ first_verified_at: number | null;
153
+ latest_verified_at: number | null;
154
+ profile_picture_url: string | null;
155
+ subject: string;
156
+ } | {
157
+ type: "discord_oauth";
158
+ email: string | null;
159
+ username: string | null;
160
+ verified_at: number;
161
+ first_verified_at: number | null;
162
+ latest_verified_at: number | null;
163
+ subject: string;
164
+ } | {
165
+ type: "github_oauth";
166
+ name: string | null;
167
+ email: string | null;
168
+ username: string | null;
169
+ verified_at: number;
170
+ first_verified_at: number | null;
171
+ latest_verified_at: number | null;
172
+ subject: string;
173
+ } | {
174
+ type: "linkedin_oauth";
175
+ email: string | null;
176
+ verified_at: number;
177
+ first_verified_at: number | null;
178
+ latest_verified_at: number | null;
179
+ subject: string;
180
+ name?: string | undefined;
181
+ vanity_name?: string | undefined;
182
+ } | {
183
+ type: "spotify_oauth";
184
+ name: string | null;
185
+ email: string | null;
186
+ verified_at: number;
187
+ first_verified_at: number | null;
188
+ latest_verified_at: number | null;
189
+ subject: string;
190
+ } | {
191
+ type: "instagram_oauth";
192
+ username: string | null;
193
+ verified_at: number;
194
+ first_verified_at: number | null;
195
+ latest_verified_at: number | null;
196
+ subject: string;
197
+ } | {
198
+ type: "tiktok_oauth";
199
+ name: string | null;
200
+ username: string | null;
201
+ verified_at: number;
202
+ first_verified_at: number | null;
203
+ latest_verified_at: number | null;
204
+ subject: string;
205
+ } | {
206
+ type: "apple_oauth";
207
+ email: string | null;
208
+ verified_at: number;
209
+ first_verified_at: number | null;
210
+ latest_verified_at: number | null;
211
+ subject: string;
212
+ } | {
213
+ type: "custom_auth";
214
+ verified_at: number;
215
+ first_verified_at: number | null;
216
+ latest_verified_at: number | null;
217
+ custom_user_id: string;
218
+ } | {
219
+ type: "cross_app";
220
+ provider_app_id: string;
221
+ verified_at: number;
222
+ first_verified_at: number | null;
223
+ latest_verified_at: number | null;
224
+ subject: string;
225
+ embedded_wallets: {
226
+ address: string;
227
+ }[];
228
+ smart_wallets: {
229
+ address: string;
230
+ }[];
231
+ })[];
232
+ created_at: number;
233
+ has_accepted_terms: boolean;
234
+ is_guest: boolean;
235
+ custom_metadata?: Record<string, string> | undefined;
236
+ }>;
237
+ unlink(email: string): Promise<{
238
+ id: string;
239
+ mfa_methods: ({
240
+ type: "sms";
241
+ verified_at: number;
242
+ } | {
243
+ type: "totp";
244
+ verified_at: number;
245
+ } | {
246
+ type: "passkey";
247
+ verified_at: number;
248
+ })[];
249
+ linked_accounts: ({
250
+ type: "email";
251
+ address: string;
252
+ verified_at: number;
253
+ first_verified_at: number | null;
254
+ latest_verified_at: number | null;
255
+ } | {
256
+ type: "phone";
257
+ verified_at: number;
258
+ first_verified_at: number | null;
259
+ latest_verified_at: number | null;
260
+ phoneNumber: string;
261
+ } | {
262
+ type: "wallet";
263
+ address: string;
264
+ verified_at: number;
265
+ first_verified_at: number | null;
266
+ latest_verified_at: number | null;
267
+ chain_type: "ethereum";
268
+ wallet_client: "unknown";
269
+ chain_id?: string | undefined;
270
+ wallet_client_type?: string | undefined;
271
+ connector_type?: string | undefined;
272
+ } | {
273
+ type: "smart_wallet";
274
+ address: string;
275
+ smart_wallet_type: "safe" | "kernel" | "biconomy" | "light_account";
276
+ verified_at: number;
277
+ first_verified_at: number | null;
278
+ latest_verified_at: number | null;
279
+ } | {
280
+ type: "wallet";
281
+ address: string;
282
+ verified_at: number;
283
+ first_verified_at: number | null;
284
+ latest_verified_at: number | null;
285
+ chain_type: "solana";
286
+ wallet_client: "unknown";
287
+ wallet_client_type?: string | undefined;
288
+ connector_type?: string | undefined;
289
+ } | {
290
+ type: "farcaster";
291
+ fid: number;
292
+ verified_at: number;
293
+ first_verified_at: number | null;
294
+ latest_verified_at: number | null;
295
+ owner_address: string;
296
+ username?: string | undefined;
297
+ display_name?: string | undefined;
298
+ bio?: string | undefined;
299
+ profile_picture?: string | undefined;
300
+ profile_picture_url?: string | undefined;
301
+ homepage_url?: string | undefined;
302
+ signer_public_key?: string | undefined;
303
+ } | {
304
+ type: "passkey";
305
+ verified_at: number;
306
+ first_verified_at: number | null;
307
+ latest_verified_at: number | null;
308
+ credential_id: string;
309
+ enrolled_in_mfa: boolean;
310
+ created_with_browser?: string | undefined;
311
+ created_with_os?: string | undefined;
312
+ created_with_device?: string | undefined;
313
+ authenticator_name?: string | undefined;
314
+ } | {
315
+ telegramUserId: string;
316
+ firstName: string | null | undefined;
317
+ type: "telegram";
318
+ verified_at: number;
319
+ first_verified_at: number | null;
320
+ latest_verified_at: number | null;
321
+ telegram_user_id: string;
322
+ username?: string | null | undefined;
323
+ first_name?: string | null | undefined;
324
+ last_name?: string | null | undefined;
325
+ photo_url?: string | null | undefined;
326
+ } | {
327
+ type: "wallet";
328
+ address: string;
329
+ chain_id: "eip155:1";
330
+ verified_at: number;
331
+ first_verified_at: number | null;
332
+ latest_verified_at: number | null;
333
+ chain_type: "ethereum";
334
+ wallet_client: "privy";
335
+ wallet_client_type: "privy";
336
+ connector_type: "embedded";
337
+ imported: boolean;
338
+ wallet_index: number;
339
+ recovery_method: "user-passcode" | "google-drive" | "icloud" | "privy";
340
+ } | {
341
+ type: "wallet";
342
+ address: string;
343
+ public_key: string;
344
+ chain_id: "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp";
345
+ verified_at: number;
346
+ first_verified_at: number | null;
347
+ latest_verified_at: number | null;
348
+ chain_type: "solana";
349
+ wallet_client_type: "privy";
350
+ connector_type: "embedded";
351
+ imported: boolean;
352
+ recovery_method: "privy";
353
+ } | {
354
+ type: "google_oauth";
355
+ name: string | null;
356
+ email: string;
357
+ verified_at: number;
358
+ first_verified_at: number | null;
359
+ latest_verified_at: number | null;
360
+ subject: string;
361
+ } | {
362
+ type: "twitter_oauth";
363
+ name: string | null;
364
+ username: string | null;
365
+ verified_at: number;
366
+ first_verified_at: number | null;
367
+ latest_verified_at: number | null;
368
+ profile_picture_url: string | null;
369
+ subject: string;
370
+ } | {
371
+ type: "discord_oauth";
372
+ email: string | null;
373
+ username: string | null;
374
+ verified_at: number;
375
+ first_verified_at: number | null;
376
+ latest_verified_at: number | null;
377
+ subject: string;
378
+ } | {
379
+ type: "github_oauth";
380
+ name: string | null;
381
+ email: string | null;
382
+ username: string | null;
383
+ verified_at: number;
384
+ first_verified_at: number | null;
385
+ latest_verified_at: number | null;
386
+ subject: string;
387
+ } | {
388
+ type: "linkedin_oauth";
389
+ email: string | null;
390
+ verified_at: number;
391
+ first_verified_at: number | null;
392
+ latest_verified_at: number | null;
393
+ subject: string;
394
+ name?: string | undefined;
395
+ vanity_name?: string | undefined;
396
+ } | {
397
+ type: "spotify_oauth";
398
+ name: string | null;
399
+ email: string | null;
400
+ verified_at: number;
401
+ first_verified_at: number | null;
402
+ latest_verified_at: number | null;
403
+ subject: string;
404
+ } | {
405
+ type: "instagram_oauth";
406
+ username: string | null;
407
+ verified_at: number;
408
+ first_verified_at: number | null;
409
+ latest_verified_at: number | null;
410
+ subject: string;
411
+ } | {
412
+ type: "tiktok_oauth";
413
+ name: string | null;
414
+ username: string | null;
415
+ verified_at: number;
416
+ first_verified_at: number | null;
417
+ latest_verified_at: number | null;
418
+ subject: string;
419
+ } | {
420
+ type: "apple_oauth";
421
+ email: string | null;
422
+ verified_at: number;
423
+ first_verified_at: number | null;
424
+ latest_verified_at: number | null;
425
+ subject: string;
426
+ } | {
427
+ type: "custom_auth";
428
+ verified_at: number;
429
+ first_verified_at: number | null;
430
+ latest_verified_at: number | null;
431
+ custom_user_id: string;
432
+ } | {
433
+ type: "cross_app";
434
+ provider_app_id: string;
435
+ verified_at: number;
436
+ first_verified_at: number | null;
437
+ latest_verified_at: number | null;
438
+ subject: string;
439
+ embedded_wallets: {
440
+ address: string;
441
+ }[];
442
+ smart_wallets: {
443
+ address: string;
444
+ }[];
445
+ })[];
446
+ created_at: number;
447
+ has_accepted_terms: boolean;
448
+ is_guest: boolean;
449
+ custom_metadata?: Record<string, string> | undefined;
450
+ }>;
451
+ }
@@ -0,0 +1,103 @@
1
+ import type { PrivyEthereumEmbeddedWalletAccount, PrivySolanaEmbeddedWalletAccount, PrivyUser } from '@privy-io/public-api/schemas';
2
+ import { EmbeddedSolanaWalletProvider, EmbeddedWalletProvider } from './embedded';
3
+ import type { IEmbeddedWalletRecoveryOptions, PrivyResponseEvent, SetRecoveryInput } from './embedded/types';
4
+ /** Options for creating the Solana embedded wallet */
5
+ type CreateSolanaOpts = {
6
+ /**
7
+ * The user's existing Ethereum embedded wallet if they have one. This parameter
8
+ * MUST be set if the user has an Ethereum embedded wallet, otherwise Solana creation
9
+ * will fail in the iframe.
10
+ */
11
+ ethereumAccount?: PrivyEthereumEmbeddedWalletAccount;
12
+ };
13
+ export default class EmbeddedWalletApi {
14
+ /**
15
+ * Creates an embedded wallet
16
+ *
17
+ * @param password Recovery password for the embedded wallet
18
+ * @returns EmbeddedWalletProvider implementing EIP1193Provider
19
+ */
20
+ create(password?: string, recoveryMethod?: IEmbeddedWalletRecoveryOptions, recoveryToken?: string, recoverySecretOverride?: string, iCloudRecordNameOverride?: string): Promise<{
21
+ user: PrivyUser;
22
+ provider: EmbeddedWalletProvider;
23
+ }>;
24
+ /**
25
+ * Creates an embedded Solana wallet
26
+ *
27
+ * @param opts.ethereumAccount {PrivyEthereumEmbeddedWalletAccount} the user's existing embedded wallet account if they have one. This parameter
28
+ * MUST be passed if the user has an existing Ethereum embedded wallet otherwise Solana wallet creation will fail.
29
+ * @returns EmbeddedWalletProvider implementing Phantom Provider
30
+ */
31
+ createSolana(opts?: CreateSolanaOpts): Promise<EmbeddedSolanaWalletProvider>;
32
+ hasEmbeddedWallet(): Promise<boolean>;
33
+ isPasswordRequired(): Promise<boolean>;
34
+ /**
35
+ * Retrieve this users embedded wallet.
36
+ * If the wallet has never been used on this device recover.
37
+ *
38
+ * @param password Recovery password for the embedded wallet
39
+ * @returns EmbeddedWalletProvider implementing EIP1193Provider
40
+ */
41
+ getProvider(wallet: PrivyEthereumEmbeddedWalletAccount, password?: string, recoveryToken?: string, recoverySecretOverride?: string): Promise<EmbeddedWalletProvider>;
42
+ /**
43
+ * Retrieve this users embedded Solana wallet.
44
+ * If the wallet has never been used on this device recover.
45
+ *
46
+ * @returns EmbeddedSolanaWalletProvider
47
+ */
48
+ getSolanaProvider(wallet: PrivySolanaEmbeddedWalletAccount): Promise<EmbeddedSolanaWalletProvider>;
49
+ /**
50
+ * @deprecated Use `setRecovery` instead.
51
+ *
52
+ * Add or change the password used to recover an embedded wallet.
53
+ *
54
+ * @param password New recovery password
55
+ * @param currentPassword Current recovery password used to recover the embedded wallet
56
+ * @returns EmbeddedWalletProvider implementing EIP1193Provider
57
+ */
58
+ setPassword(wallet: PrivyEthereumEmbeddedWalletAccount, password: string): Promise<EmbeddedWalletProvider>;
59
+ /**
60
+ * Add or change the recovery method used to recover an embedded wallet.
61
+ *
62
+ * @param password New recovery password
63
+ * @param currentPassword Current recovery password used to recover the embedded wallet
64
+ * @returns EmbeddedWalletProvider implementing EIP1193Provider
65
+ */
66
+ setRecovery({ wallet, ...recoveryArgs }: SetRecoveryInput): Promise<{
67
+ user: PrivyUser;
68
+ provider: EmbeddedWalletProvider;
69
+ }>;
70
+ /**
71
+ * @returns URL to load in the embedded wallet iframe
72
+ */
73
+ getURL(): string;
74
+ /**
75
+ * @deprecated Use `onMessage` instead
76
+ *
77
+ * @returns Allows the user to subscribe
78
+ * to the response events from the embedded wallet iframe
79
+ *
80
+ * @example
81
+ * const handler = privy.wallet.getMessageHandler()
82
+ * window.addEventListener('message', handler)
83
+ */
84
+ getMessageHandler(): (event: PrivyResponseEvent) => void;
85
+ /**
86
+ * Handles messages from the embedded wallet secure contexts
87
+ *
88
+ * @example
89
+ * const onMessage = async (e: WebViewMessageEvent) => {
90
+ * const {data} = e.nativeEvent;
91
+ * client.embeddedWallet.onMessage(JSON.parse(data));
92
+ * }
93
+ */
94
+ onMessage(event: PrivyResponseEvent): void;
95
+ /**
96
+ * Retrieve this users embedded Solana wallet.
97
+ * If the wallet has never been used on this device recover.
98
+ *
99
+ * @returns EmbeddedSolanaWalletProvider
100
+ */
101
+ _loadSolana(wallet: PrivySolanaEmbeddedWalletAccount): Promise<string>;
102
+ }
103
+ export {};
@@ -0,0 +1,20 @@
1
+ import type { PrivyErrorCode } from '@privy-io/api-base';
2
+ type AuthAction = 'login' | 'link';
3
+ type Method = 'email' | 'sms' | 'oauth' | 'siwe' | 'passkey' | 'farcaster';
4
+ export type ClientErrorCode = `failed_to_complete_${AuthAction}_with_oauth` | `${AuthAction}_with_oauth_returned_with_invalid_credentials` | `${AuthAction}_with_oauth_was_cancelled_by_user` | 'attempted_rpc_call_before_logged_in' | 'attempted_submit_otp_before_sending' | 'attempted_to_set_password_before_connected' | 'attempted_to_set_password_but_password_already_set' | `attempted_login_with_${Method}_while_already_logged_in` | `attempted_link_${Method}_before_logged_in` | `attempted_unlink_siwe_before_logged_in` | 'embedded_wallet_needs_recovery' | 'embedded_wallet_creation_error' | 'embedded_wallet_recovery_error' | 'embedded_wallet_set_password_error' | 'embedded_wallet_set_recovery_error' | 'unknown_embedded_wallet_error' | 'embedded_wallet_does_not_exist' | 'embedded_wallet_already_exists' | 'embedded_wallet_webview_not_loaded' | 'embedded_wallet_request_error' | 'no_passkey_found_for_challenge' | 'pkce_state_code_mismatch' | 'failed_to_create_passkey' | 'failed_to_generate_farcaster_uri' | 'failed_to_generate_farcaster_channel_token' | 'farcaster_polling_timeout' | 'farcaster_polling_canceled' | 'unsupported_recovery_method' | 'attempted_to_create_guest_account_for_logged_in_user' | 'third_party_auth_error';
5
+ export type ErrorBody<T extends PrivyErrorCode | ClientErrorCode> = {
6
+ error: string;
7
+ code: T;
8
+ };
9
+ export type ServerErrorBody = ErrorBody<PrivyErrorCode>;
10
+ export declare class PrivyApiError extends Error {
11
+ error: string;
12
+ code: PrivyErrorCode;
13
+ constructor({ error, code }: ServerErrorBody);
14
+ }
15
+ export declare class PrivyClientError extends Error {
16
+ error: string;
17
+ code: ClientErrorCode;
18
+ constructor({ error, code }: ErrorBody<ClientErrorCode>);
19
+ }
20
+ export {};