@privy-io/node 0.1.0-alpha.2

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 (579) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/LICENSE +201 -0
  3. package/README.md +48 -0
  4. package/api-promise.d.mts +2 -0
  5. package/api-promise.d.mts.map +1 -0
  6. package/api-promise.d.ts +2 -0
  7. package/api-promise.d.ts.map +1 -0
  8. package/api-promise.js +6 -0
  9. package/api-promise.js.map +1 -0
  10. package/api-promise.mjs +2 -0
  11. package/api-promise.mjs.map +1 -0
  12. package/client.d.mts +215 -0
  13. package/client.d.mts.map +1 -0
  14. package/client.d.ts +215 -0
  15. package/client.d.ts.map +1 -0
  16. package/client.js +499 -0
  17. package/client.js.map +1 -0
  18. package/client.mjs +495 -0
  19. package/client.mjs.map +1 -0
  20. package/core/api-promise.d.mts +46 -0
  21. package/core/api-promise.d.mts.map +1 -0
  22. package/core/api-promise.d.ts +46 -0
  23. package/core/api-promise.d.ts.map +1 -0
  24. package/core/api-promise.js +74 -0
  25. package/core/api-promise.js.map +1 -0
  26. package/core/api-promise.mjs +70 -0
  27. package/core/api-promise.mjs.map +1 -0
  28. package/core/error.d.mts +46 -0
  29. package/core/error.d.mts.map +1 -0
  30. package/core/error.d.ts +46 -0
  31. package/core/error.d.ts.map +1 -0
  32. package/core/error.js +113 -0
  33. package/core/error.js.map +1 -0
  34. package/core/error.mjs +97 -0
  35. package/core/error.mjs.map +1 -0
  36. package/core/pagination.d.mts +54 -0
  37. package/core/pagination.d.mts.map +1 -0
  38. package/core/pagination.d.ts +54 -0
  39. package/core/pagination.d.ts.map +1 -0
  40. package/core/pagination.js +101 -0
  41. package/core/pagination.js.map +1 -0
  42. package/core/pagination.mjs +95 -0
  43. package/core/pagination.mjs.map +1 -0
  44. package/core/resource.d.mts +6 -0
  45. package/core/resource.d.mts.map +1 -0
  46. package/core/resource.d.ts +6 -0
  47. package/core/resource.d.ts.map +1 -0
  48. package/core/resource.js +11 -0
  49. package/core/resource.js.map +1 -0
  50. package/core/resource.mjs +7 -0
  51. package/core/resource.mjs.map +1 -0
  52. package/core/uploads.d.mts +3 -0
  53. package/core/uploads.d.mts.map +1 -0
  54. package/core/uploads.d.ts +3 -0
  55. package/core/uploads.d.ts.map +1 -0
  56. package/core/uploads.js +6 -0
  57. package/core/uploads.js.map +1 -0
  58. package/core/uploads.mjs +2 -0
  59. package/core/uploads.mjs.map +1 -0
  60. package/error.d.mts +2 -0
  61. package/error.d.mts.map +1 -0
  62. package/error.d.ts +2 -0
  63. package/error.d.ts.map +1 -0
  64. package/error.js +6 -0
  65. package/error.js.map +1 -0
  66. package/error.mjs +2 -0
  67. package/error.mjs.map +1 -0
  68. package/index.d.mts +13 -0
  69. package/index.d.mts.map +1 -0
  70. package/index.d.ts +13 -0
  71. package/index.d.ts.map +1 -0
  72. package/index.js +29 -0
  73. package/index.js.map +1 -0
  74. package/index.mjs +5 -0
  75. package/index.mjs.map +1 -0
  76. package/internal/builtin-types.d.mts +73 -0
  77. package/internal/builtin-types.d.mts.map +1 -0
  78. package/internal/builtin-types.d.ts +73 -0
  79. package/internal/builtin-types.d.ts.map +1 -0
  80. package/internal/builtin-types.js +4 -0
  81. package/internal/builtin-types.js.map +1 -0
  82. package/internal/builtin-types.mjs +3 -0
  83. package/internal/builtin-types.mjs.map +1 -0
  84. package/internal/detect-platform.d.mts +15 -0
  85. package/internal/detect-platform.d.mts.map +1 -0
  86. package/internal/detect-platform.d.ts +15 -0
  87. package/internal/detect-platform.d.ts.map +1 -0
  88. package/internal/detect-platform.js +162 -0
  89. package/internal/detect-platform.js.map +1 -0
  90. package/internal/detect-platform.mjs +157 -0
  91. package/internal/detect-platform.mjs.map +1 -0
  92. package/internal/errors.d.mts +3 -0
  93. package/internal/errors.d.mts.map +1 -0
  94. package/internal/errors.d.ts +3 -0
  95. package/internal/errors.d.ts.map +1 -0
  96. package/internal/errors.js +41 -0
  97. package/internal/errors.js.map +1 -0
  98. package/internal/errors.mjs +36 -0
  99. package/internal/errors.mjs.map +1 -0
  100. package/internal/headers.d.mts +6 -0
  101. package/internal/headers.d.mts.map +1 -0
  102. package/internal/headers.d.ts +6 -0
  103. package/internal/headers.d.ts.map +1 -0
  104. package/internal/headers.js +79 -0
  105. package/internal/headers.js.map +1 -0
  106. package/internal/headers.mjs +74 -0
  107. package/internal/headers.mjs.map +1 -0
  108. package/internal/parse.d.mts +12 -0
  109. package/internal/parse.d.mts.map +1 -0
  110. package/internal/parse.d.ts +12 -0
  111. package/internal/parse.d.ts.map +1 -0
  112. package/internal/parse.js +35 -0
  113. package/internal/parse.js.map +1 -0
  114. package/internal/parse.mjs +32 -0
  115. package/internal/parse.mjs.map +1 -0
  116. package/internal/qs/formats.d.mts +7 -0
  117. package/internal/qs/formats.d.mts.map +1 -0
  118. package/internal/qs/formats.d.ts +7 -0
  119. package/internal/qs/formats.d.ts.map +1 -0
  120. package/internal/qs/formats.js +13 -0
  121. package/internal/qs/formats.js.map +1 -0
  122. package/internal/qs/formats.mjs +9 -0
  123. package/internal/qs/formats.mjs.map +1 -0
  124. package/internal/qs/index.d.mts +10 -0
  125. package/internal/qs/index.d.mts.map +1 -0
  126. package/internal/qs/index.d.ts +10 -0
  127. package/internal/qs/index.d.ts.map +1 -0
  128. package/internal/qs/index.js +14 -0
  129. package/internal/qs/index.js.map +1 -0
  130. package/internal/qs/index.mjs +10 -0
  131. package/internal/qs/index.mjs.map +1 -0
  132. package/internal/qs/stringify.d.mts +3 -0
  133. package/internal/qs/stringify.d.mts.map +1 -0
  134. package/internal/qs/stringify.d.ts +3 -0
  135. package/internal/qs/stringify.d.ts.map +1 -0
  136. package/internal/qs/stringify.js +277 -0
  137. package/internal/qs/stringify.js.map +1 -0
  138. package/internal/qs/stringify.mjs +274 -0
  139. package/internal/qs/stringify.mjs.map +1 -0
  140. package/internal/qs/types.d.mts +57 -0
  141. package/internal/qs/types.d.mts.map +1 -0
  142. package/internal/qs/types.d.ts +57 -0
  143. package/internal/qs/types.d.ts.map +1 -0
  144. package/internal/qs/types.js +3 -0
  145. package/internal/qs/types.js.map +1 -0
  146. package/internal/qs/types.mjs +2 -0
  147. package/internal/qs/types.mjs.map +1 -0
  148. package/internal/qs/utils.d.mts +15 -0
  149. package/internal/qs/utils.d.mts.map +1 -0
  150. package/internal/qs/utils.d.ts +15 -0
  151. package/internal/qs/utils.d.ts.map +1 -0
  152. package/internal/qs/utils.js +230 -0
  153. package/internal/qs/utils.js.map +1 -0
  154. package/internal/qs/utils.mjs +217 -0
  155. package/internal/qs/utils.mjs.map +1 -0
  156. package/internal/request-options.d.mts +75 -0
  157. package/internal/request-options.d.mts.map +1 -0
  158. package/internal/request-options.d.ts +75 -0
  159. package/internal/request-options.d.ts.map +1 -0
  160. package/internal/request-options.js +14 -0
  161. package/internal/request-options.js.map +1 -0
  162. package/internal/request-options.mjs +10 -0
  163. package/internal/request-options.mjs.map +1 -0
  164. package/internal/shim-types.d.mts +17 -0
  165. package/internal/shim-types.d.mts.map +1 -0
  166. package/internal/shim-types.d.ts +17 -0
  167. package/internal/shim-types.d.ts.map +1 -0
  168. package/internal/shim-types.js +4 -0
  169. package/internal/shim-types.js.map +1 -0
  170. package/internal/shim-types.mjs +3 -0
  171. package/internal/shim-types.mjs.map +1 -0
  172. package/internal/shims.d.mts +20 -0
  173. package/internal/shims.d.mts.map +1 -0
  174. package/internal/shims.d.ts +20 -0
  175. package/internal/shims.d.ts.map +1 -0
  176. package/internal/shims.js +92 -0
  177. package/internal/shims.js.map +1 -0
  178. package/internal/shims.mjs +85 -0
  179. package/internal/shims.mjs.map +1 -0
  180. package/internal/to-file.d.mts +45 -0
  181. package/internal/to-file.d.mts.map +1 -0
  182. package/internal/to-file.d.ts +45 -0
  183. package/internal/to-file.d.ts.map +1 -0
  184. package/internal/to-file.js +91 -0
  185. package/internal/to-file.js.map +1 -0
  186. package/internal/to-file.mjs +88 -0
  187. package/internal/to-file.mjs.map +1 -0
  188. package/internal/tslib.js +85 -0
  189. package/internal/tslib.mjs +17 -0
  190. package/internal/types.d.mts +69 -0
  191. package/internal/types.d.mts.map +1 -0
  192. package/internal/types.d.ts +69 -0
  193. package/internal/types.d.ts.map +1 -0
  194. package/internal/types.js +4 -0
  195. package/internal/types.js.map +1 -0
  196. package/internal/types.mjs +3 -0
  197. package/internal/types.mjs.map +1 -0
  198. package/internal/uploads.d.mts +42 -0
  199. package/internal/uploads.d.mts.map +1 -0
  200. package/internal/uploads.d.ts +42 -0
  201. package/internal/uploads.d.ts.map +1 -0
  202. package/internal/uploads.js +141 -0
  203. package/internal/uploads.js.map +1 -0
  204. package/internal/uploads.mjs +131 -0
  205. package/internal/uploads.mjs.map +1 -0
  206. package/internal/utils/base64.d.mts +3 -0
  207. package/internal/utils/base64.d.mts.map +1 -0
  208. package/internal/utils/base64.d.ts +3 -0
  209. package/internal/utils/base64.d.ts.map +1 -0
  210. package/internal/utils/base64.js +38 -0
  211. package/internal/utils/base64.js.map +1 -0
  212. package/internal/utils/base64.mjs +33 -0
  213. package/internal/utils/base64.mjs.map +1 -0
  214. package/internal/utils/bytes.d.mts +4 -0
  215. package/internal/utils/bytes.d.mts.map +1 -0
  216. package/internal/utils/bytes.d.ts +4 -0
  217. package/internal/utils/bytes.d.ts.map +1 -0
  218. package/internal/utils/bytes.js +31 -0
  219. package/internal/utils/bytes.js.map +1 -0
  220. package/internal/utils/bytes.mjs +26 -0
  221. package/internal/utils/bytes.mjs.map +1 -0
  222. package/internal/utils/env.d.mts +9 -0
  223. package/internal/utils/env.d.mts.map +1 -0
  224. package/internal/utils/env.d.ts +9 -0
  225. package/internal/utils/env.d.ts.map +1 -0
  226. package/internal/utils/env.js +22 -0
  227. package/internal/utils/env.js.map +1 -0
  228. package/internal/utils/env.mjs +18 -0
  229. package/internal/utils/env.mjs.map +1 -0
  230. package/internal/utils/log.d.mts +37 -0
  231. package/internal/utils/log.d.mts.map +1 -0
  232. package/internal/utils/log.d.ts +37 -0
  233. package/internal/utils/log.d.ts.map +1 -0
  234. package/internal/utils/log.js +85 -0
  235. package/internal/utils/log.js.map +1 -0
  236. package/internal/utils/log.mjs +79 -0
  237. package/internal/utils/log.mjs.map +1 -0
  238. package/internal/utils/path.d.mts +15 -0
  239. package/internal/utils/path.d.mts.map +1 -0
  240. package/internal/utils/path.d.ts +15 -0
  241. package/internal/utils/path.d.ts.map +1 -0
  242. package/internal/utils/path.js +79 -0
  243. package/internal/utils/path.js.map +1 -0
  244. package/internal/utils/path.mjs +74 -0
  245. package/internal/utils/path.mjs.map +1 -0
  246. package/internal/utils/sleep.d.mts +2 -0
  247. package/internal/utils/sleep.d.mts.map +1 -0
  248. package/internal/utils/sleep.d.ts +2 -0
  249. package/internal/utils/sleep.d.ts.map +1 -0
  250. package/internal/utils/sleep.js +7 -0
  251. package/internal/utils/sleep.js.map +1 -0
  252. package/internal/utils/sleep.mjs +3 -0
  253. package/internal/utils/sleep.mjs.map +1 -0
  254. package/internal/utils/uuid.d.mts +5 -0
  255. package/internal/utils/uuid.d.mts.map +1 -0
  256. package/internal/utils/uuid.d.ts +5 -0
  257. package/internal/utils/uuid.d.ts.map +1 -0
  258. package/internal/utils/uuid.js +19 -0
  259. package/internal/utils/uuid.js.map +1 -0
  260. package/internal/utils/uuid.mjs +15 -0
  261. package/internal/utils/uuid.mjs.map +1 -0
  262. package/internal/utils/values.d.mts +18 -0
  263. package/internal/utils/values.d.mts.map +1 -0
  264. package/internal/utils/values.d.ts +18 -0
  265. package/internal/utils/values.d.ts.map +1 -0
  266. package/internal/utils/values.js +112 -0
  267. package/internal/utils/values.js.map +1 -0
  268. package/internal/utils/values.mjs +94 -0
  269. package/internal/utils/values.mjs.map +1 -0
  270. package/internal/utils.d.mts +7 -0
  271. package/internal/utils.d.mts.map +1 -0
  272. package/internal/utils.d.ts +7 -0
  273. package/internal/utils.d.ts.map +1 -0
  274. package/internal/utils.js +11 -0
  275. package/internal/utils.js.map +1 -0
  276. package/internal/utils.mjs +8 -0
  277. package/internal/utils.mjs.map +1 -0
  278. package/lib/authorization.d.mts +87 -0
  279. package/lib/authorization.d.mts.map +1 -0
  280. package/lib/authorization.d.ts +87 -0
  281. package/lib/authorization.d.ts.map +1 -0
  282. package/lib/authorization.js +73 -0
  283. package/lib/authorization.js.map +1 -0
  284. package/lib/authorization.mjs +67 -0
  285. package/lib/authorization.mjs.map +1 -0
  286. package/lib/cryptography.d.mts +8 -0
  287. package/lib/cryptography.d.mts.map +1 -0
  288. package/lib/cryptography.d.ts +8 -0
  289. package/lib/cryptography.d.ts.map +1 -0
  290. package/lib/cryptography.js +72 -0
  291. package/lib/cryptography.js.map +1 -0
  292. package/lib/cryptography.mjs +67 -0
  293. package/lib/cryptography.mjs.map +1 -0
  294. package/lib/jwt-exchange.d.mts +9 -0
  295. package/lib/jwt-exchange.d.mts.map +1 -0
  296. package/lib/jwt-exchange.d.ts +9 -0
  297. package/lib/jwt-exchange.d.ts.map +1 -0
  298. package/lib/jwt-exchange.js +55 -0
  299. package/lib/jwt-exchange.js.map +1 -0
  300. package/lib/jwt-exchange.mjs +51 -0
  301. package/lib/jwt-exchange.mjs.map +1 -0
  302. package/lib/wallet-entropy.d.mts +7 -0
  303. package/lib/wallet-entropy.d.mts.map +1 -0
  304. package/lib/wallet-entropy.d.ts +7 -0
  305. package/lib/wallet-entropy.d.ts.map +1 -0
  306. package/lib/wallet-entropy.js +44 -0
  307. package/lib/wallet-entropy.js.map +1 -0
  308. package/lib/wallet-entropy.mjs +41 -0
  309. package/lib/wallet-entropy.mjs.map +1 -0
  310. package/package.json +46 -0
  311. package/pagination.d.mts +2 -0
  312. package/pagination.d.mts.map +1 -0
  313. package/pagination.d.ts +2 -0
  314. package/pagination.d.ts.map +1 -0
  315. package/pagination.js +6 -0
  316. package/pagination.js.map +1 -0
  317. package/pagination.mjs +2 -0
  318. package/pagination.mjs.map +1 -0
  319. package/public-api/PrivyClient.d.mts +33 -0
  320. package/public-api/PrivyClient.d.mts.map +1 -0
  321. package/public-api/PrivyClient.d.ts +33 -0
  322. package/public-api/PrivyClient.d.ts.map +1 -0
  323. package/public-api/PrivyClient.js +59 -0
  324. package/public-api/PrivyClient.js.map +1 -0
  325. package/public-api/PrivyClient.mjs +55 -0
  326. package/public-api/PrivyClient.mjs.map +1 -0
  327. package/public-api/services/ethereum.d.mts +39 -0
  328. package/public-api/services/ethereum.d.mts.map +1 -0
  329. package/public-api/services/ethereum.d.ts +39 -0
  330. package/public-api/services/ethereum.d.ts.map +1 -0
  331. package/public-api/services/ethereum.js +77 -0
  332. package/public-api/services/ethereum.js.map +1 -0
  333. package/public-api/services/ethereum.mjs +73 -0
  334. package/public-api/services/ethereum.mjs.map +1 -0
  335. package/public-api/services/key-quorums.d.mts +18 -0
  336. package/public-api/services/key-quorums.d.mts.map +1 -0
  337. package/public-api/services/key-quorums.d.ts +18 -0
  338. package/public-api/services/key-quorums.d.ts.map +1 -0
  339. package/public-api/services/key-quorums.js +51 -0
  340. package/public-api/services/key-quorums.js.map +1 -0
  341. package/public-api/services/key-quorums.mjs +47 -0
  342. package/public-api/services/key-quorums.mjs.map +1 -0
  343. package/public-api/services/policies.d.mts +27 -0
  344. package/public-api/services/policies.d.mts.map +1 -0
  345. package/public-api/services/policies.d.ts +27 -0
  346. package/public-api/services/policies.d.ts.map +1 -0
  347. package/public-api/services/policies.js +110 -0
  348. package/public-api/services/policies.js.map +1 -0
  349. package/public-api/services/policies.mjs +106 -0
  350. package/public-api/services/policies.mjs.map +1 -0
  351. package/public-api/services/solana.d.mts +42 -0
  352. package/public-api/services/solana.d.mts.map +1 -0
  353. package/public-api/services/solana.d.ts +42 -0
  354. package/public-api/services/solana.d.ts.map +1 -0
  355. package/public-api/services/solana.js +67 -0
  356. package/public-api/services/solana.js.map +1 -0
  357. package/public-api/services/solana.mjs +63 -0
  358. package/public-api/services/solana.mjs.map +1 -0
  359. package/public-api/services/transactions.d.mts +4 -0
  360. package/public-api/services/transactions.d.mts.map +1 -0
  361. package/public-api/services/transactions.d.ts +4 -0
  362. package/public-api/services/transactions.d.ts.map +1 -0
  363. package/public-api/services/transactions.js +8 -0
  364. package/public-api/services/transactions.js.map +1 -0
  365. package/public-api/services/transactions.mjs +4 -0
  366. package/public-api/services/transactions.mjs.map +1 -0
  367. package/public-api/services/types.d.mts +54 -0
  368. package/public-api/services/types.d.mts.map +1 -0
  369. package/public-api/services/types.d.ts +54 -0
  370. package/public-api/services/types.d.ts.map +1 -0
  371. package/public-api/services/types.js +3 -0
  372. package/public-api/services/types.js.map +1 -0
  373. package/public-api/services/types.mjs +2 -0
  374. package/public-api/services/types.mjs.map +1 -0
  375. package/public-api/services/users.d.mts +4 -0
  376. package/public-api/services/users.d.mts.map +1 -0
  377. package/public-api/services/users.d.ts +4 -0
  378. package/public-api/services/users.d.ts.map +1 -0
  379. package/public-api/services/users.js +8 -0
  380. package/public-api/services/users.js.map +1 -0
  381. package/public-api/services/users.mjs +4 -0
  382. package/public-api/services/users.mjs.map +1 -0
  383. package/public-api/services/utils.d.mts +26 -0
  384. package/public-api/services/utils.d.mts.map +1 -0
  385. package/public-api/services/utils.d.ts +26 -0
  386. package/public-api/services/utils.d.ts.map +1 -0
  387. package/public-api/services/utils.js +18 -0
  388. package/public-api/services/utils.js.map +1 -0
  389. package/public-api/services/utils.mjs +14 -0
  390. package/public-api/services/utils.mjs.map +1 -0
  391. package/public-api/services/wallets.d.mts +70 -0
  392. package/public-api/services/wallets.d.mts.map +1 -0
  393. package/public-api/services/wallets.d.ts +70 -0
  394. package/public-api/services/wallets.d.ts.map +1 -0
  395. package/public-api/services/wallets.js +145 -0
  396. package/public-api/services/wallets.js.map +1 -0
  397. package/public-api/services/wallets.mjs +141 -0
  398. package/public-api/services/wallets.mjs.map +1 -0
  399. package/resource.d.mts +2 -0
  400. package/resource.d.mts.map +1 -0
  401. package/resource.d.ts +2 -0
  402. package/resource.d.ts.map +1 -0
  403. package/resource.js +6 -0
  404. package/resource.js.map +1 -0
  405. package/resource.mjs +2 -0
  406. package/resource.mjs.map +1 -0
  407. package/resources/index.d.mts +6 -0
  408. package/resources/index.d.mts.map +1 -0
  409. package/resources/index.d.ts +6 -0
  410. package/resources/index.d.ts.map +1 -0
  411. package/resources/index.js +15 -0
  412. package/resources/index.js.map +1 -0
  413. package/resources/index.mjs +7 -0
  414. package/resources/index.mjs.map +1 -0
  415. package/resources/key-quorums.d.mts +106 -0
  416. package/resources/key-quorums.d.mts.map +1 -0
  417. package/resources/key-quorums.d.ts +106 -0
  418. package/resources/key-quorums.d.ts.map +1 -0
  419. package/resources/key-quorums.js +84 -0
  420. package/resources/key-quorums.js.map +1 -0
  421. package/resources/key-quorums.mjs +80 -0
  422. package/resources/key-quorums.mjs.map +1 -0
  423. package/resources/policies.d.mts +1283 -0
  424. package/resources/policies.d.mts.map +1 -0
  425. package/resources/policies.d.ts +1283 -0
  426. package/resources/policies.d.ts.map +1 -0
  427. package/resources/policies.js +228 -0
  428. package/resources/policies.js.map +1 -0
  429. package/resources/policies.mjs +224 -0
  430. package/resources/policies.mjs.map +1 -0
  431. package/resources/transactions.d.mts +29 -0
  432. package/resources/transactions.d.mts.map +1 -0
  433. package/resources/transactions.d.ts +29 -0
  434. package/resources/transactions.d.ts.map +1 -0
  435. package/resources/transactions.js +23 -0
  436. package/resources/transactions.js.map +1 -0
  437. package/resources/transactions.mjs +19 -0
  438. package/resources/transactions.mjs.map +1 -0
  439. package/resources/users.d.mts +766 -0
  440. package/resources/users.d.mts.map +1 -0
  441. package/resources/users.d.ts +766 -0
  442. package/resources/users.d.ts.map +1 -0
  443. package/resources/users.js +278 -0
  444. package/resources/users.js.map +1 -0
  445. package/resources/users.mjs +274 -0
  446. package/resources/users.mjs.map +1 -0
  447. package/resources/wallets/balance.d.mts +40 -0
  448. package/resources/wallets/balance.d.mts.map +1 -0
  449. package/resources/wallets/balance.d.ts +40 -0
  450. package/resources/wallets/balance.d.ts.map +1 -0
  451. package/resources/wallets/balance.js +24 -0
  452. package/resources/wallets/balance.js.map +1 -0
  453. package/resources/wallets/balance.mjs +20 -0
  454. package/resources/wallets/balance.mjs.map +1 -0
  455. package/resources/wallets/index.d.mts +4 -0
  456. package/resources/wallets/index.d.mts.map +1 -0
  457. package/resources/wallets/index.d.ts +4 -0
  458. package/resources/wallets/index.d.ts.map +1 -0
  459. package/resources/wallets/index.js +11 -0
  460. package/resources/wallets/index.js.map +1 -0
  461. package/resources/wallets/index.mjs +5 -0
  462. package/resources/wallets/index.mjs.map +1 -0
  463. package/resources/wallets/transactions.d.mts +73 -0
  464. package/resources/wallets/transactions.d.mts.map +1 -0
  465. package/resources/wallets/transactions.d.ts +73 -0
  466. package/resources/wallets/transactions.d.ts.map +1 -0
  467. package/resources/wallets/transactions.js +24 -0
  468. package/resources/wallets/transactions.js.map +1 -0
  469. package/resources/wallets/transactions.mjs +20 -0
  470. package/resources/wallets/transactions.mjs.map +1 -0
  471. package/resources/wallets/wallets.d.mts +1122 -0
  472. package/resources/wallets/wallets.d.mts.map +1 -0
  473. package/resources/wallets/wallets.d.ts +1122 -0
  474. package/resources/wallets/wallets.d.ts.map +1 -0
  475. package/resources/wallets/wallets.js +235 -0
  476. package/resources/wallets/wallets.js.map +1 -0
  477. package/resources/wallets/wallets.mjs +230 -0
  478. package/resources/wallets/wallets.mjs.map +1 -0
  479. package/resources/wallets.d.mts +2 -0
  480. package/resources/wallets.d.mts.map +1 -0
  481. package/resources/wallets.d.ts +2 -0
  482. package/resources/wallets.d.ts.map +1 -0
  483. package/resources/wallets.js +6 -0
  484. package/resources/wallets.js.map +1 -0
  485. package/resources/wallets.mjs +3 -0
  486. package/resources/wallets.mjs.map +1 -0
  487. package/resources.d.mts +2 -0
  488. package/resources.d.mts.map +1 -0
  489. package/resources.d.ts +2 -0
  490. package/resources.d.ts.map +1 -0
  491. package/resources.js +5 -0
  492. package/resources.js.map +1 -0
  493. package/resources.mjs +2 -0
  494. package/resources.mjs.map +1 -0
  495. package/src/api-promise.ts +2 -0
  496. package/src/client.ts +942 -0
  497. package/src/core/README.md +3 -0
  498. package/src/core/api-promise.ts +92 -0
  499. package/src/core/error.ts +130 -0
  500. package/src/core/pagination.ts +157 -0
  501. package/src/core/resource.ts +11 -0
  502. package/src/core/uploads.ts +2 -0
  503. package/src/error.ts +2 -0
  504. package/src/index.ts +34 -0
  505. package/src/internal/README.md +3 -0
  506. package/src/internal/builtin-types.ts +93 -0
  507. package/src/internal/detect-platform.ts +196 -0
  508. package/src/internal/errors.ts +33 -0
  509. package/src/internal/headers.ts +97 -0
  510. package/src/internal/parse.ts +50 -0
  511. package/src/internal/qs/LICENSE.md +13 -0
  512. package/src/internal/qs/README.md +3 -0
  513. package/src/internal/qs/formats.ts +10 -0
  514. package/src/internal/qs/index.ts +13 -0
  515. package/src/internal/qs/stringify.ts +385 -0
  516. package/src/internal/qs/types.ts +71 -0
  517. package/src/internal/qs/utils.ts +265 -0
  518. package/src/internal/request-options.ts +91 -0
  519. package/src/internal/shim-types.ts +26 -0
  520. package/src/internal/shims.ts +107 -0
  521. package/src/internal/to-file.ts +154 -0
  522. package/src/internal/types.ts +95 -0
  523. package/src/internal/uploads.ts +187 -0
  524. package/src/internal/utils/base64.ts +40 -0
  525. package/src/internal/utils/bytes.ts +32 -0
  526. package/src/internal/utils/env.ts +18 -0
  527. package/src/internal/utils/log.ts +126 -0
  528. package/src/internal/utils/path.ts +88 -0
  529. package/src/internal/utils/sleep.ts +3 -0
  530. package/src/internal/utils/uuid.ts +17 -0
  531. package/src/internal/utils/values.ts +105 -0
  532. package/src/internal/utils.ts +8 -0
  533. package/src/lib/.keep +4 -0
  534. package/src/lib/authorization.ts +153 -0
  535. package/src/lib/cryptography.ts +109 -0
  536. package/src/lib/jwt-exchange.ts +65 -0
  537. package/src/lib/wallet-entropy.ts +48 -0
  538. package/src/pagination.ts +2 -0
  539. package/src/public-api/PrivyClient.ts +91 -0
  540. package/src/public-api/services/ethereum.ts +134 -0
  541. package/src/public-api/services/key-quorums.ts +77 -0
  542. package/src/public-api/services/policies.ts +175 -0
  543. package/src/public-api/services/solana.ts +111 -0
  544. package/src/public-api/services/transactions.ts +3 -0
  545. package/src/public-api/services/types.ts +50 -0
  546. package/src/public-api/services/users.ts +3 -0
  547. package/src/public-api/services/utils.ts +40 -0
  548. package/src/public-api/services/wallets.ts +270 -0
  549. package/src/resource.ts +2 -0
  550. package/src/resources/index.ts +71 -0
  551. package/src/resources/key-quorums.ts +177 -0
  552. package/src/resources/policies.ts +1992 -0
  553. package/src/resources/transactions.ts +42 -0
  554. package/src/resources/users.ts +1312 -0
  555. package/src/resources/wallets/balance.ts +62 -0
  556. package/src/resources/wallets/index.ts +25 -0
  557. package/src/resources/wallets/transactions.ts +116 -0
  558. package/src/resources/wallets/wallets.ts +1609 -0
  559. package/src/resources/wallets.ts +3 -0
  560. package/src/resources.ts +1 -0
  561. package/src/tsconfig.json +11 -0
  562. package/src/uploads.ts +2 -0
  563. package/src/version.ts +1 -0
  564. package/uploads.d.mts +2 -0
  565. package/uploads.d.mts.map +1 -0
  566. package/uploads.d.ts +2 -0
  567. package/uploads.d.ts.map +1 -0
  568. package/uploads.js +6 -0
  569. package/uploads.js.map +1 -0
  570. package/uploads.mjs +2 -0
  571. package/uploads.mjs.map +1 -0
  572. package/version.d.mts +2 -0
  573. package/version.d.mts.map +1 -0
  574. package/version.d.ts +2 -0
  575. package/version.d.ts.map +1 -0
  576. package/version.js +5 -0
  577. package/version.js.map +1 -0
  578. package/version.mjs +2 -0
  579. package/version.mjs.map +1 -0
