@privy-io/node 0.8.0 → 0.10.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 (158) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/client.d.mts +23 -10
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +23 -10
  5. package/client.d.ts.map +1 -1
  6. package/client.js +30 -3
  7. package/client.js.map +1 -1
  8. package/client.mjs +30 -3
  9. package/client.mjs.map +1 -1
  10. package/index.d.mts +1 -1
  11. package/index.d.mts.map +1 -1
  12. package/index.d.ts +1 -1
  13. package/index.d.ts.map +1 -1
  14. package/internal/parse.d.mts.map +1 -1
  15. package/internal/parse.d.ts.map +1 -1
  16. package/internal/parse.js +5 -0
  17. package/internal/parse.js.map +1 -1
  18. package/internal/parse.mjs +5 -0
  19. package/internal/parse.mjs.map +1 -1
  20. package/package.json +21 -1
  21. package/public-api/services/ethereum.d.mts +4 -1
  22. package/public-api/services/ethereum.d.mts.map +1 -1
  23. package/public-api/services/ethereum.d.ts +4 -1
  24. package/public-api/services/ethereum.d.ts.map +1 -1
  25. package/public-api/services/ethereum.js +8 -0
  26. package/public-api/services/ethereum.js.map +1 -1
  27. package/public-api/services/ethereum.mjs +8 -0
  28. package/public-api/services/ethereum.mjs.map +1 -1
  29. package/public-api/services/webhooks.d.mts +3 -1
  30. package/public-api/services/webhooks.d.mts.map +1 -1
  31. package/public-api/services/webhooks.d.ts +3 -1
  32. package/public-api/services/webhooks.d.ts.map +1 -1
  33. package/public-api/services/webhooks.js +1 -0
  34. package/public-api/services/webhooks.js.map +1 -1
  35. package/public-api/services/webhooks.mjs +1 -0
  36. package/public-api/services/webhooks.mjs.map +1 -1
  37. package/resources/accounts.d.mts +72 -0
  38. package/resources/accounts.d.mts.map +1 -0
  39. package/resources/accounts.d.ts +72 -0
  40. package/resources/accounts.d.ts.map +1 -0
  41. package/resources/accounts.js +9 -0
  42. package/resources/accounts.js.map +1 -0
  43. package/resources/accounts.mjs +5 -0
  44. package/resources/accounts.mjs.map +1 -0
  45. package/resources/aggregations.d.mts +213 -2
  46. package/resources/aggregations.d.mts.map +1 -1
  47. package/resources/aggregations.d.ts +213 -2
  48. package/resources/aggregations.d.ts.map +1 -1
  49. package/resources/client-auth.d.mts +182 -2
  50. package/resources/client-auth.d.mts.map +1 -1
  51. package/resources/client-auth.d.ts +182 -2
  52. package/resources/client-auth.d.ts.map +1 -1
  53. package/resources/index.d.mts +8 -4
  54. package/resources/index.d.mts.map +1 -1
  55. package/resources/index.d.ts +8 -4
  56. package/resources/index.d.ts.map +1 -1
  57. package/resources/index.js +9 -1
  58. package/resources/index.js.map +1 -1
  59. package/resources/index.mjs +4 -0
  60. package/resources/index.mjs.map +1 -1
  61. package/resources/intents.d.mts +104 -0
  62. package/resources/intents.d.mts.map +1 -0
  63. package/resources/intents.d.ts +104 -0
  64. package/resources/intents.d.ts.map +1 -0
  65. package/resources/intents.js +9 -0
  66. package/resources/intents.js.map +1 -0
  67. package/resources/intents.mjs +5 -0
  68. package/resources/intents.mjs.map +1 -0
  69. package/resources/key-quorums.d.mts +14 -0
  70. package/resources/key-quorums.d.mts.map +1 -1
  71. package/resources/key-quorums.d.ts +14 -0
  72. package/resources/key-quorums.d.ts.map +1 -1
  73. package/resources/policies.d.mts +10 -12
  74. package/resources/policies.d.mts.map +1 -1
  75. package/resources/policies.d.ts +10 -12
  76. package/resources/policies.d.ts.map +1 -1
  77. package/resources/users.d.mts +16 -6
  78. package/resources/users.d.mts.map +1 -1
  79. package/resources/users.d.ts +16 -6
  80. package/resources/users.d.ts.map +1 -1
  81. package/resources/wallets/balance.d.mts +10 -5
  82. package/resources/wallets/balance.d.mts.map +1 -1
  83. package/resources/wallets/balance.d.ts +10 -5
  84. package/resources/wallets/balance.d.ts.map +1 -1
  85. package/resources/wallets/balance.js +1 -2
  86. package/resources/wallets/balance.js.map +1 -1
  87. package/resources/wallets/balance.mjs +1 -2
  88. package/resources/wallets/balance.mjs.map +1 -1
  89. package/resources/wallets/index.d.mts +1 -1
  90. package/resources/wallets/index.d.mts.map +1 -1
  91. package/resources/wallets/index.d.ts +1 -1
  92. package/resources/wallets/index.d.ts.map +1 -1
  93. package/resources/wallets/index.js.map +1 -1
  94. package/resources/wallets/index.mjs.map +1 -1
  95. package/resources/wallets/transactions.d.mts +2 -2
  96. package/resources/wallets/transactions.d.mts.map +1 -1
  97. package/resources/wallets/transactions.d.ts +2 -2
  98. package/resources/wallets/transactions.d.ts.map +1 -1
  99. package/resources/wallets/wallets.d.mts +141 -14
  100. package/resources/wallets/wallets.d.mts.map +1 -1
  101. package/resources/wallets/wallets.d.ts +141 -14
  102. package/resources/wallets/wallets.d.ts.map +1 -1
  103. package/resources/wallets/wallets.js.map +1 -1
  104. package/resources/wallets/wallets.mjs.map +1 -1
  105. package/resources/webhooks.d.mts +977 -0
  106. package/resources/webhooks.d.mts.map +1 -0
  107. package/resources/webhooks.d.ts +977 -0
  108. package/resources/webhooks.d.ts.map +1 -0
  109. package/resources/webhooks.js +9 -0
  110. package/resources/webhooks.js.map +1 -0
  111. package/resources/webhooks.mjs +5 -0
  112. package/resources/webhooks.mjs.map +1 -0
  113. package/resources/yield.d.mts +311 -0
  114. package/resources/yield.d.mts.map +1 -0
  115. package/resources/yield.d.ts +311 -0
  116. package/resources/yield.d.ts.map +1 -0
  117. package/resources/yield.js +9 -0
  118. package/resources/yield.js.map +1 -0
  119. package/resources/yield.mjs +5 -0
  120. package/resources/yield.mjs.map +1 -0
  121. package/src/client.ts +229 -9
  122. package/src/index.ts +1 -1
  123. package/src/internal/parse.ts +6 -0
  124. package/src/public-api/services/ethereum.ts +16 -0
  125. package/src/public-api/services/webhooks.ts +49 -2
  126. package/src/resources/accounts.ts +90 -0
  127. package/src/resources/aggregations.ts +361 -5
  128. package/src/resources/client-auth.ts +310 -1
  129. package/src/resources/index.ts +95 -3
  130. package/src/resources/intents.ts +138 -0
  131. package/src/resources/key-quorums.ts +17 -0
  132. package/src/resources/policies.ts +10 -12
  133. package/src/resources/users.ts +52 -35
  134. package/src/resources/wallets/balance.ts +15 -5
  135. package/src/resources/wallets/index.ts +6 -2
  136. package/src/resources/wallets/transactions.ts +2 -2
  137. package/src/resources/wallets/wallets.ts +185 -31
  138. package/src/resources/webhooks.ts +1347 -0
  139. package/src/resources/yield.ts +389 -0
  140. package/src/types/x402.d.ts +18 -0
  141. package/src/version.ts +1 -1
  142. package/src/x402.ts +87 -0
  143. package/version.d.mts +1 -1
  144. package/version.d.mts.map +1 -1
  145. package/version.d.ts +1 -1
  146. package/version.d.ts.map +1 -1
  147. package/version.js +1 -1
  148. package/version.js.map +1 -1
  149. package/version.mjs +1 -1
  150. package/version.mjs.map +1 -1
  151. package/x402.d.mts +54 -0
  152. package/x402.d.mts.map +1 -0
  153. package/x402.d.ts +54 -0
  154. package/x402.d.ts.map +1 -0
  155. package/x402.js +75 -0
  156. package/x402.js.map +1 -0
  157. package/x402.mjs +72 -0
  158. package/x402.mjs.map +1 -0
