@privy-io/node 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/client.d.mts +18 -8
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +18 -8
  5. package/client.d.ts.map +1 -1
  6. package/client.js +20 -3
  7. package/client.js.map +1 -1
  8. package/client.mjs +20 -3
  9. package/client.mjs.map +1 -1
  10. package/internal/parse.d.mts.map +1 -1
  11. package/internal/parse.d.ts.map +1 -1
  12. package/internal/parse.js +5 -0
  13. package/internal/parse.js.map +1 -1
  14. package/internal/parse.mjs +5 -0
  15. package/internal/parse.mjs.map +1 -1
  16. package/package.json +21 -1
  17. package/resources/aggregations.d.mts +507 -0
  18. package/resources/aggregations.d.mts.map +1 -0
  19. package/resources/aggregations.d.ts +507 -0
  20. package/resources/aggregations.d.ts.map +1 -0
  21. package/resources/aggregations.js +9 -0
  22. package/resources/aggregations.js.map +1 -0
  23. package/resources/aggregations.mjs +5 -0
  24. package/resources/aggregations.mjs.map +1 -0
  25. package/resources/client-auth.d.mts +168 -2
  26. package/resources/client-auth.d.mts.map +1 -1
  27. package/resources/client-auth.d.ts +168 -2
  28. package/resources/client-auth.d.ts.map +1 -1
  29. package/resources/index.d.mts +6 -3
  30. package/resources/index.d.mts.map +1 -1
  31. package/resources/index.d.ts +6 -3
  32. package/resources/index.d.ts.map +1 -1
  33. package/resources/index.js +7 -1
  34. package/resources/index.js.map +1 -1
  35. package/resources/index.mjs +3 -0
  36. package/resources/index.mjs.map +1 -1
  37. package/resources/key-quorums.d.mts +4 -1
  38. package/resources/key-quorums.d.mts.map +1 -1
  39. package/resources/key-quorums.d.ts +4 -1
  40. package/resources/key-quorums.d.ts.map +1 -1
  41. package/resources/policies.d.mts +21 -20
  42. package/resources/policies.d.mts.map +1 -1
  43. package/resources/policies.d.ts +21 -20
  44. package/resources/policies.d.ts.map +1 -1
  45. package/resources/users.d.mts +21 -11
  46. package/resources/users.d.mts.map +1 -1
  47. package/resources/users.d.ts +21 -11
  48. package/resources/users.d.ts.map +1 -1
  49. package/resources/wallets/balance.d.mts +11 -6
  50. package/resources/wallets/balance.d.mts.map +1 -1
  51. package/resources/wallets/balance.d.ts +11 -6
  52. package/resources/wallets/balance.d.ts.map +1 -1
  53. package/resources/wallets/balance.js +1 -2
  54. package/resources/wallets/balance.js.map +1 -1
  55. package/resources/wallets/balance.mjs +1 -2
  56. package/resources/wallets/balance.mjs.map +1 -1
  57. package/resources/wallets/index.d.mts +1 -1
  58. package/resources/wallets/index.d.mts.map +1 -1
  59. package/resources/wallets/index.d.ts +1 -1
  60. package/resources/wallets/index.d.ts.map +1 -1
  61. package/resources/wallets/index.js.map +1 -1
  62. package/resources/wallets/index.mjs.map +1 -1
  63. package/resources/wallets/transactions.d.mts +3 -3
  64. package/resources/wallets/transactions.d.mts.map +1 -1
  65. package/resources/wallets/transactions.d.ts +3 -3
  66. package/resources/wallets/transactions.d.ts.map +1 -1
  67. package/resources/wallets/wallets.d.mts +249 -61
  68. package/resources/wallets/wallets.d.mts.map +1 -1
  69. package/resources/wallets/wallets.d.ts +249 -61
  70. package/resources/wallets/wallets.d.ts.map +1 -1
  71. package/resources/wallets/wallets.js.map +1 -1
  72. package/resources/wallets/wallets.mjs.map +1 -1
  73. package/resources/webhooks.d.mts +940 -0
  74. package/resources/webhooks.d.mts.map +1 -0
  75. package/resources/webhooks.d.ts +940 -0
  76. package/resources/webhooks.d.ts.map +1 -0
  77. package/resources/webhooks.js +9 -0
  78. package/resources/webhooks.js.map +1 -0
  79. package/resources/webhooks.mjs +5 -0
  80. package/resources/webhooks.mjs.map +1 -0
  81. package/resources/yield.d.mts +264 -0
  82. package/resources/yield.d.mts.map +1 -0
  83. package/resources/yield.d.ts +264 -0
  84. package/resources/yield.d.ts.map +1 -0
  85. package/resources/yield.js +9 -0
  86. package/resources/yield.js.map +1 -0
  87. package/resources/yield.mjs +5 -0
  88. package/resources/yield.mjs.map +1 -0
  89. package/src/client.ts +198 -9
  90. package/src/internal/parse.ts +6 -0
  91. package/src/resources/aggregations.ts +853 -0
  92. package/src/resources/client-auth.ts +288 -1
  93. package/src/resources/index.ts +87 -3
  94. package/src/resources/key-quorums.ts +4 -1
  95. package/src/resources/policies.ts +21 -20
  96. package/src/resources/users.ts +58 -41
  97. package/src/resources/wallets/balance.ts +24 -6
  98. package/src/resources/wallets/index.ts +6 -2
  99. package/src/resources/wallets/transactions.ts +11 -3
  100. package/src/resources/wallets/wallets.ts +333 -78
  101. package/src/resources/webhooks.ts +1287 -0
  102. package/src/resources/yield.ts +330 -0
  103. package/src/types/x402.d.ts +18 -0
  104. package/src/version.ts +1 -1
  105. package/src/x402.ts +87 -0
  106. package/version.d.mts +1 -1
  107. package/version.d.ts +1 -1
  108. package/version.js +1 -1
  109. package/version.mjs +1 -1
  110. package/x402.d.mts +54 -0
  111. package/x402.d.mts.map +1 -0
  112. package/x402.d.ts +54 -0
  113. package/x402.d.ts.map +1 -0
  114. package/x402.js +75 -0
  115. package/x402.js.map +1 -0
  116. package/x402.mjs +72 -0
  117. package/x402.mjs.map +1 -0