@@ -0,0 +1,67 @@
1
+ import { Chacha20Poly1305 } from '@hpke/chacha20poly1305';
2
+ import { CipherSuite, DhkemP256HkdfSha256, HkdfSha256 } from '@hpke/core';
3
+ import { p256 } from '@noble/curves/nist';
4
+ /**
5
+ * Imports a P-256 private key for use with the `@noble/curves` library.
6
+ *
7
+ * @param privateKey - A base64-encoded PKCS8-formatted private key, with no PEM headers.
8
+ * @returns A private key object for the P-256 curve.
9
+ * @internal
10
+ */
11
+ export function importPKCS8PrivateKey(privateKey) {
12
+ // We fall back to `Buffer` here as Uint8Array.fromBase64 is not widely supported yet
13
+ const pkcs8Bytes = Buffer.from(privateKey, 'base64');
14
+ const privateKeyStart = pkcs8Bytes.indexOf(Buffer.from([0x04, 0x20]));
15
+ if (privateKeyStart === -1) {
16
+ throw new Error('Invalid wallet authorization private key');
17
+ }
18
+ const privateKeyBytes = pkcs8Bytes.subarray(privateKeyStart + 2, privateKeyStart + 34);
19
+ return p256.Point.Fn.fromBytes(privateKeyBytes);
20
+ }
21
+ /**
22
+ * Sets up HPKE for securely requesting a payload (as the recipient)
23
+ * from a sender (e.g. the Privy API).
24
+ * @returns The HPKE receiver object.
25
+ * @internal
26
+ */
27
+ export async function setupHPKERecipient() {
28
+ const suite = new CipherSuite({
29
+ kem: new DhkemP256HkdfSha256(),
30
+ kdf: new HkdfSha256(),
31
+ aead: new Chacha20Poly1305(),
32
+ });
33
+ const keypair = await suite.kem.generateKeyPair();
34
+ const publicKeySpki = await crypto.subtle.exportKey('spki', keypair.publicKey);
35
+ return {
36
+ publicKeySpki: new Uint8Array(publicKeySpki),
37
+ decryptPayload: async (encapsulatedKey, ciphertext) => {
38
+ const recipient = await suite.createRecipientContext({
39
+ recipientKey: keypair.privateKey,
40
+ enc: encapsulatedKey,
41
+ });
42
+ const decodedBytes = await recipient.open(ciphertext);
43
+ return new Uint8Array(decodedBytes);
44
+ },
45
+ };
46
+ }
47
+ export async function setupHPKESender() {
48
+ const suite = new CipherSuite({
49
+ kem: new DhkemP256HkdfSha256(),
50
+ kdf: new HkdfSha256(),
51
+ aead: new Chacha20Poly1305(),
52
+ });
53
+ return {
54
+ encryptPayload: async (publicKey, payload) => {
55
+ const recipientPublicKey = await suite.kem.deserializePublicKey(publicKey);
56
+ const sender = await suite.createSenderContext({
57
+ recipientPublicKey,
58
+ });
59
+ const ciphertext = await sender.seal(payload);
60
+ return {
61
+ ciphertext: new Uint8Array(ciphertext),
62
+ encapsulatedKey: new Uint8Array(sender.enc),
63
+ };
64
+ },
65
+ };
66
+ }
67
+ //# sourceMappingURL=cryptography.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cryptography.mjs","sourceRoot":"","sources":["../src/lib/cryptography.ts"],"names":[],"mappings":"OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB;OAClD,EAAE,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,YAAY;OAClE,EAAE,IAAI,EAAE,MAAM,oBAAoB;AAGzC;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,qFAAqF;IACrF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEtE,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,EAAE,eAAe,GAAG,EAAE,CAAC,CAAC;IACvF,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;AAClD,CAAC;AAeD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC;QAC5B,GAAG,EAAE,IAAI,mBAAmB,EAAE;QAC9B,GAAG,EAAE,IAAI,UAAU,EAAE;QACrB,IAAI,EAAE,IAAI,gBAAgB,EAAE;KAC7B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAE/E,OAAO;QACL,aAAa,EAAE,IAAI,UAAU,CAAC,aAAa,CAAC;QAC5C,cAAc,EAAE,KAAK,EAAE,eAA2B,EAAE,UAAsB,EAAE,EAAE;YAC5E,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,sBAAsB,CAAC;gBACnD,YAAY,EAAE,OAAO,CAAC,UAAU;gBAChC,GAAG,EAAE,eAAe;aACrB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEtD,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC;AAoBD,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC;QAC5B,GAAG,EAAE,IAAI,mBAAmB,EAAE;QAC9B,GAAG,EAAE,IAAI,UAAU,EAAE;QACrB,IAAI,EAAE,IAAI,gBAAgB,EAAE;KAC7B,CAAC,CAAC;IAEH,OAAO;QACL,cAAc,EAAE,KAAK,EAAE,SAAqB,EAAE,OAAmB,EAAE,EAAE;YACnE,MAAM,kBAAkB,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC;gBAC7C,kBAAkB;aACnB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE9C,OAAO;gBACL,UAAU,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC;gBACtC,eAAe,EAAE,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC;aAC5C,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Wallets } from "../resources.mjs";
2
+ export declare class JwtExchangeService {
3
+ private _hpkeRecipient;
4
+ private walletsService;
5
+ private jwtCache;
6
+ constructor(walletsService: Wallets, authorizationKeyCacheMaxCapacity: number);
7
+ private getHpkeRecipient;
8
+ }
9
+ //# sourceMappingURL=jwt-exchange.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-exchange.d.mts","sourceRoot":"","sources":["../src/lib/jwt-exchange.ts"],"names":[],"mappings":"OAEO,EAAE,OAAO,EAAE;AAGlB,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,QAAQ,CAA2B;gBAE/B,cAAc,EAAE,OAAO,EAAE,gCAAgC,EAAE,MAAM;YAK/D,gBAAgB;CAiD/B"}
@@ -0,0 +1,9 @@
1
+ import { Wallets } from "../resources.js";
2
+ export declare class JwtExchangeService {
3
+ private _hpkeRecipient;
4
+ private walletsService;
5
+ private jwtCache;
6
+ constructor(walletsService: Wallets, authorizationKeyCacheMaxCapacity: number);
7
+ private getHpkeRecipient;
8
+ }
9
+ //# sourceMappingURL=jwt-exchange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-exchange.d.ts","sourceRoot":"","sources":["../src/lib/jwt-exchange.ts"],"names":[],"mappings":"OAEO,EAAE,OAAO,EAAE;AAGlB,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,QAAQ,CAA2B;gBAE/B,cAAc,EAAE,OAAO,EAAE,gCAAgC,EAAE,MAAM;YAK/D,gBAAgB;CAiD/B"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JwtExchangeService = void 0;
4
+ const lru_cache_1 = require("lru-cache");
5
+ const error_1 = require("../core/error.js");
6
+ const cryptography_1 = require("./cryptography.js");
7
+ class JwtExchangeService {
8
+ constructor(walletsService, authorizationKeyCacheMaxCapacity) {
9
+ this._hpkeRecipient = null;
10
+ this.walletsService = walletsService;
11
+ this.jwtCache = new lru_cache_1.LRUCache({ max: authorizationKeyCacheMaxCapacity });
12
+ }
13
+ async getHpkeRecipient() {
14
+ if (!this._hpkeRecipient) {
15
+ this._hpkeRecipient = await (0, cryptography_1.setupHPKERecipient)();
16
+ }
17
+ return this._hpkeRecipient;
18
+ }
19
+ /**
20
+ * Exchanges a JWT for an authorization key.
21
+ * @param jwt - The JWT to exchange for an authorization key.
22
+ * @returns The (base-64 encoded PKCS8-formatted) authorization key.
23
+ * @internal
24
+ */
25
+ async exchangeJwtForAuthorizationKey(jwt) {
26
+ const cachedAuthorizationKey = this.jwtCache.get(jwt);
27
+ if (cachedAuthorizationKey) {
28
+ return cachedAuthorizationKey;
29
+ }
30
+ const { publicKeySpki, decryptPayload } = await this.getHpkeRecipient();
31
+ const signer = await this.walletsService.authenticateWithJwt({
32
+ user_jwt: jwt,
33
+ encryption_type: 'HPKE',
34
+ // We fall back to `Buffer` here as Uint8Array.toBase64 is not widely supported yet
35
+ recipient_public_key: Buffer.from(publicKeySpki).toString('base64'),
36
+ });
37
+ if ('encrypted_authorization_key' in signer &&
38
+ signer.encrypted_authorization_key.encryption_type === 'HPKE') {
39
+ const encryptedAuthorizationKey = signer.encrypted_authorization_key;
40
+ const decryptedAuthorizationKey = await decryptPayload(
41
+ // We fall back to `Buffer` here as Uint8Array.fromBase64 is not widely supported yet
42
+ Buffer.from(encryptedAuthorizationKey.encapsulated_key, 'base64'), Buffer.from(encryptedAuthorizationKey.ciphertext, 'base64'));
43
+ const authorizationKey = new TextDecoder().decode(decryptedAuthorizationKey);
44
+ this.jwtCache.set(jwt, authorizationKey,
45
+ // Setting the TTL here makes the LRU cache check and prune on `.get`.
46
+ { ttl: signer.expires_at - Date.now() });
47
+ return authorizationKey;
48
+ }
49
+ else {
50
+ throw new error_1.PrivyAPIError('JWT exchange failed: unsupported encryption type');
51
+ }
52
+ }
53
+ }
54
+ exports.JwtExchangeService = JwtExchangeService;
55
+ //# sourceMappingURL=jwt-exchange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-exchange.js","sourceRoot":"","sources":["../src/lib/jwt-exchange.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AACrC,4CAA8C;AAE9C,oDAAmE;AAEnE,MAAa,kBAAkB;IAK7B,YAAY,cAAuB,EAAE,gCAAwC;QAJrE,mBAAc,GAAyB,IAAI,CAAC;QAKlD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC,EAAE,GAAG,EAAE,gCAAgC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,MAAM,IAAA,iCAAkB,GAAE,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,8BAA8B,CAAC,GAAW;QAC9C,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,sBAAsB,CAAC;QAChC,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC;YAC3D,QAAQ,EAAE,GAAG;YACb,eAAe,EAAE,MAAM;YACvB,mFAAmF;YACnF,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACpE,CAAC,CAAC;QACH,IACE,6BAA6B,IAAI,MAAM;YACvC,MAAM,CAAC,2BAA2B,CAAC,eAAe,KAAK,MAAM,EAC7D,CAAC;YACD,MAAM,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC;YACrE,MAAM,yBAAyB,GAAG,MAAM,cAAc;YACpD,qFAAqF;YACrF,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EACjE,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAC5D,CAAC;YACF,MAAM,gBAAgB,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,GAAG,CACf,GAAG,EACH,gBAAgB;YAChB,sEAAsE;YACtE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CACxC,CAAC;YACF,OAAO,gBAAgB,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,qBAAa,CAAC,kDAAkD,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;CACF;AA3DD,gDA2DC"}
@@ -0,0 +1,51 @@
1
+ import { LRUCache } from 'lru-cache';
2
+ import { PrivyAPIError } from "../core/error.mjs";
3
+ import { setupHPKERecipient } from "./cryptography.mjs";
4
+ export class JwtExchangeService {
5
+ constructor(walletsService, authorizationKeyCacheMaxCapacity) {
6
+ this._hpkeRecipient = null;
7
+ this.walletsService = walletsService;
8
+ this.jwtCache = new LRUCache({ max: authorizationKeyCacheMaxCapacity });
9
+ }
10
+ async getHpkeRecipient() {
11
+ if (!this._hpkeRecipient) {
12
+ this._hpkeRecipient = await setupHPKERecipient();
13
+ }
14
+ return this._hpkeRecipient;
15
+ }
16
+ /**
17
+ * Exchanges a JWT for an authorization key.
18
+ * @param jwt - The JWT to exchange for an authorization key.
19
+ * @returns The (base-64 encoded PKCS8-formatted) authorization key.
20
+ * @internal
21
+ */
22
+ async exchangeJwtForAuthorizationKey(jwt) {
23
+ const cachedAuthorizationKey = this.jwtCache.get(jwt);
24
+ if (cachedAuthorizationKey) {
25
+ return cachedAuthorizationKey;
26
+ }
27
+ const { publicKeySpki, decryptPayload } = await this.getHpkeRecipient();
28
+ const signer = await this.walletsService.authenticateWithJwt({
29
+ user_jwt: jwt,
30
+ encryption_type: 'HPKE',
31
+ // We fall back to `Buffer` here as Uint8Array.toBase64 is not widely supported yet
32
+ recipient_public_key: Buffer.from(publicKeySpki).toString('base64'),
33
+ });
34
+ if ('encrypted_authorization_key' in signer &&
35
+ signer.encrypted_authorization_key.encryption_type === 'HPKE') {
36
+ const encryptedAuthorizationKey = signer.encrypted_authorization_key;
37
+ const decryptedAuthorizationKey = await decryptPayload(
38
+ // We fall back to `Buffer` here as Uint8Array.fromBase64 is not widely supported yet
39
+ Buffer.from(encryptedAuthorizationKey.encapsulated_key, 'base64'), Buffer.from(encryptedAuthorizationKey.ciphertext, 'base64'));
40
+ const authorizationKey = new TextDecoder().decode(decryptedAuthorizationKey);
41
+ this.jwtCache.set(jwt, authorizationKey,
42
+ // Setting the TTL here makes the LRU cache check and prune on `.get`.
43
+ { ttl: signer.expires_at - Date.now() });
44
+ return authorizationKey;
45
+ }
46
+ else {
47
+ throw new PrivyAPIError('JWT exchange failed: unsupported encryption type');
48
+ }
49
+ }
50
+ }
51
+ //# sourceMappingURL=jwt-exchange.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-exchange.mjs","sourceRoot":"","sources":["../src/lib/jwt-exchange.ts"],"names":[],"mappings":"OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW;OAC7B,EAAE,aAAa,EAAE;OAEjB,EAAiB,kBAAkB,EAAE;AAE5C,MAAM,OAAO,kBAAkB;IAK7B,YAAY,cAAuB,EAAE,gCAAwC;QAJrE,mBAAc,GAAyB,IAAI,CAAC;QAKlD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,GAAG,EAAE,gCAAgC,EAAE,CAAC,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,8BAA8B,CAAC,GAAW;QAC9C,MAAM,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,sBAAsB,CAAC;QAChC,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC;YAC3D,QAAQ,EAAE,GAAG;YACb,eAAe,EAAE,MAAM;YACvB,mFAAmF;YACnF,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;SACpE,CAAC,CAAC;QACH,IACE,6BAA6B,IAAI,MAAM;YACvC,MAAM,CAAC,2BAA2B,CAAC,eAAe,KAAK,MAAM,EAC7D,CAAC;YACD,MAAM,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC;YACrE,MAAM,yBAAyB,GAAG,MAAM,cAAc;YACpD,qFAAqF;YACrF,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EACjE,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAC5D,CAAC;YACF,MAAM,gBAAgB,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,GAAG,CACf,GAAG,EACH,gBAAgB;YAChB,sEAAsE;YACtE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CACxC,CAAC;YACF,OAAO,gBAAgB,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,aAAa,CAAC,kDAAkD,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ export interface EntropyToBytesInput {
2
+ entropy: string | Uint8Array;
3
+ entropyType: 'hd' | 'private-key';
4
+ chainType: 'ethereum' | 'solana';
5
+ }
6
+ export declare function entropyToBytes(wallet: EntropyToBytesInput): Uint8Array;
7
+ //# sourceMappingURL=wallet-entropy.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-entropy.d.mts","sourceRoot":"","sources":["../src/lib/wallet-entropy.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,WAAW,EAAE,IAAI,GAAG,aAAa,CAAC;IAClC,SAAS,EAAE,UAAU,GAAG,QAAQ,CAAC;CAClC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,UAAU,CAsCtE"}
@@ -0,0 +1,7 @@
1
+ export interface EntropyToBytesInput {
2
+ entropy: string | Uint8Array;
3
+ entropyType: 'hd' | 'private-key';
4
+ chainType: 'ethereum' | 'solana';
5
+ }
6
+ export declare function entropyToBytes(wallet: EntropyToBytesInput): Uint8Array;
7
+ //# sourceMappingURL=wallet-entropy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-entropy.d.ts","sourceRoot":"","sources":["../src/lib/wallet-entropy.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,WAAW,EAAE,IAAI,GAAG,aAAa,CAAC;IAClC,SAAS,EAAE,UAAU,GAAG,QAAQ,CAAC;CAClC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,UAAU,CAsCtE"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.entropyToBytes = entropyToBytes;
4
+ const base_1 = require("@scure/base");
5
+ const error_1 = require("../error.js");
6
+ function entropyToBytes(wallet) {
7
+ const { entropy, entropyType, chainType } = wallet;
8
+ if (typeof entropy !== 'string') {
9
+ // If a straight entropy byte array is provided, return it
10
+ return entropy;
11
+ }
12
+ switch (entropyType) {
13
+ case 'hd':
14
+ // HD entropy is a BIP39 mnemonic that can be encoded as utf-8
15
+ return new TextEncoder().encode(entropy);
16
+ case 'private-key':
17
+ if (chainType === 'ethereum') {
18
+ try {
19
+ // Private key strings are hex encoded for Ethereum
20
+ const entropyWithout0x = entropy.startsWith('0x') ? entropy.slice(2) : entropy;
21
+ // We fall back to `Buffer` here as Uint8Array.fromHex is not widely supported yet
22
+ return new Uint8Array(Buffer.from(entropyWithout0x, 'hex'));
23
+ }
24
+ catch (error) {
25
+ throw new error_1.PrivyAPIError(`Invalid private key: Ethereum entropy must be hex encoded`);
26
+ }
27
+ }
28
+ if (chainType === 'solana') {
29
+ try {
30
+ // Private key strings are base58 encoded for Solana
31
+ return base_1.base58.decode(entropy);
32
+ }
33
+ catch (error) {
34
+ throw new error_1.PrivyAPIError(`Invalid private key: Solana entropy must be base58 encoded`);
35
+ }
36
+ }
37
+ // This should be unreachable, so we check with `satisfies never`
38
+ throw new error_1.PrivyAPIError(`Invalid chain type for imports: ${chainType}`);
39
+ default:
40
+ // This should be unreachable, so we check with `satisfies never`
41
+ throw new error_1.PrivyAPIError(`Invalid entropy type: ${entropyType}`);
42
+ }
43
+ }
44
+ //# sourceMappingURL=wallet-entropy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-entropy.js","sourceRoot":"","sources":["../src/lib/wallet-entropy.ts"],"names":[],"mappings":";;AASA,wCAsCC;AA/CD,sCAAqC;AACrC,uCAAyC;AAQzC,SAAgB,cAAc,CAAC,MAA2B;IACxD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACnD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,0DAA0D;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,IAAI;YACP,8DAA8D;YAC9D,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,KAAK,aAAa;YAChB,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,mDAAmD;oBACnD,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC/E,kFAAkF;oBAClF,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,qBAAa,CAAC,2DAA2D,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;YAED,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,oDAAoD;oBACpD,OAAO,aAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,qBAAa,CAAC,4DAA4D,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;YAED,iEAAiE;YACjE,MAAM,IAAI,qBAAa,CAAC,mCAAmC,SAAyB,EAAE,CAAC,CAAC;QAC1F;YACE,iEAAiE;YACjE,MAAM,IAAI,qBAAa,CAAC,yBAAyB,WAA2B,EAAE,CAAC,CAAC;IACpF,CAAC;AACH,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { base58 } from '@scure/base';
2
+ import { PrivyAPIError } from "../error.mjs";
3
+ export function entropyToBytes(wallet) {
4
+ const { entropy, entropyType, chainType } = wallet;
5
+ if (typeof entropy !== 'string') {
6
+ // If a straight entropy byte array is provided, return it
7
+ return entropy;
8
+ }
9
+ switch (entropyType) {
10
+ case 'hd':
11
+ // HD entropy is a BIP39 mnemonic that can be encoded as utf-8
12
+ return new TextEncoder().encode(entropy);
13
+ case 'private-key':
14
+ if (chainType === 'ethereum') {
15
+ try {
16
+ // Private key strings are hex encoded for Ethereum
17
+ const entropyWithout0x = entropy.startsWith('0x') ? entropy.slice(2) : entropy;
18
+ // We fall back to `Buffer` here as Uint8Array.fromHex is not widely supported yet
19
+ return new Uint8Array(Buffer.from(entropyWithout0x, 'hex'));
20
+ }
21
+ catch (error) {
22
+ throw new PrivyAPIError(`Invalid private key: Ethereum entropy must be hex encoded`);
23
+ }
24
+ }
25
+ if (chainType === 'solana') {
26
+ try {
27
+ // Private key strings are base58 encoded for Solana
28
+ return base58.decode(entropy);
29
+ }
30
+ catch (error) {
31
+ throw new PrivyAPIError(`Invalid private key: Solana entropy must be base58 encoded`);
32
+ }
33
+ }
34
+ // This should be unreachable, so we check with `satisfies never`
35
+ throw new PrivyAPIError(`Invalid chain type for imports: ${chainType}`);
36
+ default:
37
+ // This should be unreachable, so we check with `satisfies never`
38
+ throw new PrivyAPIError(`Invalid entropy type: ${entropyType}`);
39
+ }
40
+ }
41
+ //# sourceMappingURL=wallet-entropy.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-entropy.mjs","sourceRoot":"","sources":["../src/lib/wallet-entropy.ts"],"names":[],"mappings":"OAAO,EAAE,MAAM,EAAE,MAAM,aAAa;OAC7B,EAAE,aAAa,EAAE;AAQxB,MAAM,UAAU,cAAc,CAAC,MAA2B;IACxD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACnD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,0DAA0D;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,IAAI;YACP,8DAA8D;YAC9D,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,KAAK,aAAa;YAChB,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,mDAAmD;oBACnD,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC/E,kFAAkF;oBAClF,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,aAAa,CAAC,2DAA2D,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;YAED,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,oDAAoD;oBACpD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,aAAa,CAAC,4DAA4D,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;YAED,iEAAiE;YACjE,MAAM,IAAI,aAAa,CAAC,mCAAmC,SAAyB,EAAE,CAAC,CAAC;QAC1F;YACE,iEAAiE;YACjE,MAAM,IAAI,aAAa,CAAC,yBAAyB,WAA2B,EAAE,CAAC,CAAC;IACpF,CAAC;AACH,CAAC"}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@privy-io/node",
3
+ "version": "0.1.0-alpha.2",
4
+ "description": "The official TypeScript library for the Privy API API",
5
+ "author": "Privy API <support@privy.io>",
6
+ "types": "./index.d.ts",
7
+ "main": "./index.js",
8
+ "type": "commonjs",
9
+ "repository": "github:privy-io/node-sdk",
10
+ "license": "Apache-2.0",
11
+ "packageManager": "yarn@1.22.22",
12
+ "files": [
13
+ "**/*"
14
+ ],
15
+ "private": false,
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "scripts": {
20
+ "test": "./scripts/test",
21
+ "test:integration": "jest --testPathPattern=tests/integration --verbose --testTimeout 10000",
22
+ "build": "./scripts/build",
23
+ "format": "./scripts/format",
24
+ "tsn": "ts-node -r tsconfig-paths/register",
25
+ "lint": "./scripts/lint",
26
+ "fix": "./scripts/format"
27
+ },
28
+ "dependencies": {
29
+ "@hpke/chacha20poly1305": "^1.7.1",
30
+ "@hpke/core": "^1.7.4",
31
+ "@noble/curves": "^1.9.7",
32
+ "@noble/hashes": "^1.8.0",
33
+ "canonicalize": "^2.1.0",
34
+ "lru-cache": "^11.1.0"
35
+ },
36
+ "exports": {
37
+ ".": {
38
+ "require": {
39
+ "types": "./index.d.ts",
40
+ "default": "./index.js"
41
+ },
42
+ "types": "./index.d.mts",
43
+ "default": "./index.mjs"
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./core/pagination.mjs";
2
+ //# sourceMappingURL=pagination.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.mts","sourceRoot":"","sources":["src/pagination.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "./core/pagination.js";
2
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["src/pagination.ts"],"names":[],"mappings":""}
package/pagination.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("./internal/tslib.js");
4
+ /** @deprecated Import from ./core/pagination instead */
5
+ tslib_1.__exportStar(require("./core/pagination.js"), exports);
6
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["src/pagination.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AACxD,+DAAkC"}
package/pagination.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./core/pagination.mjs";
2
+ //# sourceMappingURL=pagination.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.mjs","sourceRoot":"","sources":["src/pagination.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { ClientOptions } from "../client.mjs";
2
+ import { PrivyWalletsService } from "./services/wallets.mjs";
3
+ import { PrivyPoliciesService } from "./services/policies.mjs";
4
+ import { PrivyTransactionsService } from "./services/transactions.mjs";
5
+ import { PrivyKeyQuorumsService } from "./services/key-quorums.mjs";
6
+ import { PrivyUsersService } from "./services/users.mjs";
7
+ import { PrivyUtils } from "./services/utils.mjs";
8
+ type InternalClientOptions = Omit<ClientOptions, 'appID' | 'appSecret' | 'baseUrl'>;
9
+ export interface PrivyClientOptions extends InternalClientOptions {
10
+ appId: string;
11
+ appSecret: string;
12
+ apiUrl?: string;
13
+ authorizationKeyCacheMaxCapacity?: number;
14
+ }
15
+ export declare class PrivyClient {
16
+ private privyApiClient;
17
+ private walletsService;
18
+ private policiesService;
19
+ private transactionsService;
20
+ private keyQuorumsService;
21
+ private usersService;
22
+ private utilsService;
23
+ private jwtExchangeService;
24
+ constructor({ appId, appSecret, apiUrl, authorizationKeyCacheMaxCapacity, defaultHeaders, ...clientOptions }: PrivyClientOptions);
25
+ wallets(): PrivyWalletsService;
26
+ policies(): PrivyPoliciesService;
27
+ transactions(): PrivyTransactionsService;
28
+ keyQuorums(): PrivyKeyQuorumsService;
29
+ users(): PrivyUsersService;
30
+ utils(): PrivyUtils;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=PrivyClient.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivyClient.d.mts","sourceRoot":"","sources":["../src/public-api/PrivyClient.ts"],"names":[],"mappings":"OAAO,EAAE,aAAa,EAAY;OAC3B,EAAE,mBAAmB,EAAE;OACvB,EAAE,oBAAoB,EAAE;OACxB,EAAE,wBAAwB,EAAE;OAC5B,EAAE,sBAAsB,EAAE;OAC1B,EAAE,iBAAiB,EAAE;OACrB,EAAE,UAAU,EAAE;AAIrB,KAAK,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC,CAAC;AAEpF,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC,CAAC,EAAE,MAAM,CAAC;CAC3C;AAID,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,kBAAkB,CAAqB;gBAO5B,EACjB,KAAK,EACL,SAAS,EACT,MAAM,EACN,gCAA+E,EAC/E,cAAc,EACd,GAAG,aAAa,EACjB,EAAE,kBAAkB;IAwBd,OAAO,IAAI,mBAAmB;IAI9B,QAAQ,IAAI,oBAAoB;IAIhC,YAAY,IAAI,wBAAwB;IAIxC,UAAU,IAAI,sBAAsB;IAIpC,KAAK,IAAI,iBAAiB;IAI1B,KAAK,IAAI,UAAU;CAG3B"}
@@ -0,0 +1,33 @@
1
+ import { ClientOptions } from "../client.js";
2
+ import { PrivyWalletsService } from "./services/wallets.js";
3
+ import { PrivyPoliciesService } from "./services/policies.js";
4
+ import { PrivyTransactionsService } from "./services/transactions.js";
5
+ import { PrivyKeyQuorumsService } from "./services/key-quorums.js";
6
+ import { PrivyUsersService } from "./services/users.js";
7
+ import { PrivyUtils } from "./services/utils.js";
8
+ type InternalClientOptions = Omit<ClientOptions, 'appID' | 'appSecret' | 'baseUrl'>;
9
+ export interface PrivyClientOptions extends InternalClientOptions {
10
+ appId: string;
11
+ appSecret: string;
12
+ apiUrl?: string;
13
+ authorizationKeyCacheMaxCapacity?: number;
14
+ }
15
+ export declare class PrivyClient {
16
+ private privyApiClient;
17
+ private walletsService;
18
+ private policiesService;
19
+ private transactionsService;
20
+ private keyQuorumsService;
21
+ private usersService;
22
+ private utilsService;
23
+ private jwtExchangeService;
24
+ constructor({ appId, appSecret, apiUrl, authorizationKeyCacheMaxCapacity, defaultHeaders, ...clientOptions }: PrivyClientOptions);
25
+ wallets(): PrivyWalletsService;
26
+ policies(): PrivyPoliciesService;
27
+ transactions(): PrivyTransactionsService;
28
+ keyQuorums(): PrivyKeyQuorumsService;
29
+ users(): PrivyUsersService;
30
+ utils(): PrivyUtils;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=PrivyClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivyClient.d.ts","sourceRoot":"","sources":["../src/public-api/PrivyClient.ts"],"names":[],"mappings":"OAAO,EAAE,aAAa,EAAY;OAC3B,EAAE,mBAAmB,EAAE;OACvB,EAAE,oBAAoB,EAAE;OACxB,EAAE,wBAAwB,EAAE;OAC5B,EAAE,sBAAsB,EAAE;OAC1B,EAAE,iBAAiB,EAAE;OACrB,EAAE,UAAU,EAAE;AAIrB,KAAK,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC,CAAC;AAEpF,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC,CAAC,EAAE,MAAM,CAAC;CAC3C;AAID,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,kBAAkB,CAAqB;gBAO5B,EACjB,KAAK,EACL,SAAS,EACT,MAAM,EACN,gCAA+E,EAC/E,cAAc,EACd,GAAG,aAAa,EACjB,EAAE,kBAAkB;IAwBd,OAAO,IAAI,mBAAmB;IAI9B,QAAQ,IAAI,oBAAoB;IAIhC,YAAY,IAAI,wBAAwB;IAIxC,UAAU,IAAI,sBAAsB;IAIpC,KAAK,IAAI,iBAAiB;IAI1B,KAAK,IAAI,UAAU;CAG3B"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrivyClient = void 0;
4
+ const client_1 = require("../client.js");
5
+ const wallets_1 = require("./services/wallets.js");
6
+ const policies_1 = require("./services/policies.js");
7
+ const transactions_1 = require("./services/transactions.js");
8
+ const key_quorums_1 = require("./services/key-quorums.js");
9
+ const users_1 = require("./services/users.js");
10
+ const utils_1 = require("./services/utils.js");
11
+ const jwt_exchange_1 = require("../lib/jwt-exchange.js");
12
+ const version_1 = require("../version.js");
13
+ const DEFAULT_AUTHORIZATION_KEY_CACHE_MAX_CAPACITY = 1000;
14
+ class PrivyClient {
15
+ /** @internal */
16
+ _jwtExchange() {
17
+ return this.jwtExchangeService;
18
+ }
19
+ constructor({ appId, appSecret, apiUrl, authorizationKeyCacheMaxCapacity = DEFAULT_AUTHORIZATION_KEY_CACHE_MAX_CAPACITY, defaultHeaders, ...clientOptions }) {
20
+ this.privyApiClient = new client_1.PrivyAPI({
21
+ ...clientOptions,
22
+ appID: appId,
23
+ appSecret: appSecret,
24
+ baseURL: apiUrl,
25
+ defaultHeaders: {
26
+ ...defaultHeaders,
27
+ // Convention is: <client_name>:<semantic_version>
28
+ 'privy-client': `node:${version_1.VERSION}`,
29
+ },
30
+ });
31
+ this.jwtExchangeService = new jwt_exchange_1.JwtExchangeService(this.privyApiClient.wallets, authorizationKeyCacheMaxCapacity);
32
+ this.walletsService = new wallets_1.PrivyWalletsService(this.privyApiClient, this);
33
+ this.policiesService = new policies_1.PrivyPoliciesService(this.privyApiClient, this);
34
+ this.transactionsService = new transactions_1.PrivyTransactionsService(this.privyApiClient);
35
+ this.keyQuorumsService = new key_quorums_1.PrivyKeyQuorumsService(this.privyApiClient, this);
36
+ this.usersService = new users_1.PrivyUsersService(this.privyApiClient);
37
+ this.utilsService = new utils_1.PrivyUtils(this);
38
+ }
39
+ wallets() {
40
+ return this.walletsService;
41
+ }
42
+ policies() {
43
+ return this.policiesService;
44
+ }
45
+ transactions() {
46
+ return this.transactionsService;
47
+ }
48
+ keyQuorums() {
49
+ return this.keyQuorumsService;
50
+ }
51
+ users() {
52
+ return this.usersService;
53
+ }
54
+ utils() {
55
+ return this.utilsService;
56
+ }
57
+ }
58
+ exports.PrivyClient = PrivyClient;
59
+ //# sourceMappingURL=PrivyClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivyClient.js","sourceRoot":"","sources":["../src/public-api/PrivyClient.ts"],"names":[],"mappings":";;;AAAA,yCAAoD;AACpD,mDAAyD;AACzD,qDAA2D;AAC3D,6DAAmE;AACnE,2DAAgE;AAChE,+CAAqD;AACrD,+CAA8C;AAC9C,yDAAyD;AACzD,2CAAqC;AAWrC,MAAM,4CAA4C,GAAG,IAAI,CAAC;AAE1D,MAAa,WAAW;IAUtB,gBAAgB;IAChB,YAAY;QACV,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,YAAmB,EACjB,KAAK,EACL,SAAS,EACT,MAAM,EACN,gCAAgC,GAAG,4CAA4C,EAC/E,cAAc,EACd,GAAG,aAAa,EACG;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,iBAAQ,CAAC;YACjC,GAAG,aAAa;YAChB,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,MAAM;YACf,cAAc,EAAE;gBACd,GAAG,cAAc;gBACjB,kDAAkD;gBAClD,cAAc,EAAE,QAAQ,iBAAO,EAAE;aAClC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,iCAAkB,CAC9C,IAAI,CAAC,cAAc,CAAC,OAAO,EAC3B,gCAAgC,CACjC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,6BAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACzE,IAAI,CAAC,eAAe,GAAG,IAAI,+BAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,mBAAmB,GAAG,IAAI,uCAAwB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7E,IAAI,CAAC,iBAAiB,GAAG,IAAI,oCAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC/E,IAAI,CAAC,YAAY,GAAG,IAAI,yBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,kBAAU,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AArED,kCAqEC"}
@@ -0,0 +1,55 @@
1
+ import { PrivyAPI } from "../client.mjs";
2
+ import { PrivyWalletsService } from "./services/wallets.mjs";
3
+ import { PrivyPoliciesService } from "./services/policies.mjs";
4
+ import { PrivyTransactionsService } from "./services/transactions.mjs";
5
+ import { PrivyKeyQuorumsService } from "./services/key-quorums.mjs";
6
+ import { PrivyUsersService } from "./services/users.mjs";
7
+ import { PrivyUtils } from "./services/utils.mjs";
8
+ import { JwtExchangeService } from "../lib/jwt-exchange.mjs";
9
+ import { VERSION } from "../version.mjs";
10
+ const DEFAULT_AUTHORIZATION_KEY_CACHE_MAX_CAPACITY = 1000;
11
+ export class PrivyClient {
12
+ /** @internal */
13
+ _jwtExchange() {
14
+ return this.jwtExchangeService;
15
+ }
16
+ constructor({ appId, appSecret, apiUrl, authorizationKeyCacheMaxCapacity = DEFAULT_AUTHORIZATION_KEY_CACHE_MAX_CAPACITY, defaultHeaders, ...clientOptions }) {
17
+ this.privyApiClient = new PrivyAPI({
18
+ ...clientOptions,
19
+ appID: appId,
20
+ appSecret: appSecret,
21
+ baseURL: apiUrl,
22
+ defaultHeaders: {
23
+ ...defaultHeaders,
24
+ // Convention is: <client_name>:<semantic_version>
25
+ 'privy-client': `node:${VERSION}`,
26
+ },
27
+ });
28
+ this.jwtExchangeService = new JwtExchangeService(this.privyApiClient.wallets, authorizationKeyCacheMaxCapacity);
29
+ this.walletsService = new PrivyWalletsService(this.privyApiClient, this);
30
+ this.policiesService = new PrivyPoliciesService(this.privyApiClient, this);
31
+ this.transactionsService = new PrivyTransactionsService(this.privyApiClient);
32
+ this.keyQuorumsService = new PrivyKeyQuorumsService(this.privyApiClient, this);
33
+ this.usersService = new PrivyUsersService(this.privyApiClient);
34
+ this.utilsService = new PrivyUtils(this);
35
+ }
36
+ wallets() {
37
+ return this.walletsService;
38
+ }
39
+ policies() {
40
+ return this.policiesService;
41
+ }
42
+ transactions() {
43
+ return this.transactionsService;
44
+ }
45
+ keyQuorums() {
46
+ return this.keyQuorumsService;
47
+ }
48
+ users() {
49
+ return this.usersService;
50
+ }
51
+ utils() {
52
+ return this.utilsService;
53
+ }
54
+ }
55
+ //# sourceMappingURL=PrivyClient.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivyClient.mjs","sourceRoot":"","sources":["../src/public-api/PrivyClient.ts"],"names":[],"mappings":"OAAO,EAAiB,QAAQ,EAAE;OAC3B,EAAE,mBAAmB,EAAE;OACvB,EAAE,oBAAoB,EAAE;OACxB,EAAE,wBAAwB,EAAE;OAC5B,EAAE,sBAAsB,EAAE;OAC1B,EAAE,iBAAiB,EAAE;OACrB,EAAE,UAAU,EAAE;OACd,EAAE,kBAAkB,EAAE;OACtB,EAAE,OAAO,EAAE;AAWlB,MAAM,4CAA4C,GAAG,IAAI,CAAC;AAE1D,MAAM,OAAO,WAAW;IAUtB,gBAAgB;IAChB,YAAY;QACV,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,YAAmB,EACjB,KAAK,EACL,SAAS,EACT,MAAM,EACN,gCAAgC,GAAG,4CAA4C,EAC/E,cAAc,EACd,GAAG,aAAa,EACG;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,QAAQ,CAAC;YACjC,GAAG,aAAa;YAChB,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,MAAM;YACf,cAAc,EAAE;gBACd,GAAG,cAAc;gBACjB,kDAAkD;gBAClD,cAAc,EAAE,QAAQ,OAAO,EAAE;aAClC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAC9C,IAAI,CAAC,cAAc,CAAC,OAAO,EAC3B,gCAAgC,CACjC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACzE,IAAI,CAAC,eAAe,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,mBAAmB,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7E,IAAI,CAAC,iBAAiB,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC/E,IAAI,CAAC,YAAY,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF"}