@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.
- package/CHANGELOG.md +71 -0
- package/client.d.mts +18 -8
- package/client.d.mts.map +1 -1
- package/client.d.ts +18 -8
- package/client.d.ts.map +1 -1
- package/client.js +20 -3
- package/client.js.map +1 -1
- package/client.mjs +20 -3
- package/client.mjs.map +1 -1
- package/internal/parse.d.mts.map +1 -1
- package/internal/parse.d.ts.map +1 -1
- package/internal/parse.js +5 -0
- package/internal/parse.js.map +1 -1
- package/internal/parse.mjs +5 -0
- package/internal/parse.mjs.map +1 -1
- package/package.json +21 -1
- package/resources/aggregations.d.mts +507 -0
- package/resources/aggregations.d.mts.map +1 -0
- package/resources/aggregations.d.ts +507 -0
- package/resources/aggregations.d.ts.map +1 -0
- package/resources/aggregations.js +9 -0
- package/resources/aggregations.js.map +1 -0
- package/resources/aggregations.mjs +5 -0
- package/resources/aggregations.mjs.map +1 -0
- package/resources/client-auth.d.mts +168 -2
- package/resources/client-auth.d.mts.map +1 -1
- package/resources/client-auth.d.ts +168 -2
- package/resources/client-auth.d.ts.map +1 -1
- package/resources/index.d.mts +6 -3
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +6 -3
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +7 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +3 -0
- package/resources/index.mjs.map +1 -1
- package/resources/key-quorums.d.mts +4 -1
- package/resources/key-quorums.d.mts.map +1 -1
- package/resources/key-quorums.d.ts +4 -1
- package/resources/key-quorums.d.ts.map +1 -1
- package/resources/policies.d.mts +21 -20
- package/resources/policies.d.mts.map +1 -1
- package/resources/policies.d.ts +21 -20
- package/resources/policies.d.ts.map +1 -1
- package/resources/users.d.mts +21 -11
- package/resources/users.d.mts.map +1 -1
- package/resources/users.d.ts +21 -11
- package/resources/users.d.ts.map +1 -1
- package/resources/wallets/balance.d.mts +11 -6
- package/resources/wallets/balance.d.mts.map +1 -1
- package/resources/wallets/balance.d.ts +11 -6
- package/resources/wallets/balance.d.ts.map +1 -1
- package/resources/wallets/balance.js +1 -2
- package/resources/wallets/balance.js.map +1 -1
- package/resources/wallets/balance.mjs +1 -2
- package/resources/wallets/balance.mjs.map +1 -1
- package/resources/wallets/index.d.mts +1 -1
- package/resources/wallets/index.d.mts.map +1 -1
- package/resources/wallets/index.d.ts +1 -1
- package/resources/wallets/index.d.ts.map +1 -1
- package/resources/wallets/index.js.map +1 -1
- package/resources/wallets/index.mjs.map +1 -1
- package/resources/wallets/transactions.d.mts +3 -3
- package/resources/wallets/transactions.d.mts.map +1 -1
- package/resources/wallets/transactions.d.ts +3 -3
- package/resources/wallets/transactions.d.ts.map +1 -1
- package/resources/wallets/wallets.d.mts +249 -61
- package/resources/wallets/wallets.d.mts.map +1 -1
- package/resources/wallets/wallets.d.ts +249 -61
- package/resources/wallets/wallets.d.ts.map +1 -1
- package/resources/wallets/wallets.js.map +1 -1
- package/resources/wallets/wallets.mjs.map +1 -1
- package/resources/webhooks.d.mts +940 -0
- package/resources/webhooks.d.mts.map +1 -0
- package/resources/webhooks.d.ts +940 -0
- package/resources/webhooks.d.ts.map +1 -0
- package/resources/webhooks.js +9 -0
- package/resources/webhooks.js.map +1 -0
- package/resources/webhooks.mjs +5 -0
- package/resources/webhooks.mjs.map +1 -0
- package/resources/yield.d.mts +264 -0
- package/resources/yield.d.mts.map +1 -0
- package/resources/yield.d.ts +264 -0
- package/resources/yield.d.ts.map +1 -0
- package/resources/yield.js +9 -0
- package/resources/yield.js.map +1 -0
- package/resources/yield.mjs +5 -0
- package/resources/yield.mjs.map +1 -0
- package/src/client.ts +198 -9
- package/src/internal/parse.ts +6 -0
- package/src/resources/aggregations.ts +853 -0
- package/src/resources/client-auth.ts +288 -1
- package/src/resources/index.ts +87 -3
- package/src/resources/key-quorums.ts +4 -1
- package/src/resources/policies.ts +21 -20
- package/src/resources/users.ts +58 -41
- package/src/resources/wallets/balance.ts +24 -6
- package/src/resources/wallets/index.ts +6 -2
- package/src/resources/wallets/transactions.ts +11 -3
- package/src/resources/wallets/wallets.ts +333 -78
- package/src/resources/webhooks.ts +1287 -0
- package/src/resources/yield.ts +330 -0
- package/src/types/x402.d.ts +18 -0
- package/src/version.ts +1 -1
- package/src/x402.ts +87 -0
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/x402.d.mts +54 -0
- package/x402.d.mts.map +1 -0
- package/x402.d.ts +54 -0
- package/x402.d.ts.map +1 -0
- package/x402.js +75 -0
- package/x402.js.map +1 -0
- package/x402.mjs +72 -0
- 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"}
|