package/x402.mjs ADDED
@@ -0,0 +1,72 @@
1
+ import { isAddress as isEvmAddress } from 'viem';
2
+ import { isAddress as isSolanaAddress } from '@solana/kit';
3
+ import { x402Client } from '@x402/fetch';
4
+ import { registerExactEvmScheme } from '@x402/evm/exact/client';
5
+ import { registerExactSvmScheme } from '@x402/svm/exact/client';
6
+ import { createViemAccount } from "./viem.mjs";
7
+ import { createSolanaKitSigner } from "./solana-kit.mjs";
8
+ /**
9
+ * Creates an x402 client configured with a Privy wallet for automatic payment handling.
10
+ *
11
+ * The returned client can be used with x402's `wrapFetchWithPayment` or `wrapAxiosWithPayment`
12
+ * to automatically handle HTTP 402 Payment Required responses.
13
+ *
14
+ * @experimental This API is experimental and may change in future versions.
15
+ *
16
+ * @param client - The Privy client instance
17
+ * @param input - Configuration for the x402 client
18
+ * @param input.walletId - ID of the Privy wallet to use for payments
19
+ * @param input.address - Address of the wallet
20
+ * @param input.authorizationContext - Authorization context for the wallet
21
+ * @returns A configured x402Client instance
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * import { PrivyClient } from '@privy-io/node';
26
+ * import { createX402Client } from '@privy-io/node/x402';
27
+ * import { wrapFetchWithPayment } from '@x402/fetch';
28
+ *
29
+ * const privyClient = new PrivyClient({ appId, appSecret });
30
+ *
31
+ * // Get wallet details
32
+ * const wallet = await privyClient.wallets().get('walletId');
33
+ *
34
+ * // Create x402 client
35
+ * const x402client = createX402Client(privyClient, {
36
+ * walletId: wallet.id,
37
+ * address: wallet.address,
38
+ * });
39
+ *
40
+ * // Use with fetch
41
+ * const fetchWithPayment = wrapFetchWithPayment(fetch, x402client);
42
+ * const response = await fetchWithPayment('https://api.example.com/premium');
43
+ *
44
+ * // Or use with axios
45
+ * // import { wrapAxiosWithPayment } from '@x402/axios';
46
+ * // const axiosWithPayment = wrapAxiosWithPayment(axios, x402client);
47
+ * ```
48
+ */
49
+ export function createX402Client(client, { walletId, address, authorizationContext }) {
50
+ const x402client = new x402Client();
51
+ if (isEvmAddress(address)) {
52
+ const evmSigner = createViemAccount(client, {
53
+ walletId,
54
+ address: address,
55
+ ...(authorizationContext ? { authorizationContext } : {}),
56
+ });
57
+ registerExactEvmScheme(x402client, { signer: evmSigner });
58
+ }
59
+ else if (isSolanaAddress(address)) {
60
+ const solanaSigner = createSolanaKitSigner(client, {
61
+ walletId,
62
+ address: address,
63
+ ...(authorizationContext ? { authorizationContext } : {}),
64
+ });
65
+ registerExactSvmScheme(x402client, { signer: solanaSigner });
66
+ }
67
+ else {
68
+ throw new Error(`Invalid wallet address: ${address}. Address must be a valid EVM or Solana address.`);
69
+ }
70
+ return x402client;
71
+ }
72
+ //# sourceMappingURL=x402.mjs.map
package/x402.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402.mjs","sourceRoot":"","sources":["src/x402.ts"],"names":[],"mappings":"OAAO,EAAE,SAAS,IAAI,YAAY,EAAY,MAAM,MAAM;OACnD,EAAE,SAAS,IAAI,eAAe,EAAgB,MAAM,aAAa;OACjE,EAAE,UAAU,EAAE,MAAM,aAAa;OACjC,EAAE,sBAAsB,EAAE,MAAM,wBAAwB;OACxD,EAAE,sBAAsB,EAAE,MAAM,wBAAwB;OAExD,EAAE,iBAAiB,EAAE;OACrB,EAAE,qBAAqB,EAAE;AAahC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAmB,EACnB,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAyB;IAElE,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAEpC,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,EAAE;YAC1C,QAAQ;YACR,OAAO,EAAE,OAAc;YACvB,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC,CAAC;QACH,sBAAsB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,EAAE;YACjD,QAAQ;YACR,OAAO,EAAE,OAAkB;YAC3B,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC,CAAC;QACH,sBAAsB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,kDAAkD,CAAC,CAAC;IACxG,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}