package/x402.js ADDED
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createX402Client = createX402Client;
4
+ const viem_1 = require("viem");
5
+ const kit_1 = require("@solana/kit");
6
+ const fetch_1 = require("@x402/fetch");
7
+ const client_1 = require("@x402/evm/exact/client");
8
+ const client_2 = require("@x402/svm/exact/client");
9
+ const viem_2 = require("./viem.js");
10
+ const solana_kit_1 = require("./solana-kit.js");
11
+ /**
12
+ * Creates an x402 client configured with a Privy wallet for automatic payment handling.
13
+ *
14
+ * The returned client can be used with x402's `wrapFetchWithPayment` or `wrapAxiosWithPayment`
15
+ * to automatically handle HTTP 402 Payment Required responses.
16
+ *
17
+ * @experimental This API is experimental and may change in future versions.
18
+ *
19
+ * @param client - The Privy client instance
20
+ * @param input - Configuration for the x402 client
21
+ * @param input.walletId - ID of the Privy wallet to use for payments
22
+ * @param input.address - Address of the wallet
23
+ * @param input.authorizationContext - Authorization context for the wallet
24
+ * @returns A configured x402Client instance
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * import { PrivyClient } from '@privy-io/node';
29
+ * import { createX402Client } from '@privy-io/node/x402';
30
+ * import { wrapFetchWithPayment } from '@x402/fetch';
31
+ *
32
+ * const privyClient = new PrivyClient({ appId, appSecret });
33
+ *
34
+ * // Get wallet details
35
+ * const wallet = await privyClient.wallets().get('walletId');
36
+ *
37
+ * // Create x402 client
38
+ * const x402client = createX402Client(privyClient, {
39
+ * walletId: wallet.id,
40
+ * address: wallet.address,
41
+ * });
42
+ *
43
+ * // Use with fetch
44
+ * const fetchWithPayment = wrapFetchWithPayment(fetch, x402client);
45
+ * const response = await fetchWithPayment('https://api.example.com/premium');
46
+ *
47
+ * // Or use with axios
48
+ * // import { wrapAxiosWithPayment } from '@x402/axios';
49
+ * // const axiosWithPayment = wrapAxiosWithPayment(axios, x402client);
50
+ * ```
51
+ */
52
+ function createX402Client(client, { walletId, address, authorizationContext }) {
53
+ const x402client = new fetch_1.x402Client();
54
+ if ((0, viem_1.isAddress)(address)) {
55
+ const evmSigner = (0, viem_2.createViemAccount)(client, {
56
+ walletId,
57
+ address: address,
58
+ ...(authorizationContext ? { authorizationContext } : {}),
59
+ });
60
+ (0, client_1.registerExactEvmScheme)(x402client, { signer: evmSigner });
61
+ }
62
+ else if ((0, kit_1.isAddress)(address)) {
63
+ const solanaSigner = (0, solana_kit_1.createSolanaKitSigner)(client, {
64
+ walletId,
65
+ address: address,
66
+ ...(authorizationContext ? { authorizationContext } : {}),
67
+ });
68
+ (0, client_2.registerExactSvmScheme)(x402client, { signer: solanaSigner });
69
+ }
70
+ else {
71
+ throw new Error(`Invalid wallet address: ${address}. Address must be a valid EVM or Solana address.`);
72
+ }
73
+ return x402client;
74
+ }
75
+ //# sourceMappingURL=x402.js.map
package/x402.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402.js","sourceRoot":"","sources":["src/x402.ts"],"names":[],"mappings":";;AA6DA,4CAyBC;AAtFD,+BAA2D;AAC3D,qCAAyE;AACzE,uCAAyC;AACzC,mDAAgE;AAChE,mDAAgE;AAEhE,oCAA2C;AAC3C,gDAAqD;AAarD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,SAAgB,gBAAgB,CAC9B,MAAmB,EACnB,EAAE,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAyB;IAElE,MAAM,UAAU,GAAG,IAAI,kBAAU,EAAE,CAAC;IAEpC,IAAI,IAAA,gBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAA,wBAAiB,EAAC,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,IAAA,+BAAsB,EAAC,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,IAAA,eAAe,EAAC,OAAO,CAAC,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,IAAA,kCAAqB,EAAC,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,IAAA,+BAAsB,EAAC,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"}
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"}