@wtflabs/x402 0.0.1-beta.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 (96) hide show
  1. package/README.md +60 -0
  2. package/dist/cjs/client/index.d.ts +64 -0
  3. package/dist/cjs/client/index.js +832 -0
  4. package/dist/cjs/client/index.js.map +1 -0
  5. package/dist/cjs/config-CFBSAuxW.d.ts +10 -0
  6. package/dist/cjs/config-Dfuvno71.d.ts +19 -0
  7. package/dist/cjs/facilitator/index.d.ts +42 -0
  8. package/dist/cjs/facilitator/index.js +2574 -0
  9. package/dist/cjs/facilitator/index.js.map +1 -0
  10. package/dist/cjs/index.d.ts +16 -0
  11. package/dist/cjs/index.js +2974 -0
  12. package/dist/cjs/index.js.map +1 -0
  13. package/dist/cjs/middleware-6_1ApcJn.d.ts +93 -0
  14. package/dist/cjs/middleware-B_ewwsQp.d.ts +93 -0
  15. package/dist/cjs/middleware-Brgsx32F.d.ts +93 -0
  16. package/dist/cjs/middleware-BwfW7mAs.d.ts +93 -0
  17. package/dist/cjs/middleware-CQb61c1k.d.ts +93 -0
  18. package/dist/cjs/middleware-DB9lqy9f.d.ts +93 -0
  19. package/dist/cjs/middleware-DcHctwQV.d.ts +93 -0
  20. package/dist/cjs/middleware-De0jD3Bp.d.ts +93 -0
  21. package/dist/cjs/middleware-HoFOmpgv.d.ts +93 -0
  22. package/dist/cjs/middleware-Y8AiAfYw.d.ts +93 -0
  23. package/dist/cjs/middleware-pnres9YM.d.ts +93 -0
  24. package/dist/cjs/network-FrFmmiyj.d.ts +11 -0
  25. package/dist/cjs/network-RtNddYQk.d.ts +11 -0
  26. package/dist/cjs/paywall/index.d.ts +30 -0
  27. package/dist/cjs/paywall/index.js +131 -0
  28. package/dist/cjs/paywall/index.js.map +1 -0
  29. package/dist/cjs/rpc-BMvnNNHd.d.ts +35 -0
  30. package/dist/cjs/rpc-Ca8eHCWz.d.ts +35 -0
  31. package/dist/cjs/schemes/index.d.ts +533 -0
  32. package/dist/cjs/schemes/index.js +3144 -0
  33. package/dist/cjs/schemes/index.js.map +1 -0
  34. package/dist/cjs/shared/evm/index.d.ts +71 -0
  35. package/dist/cjs/shared/evm/index.js +947 -0
  36. package/dist/cjs/shared/evm/index.js.map +1 -0
  37. package/dist/cjs/shared/index.d.ts +182 -0
  38. package/dist/cjs/shared/index.js +674 -0
  39. package/dist/cjs/shared/index.js.map +1 -0
  40. package/dist/cjs/types/index.d.ts +1515 -0
  41. package/dist/cjs/types/index.js +1645 -0
  42. package/dist/cjs/types/index.js.map +1 -0
  43. package/dist/cjs/verify/index.d.ts +7 -0
  44. package/dist/cjs/verify/index.js +438 -0
  45. package/dist/cjs/verify/index.js.map +1 -0
  46. package/dist/cjs/wallet-BRWfOM5D.d.ts +153 -0
  47. package/dist/cjs/wallet-BTqCm9Zp.d.ts +27 -0
  48. package/dist/cjs/wallet-BYRAGtOB.d.ts +153 -0
  49. package/dist/cjs/wallet-BmEtlgEf.d.ts +48 -0
  50. package/dist/cjs/wallet-CNOAmyZ6.d.ts +48 -0
  51. package/dist/cjs/wallet-CQ0Fe_M5.d.ts +88 -0
  52. package/dist/cjs/wallet-D1SoxFTw.d.ts +48 -0
  53. package/dist/cjs/wallet-SJ-hbjm9.d.ts +153 -0
  54. package/dist/cjs/wallet-SJKJpUgQ.d.ts +167 -0
  55. package/dist/cjs/wallet-ecnda4Aj.d.ts +48 -0
  56. package/dist/cjs/wallet-gP8Qoi-c.d.ts +74 -0
  57. package/dist/cjs/x402Specs-B7InXo2L.d.ts +1065 -0
  58. package/dist/cjs/x402Specs-BLH3j34O.d.ts +1696 -0
  59. package/dist/cjs/x402Specs-C7LipAZg.d.ts +1715 -0
  60. package/dist/cjs/x402Specs-CYq5tSY1.d.ts +1745 -0
  61. package/dist/cjs/x402Specs-CeajqonG.d.ts +1696 -0
  62. package/dist/cjs/x402Specs-qMujgEV5.d.ts +1715 -0
  63. package/dist/cjs/x402Specs-qUBCpcuz.d.ts +1715 -0
  64. package/dist/esm/chunk-34YNR4LY.mjs +106 -0
  65. package/dist/esm/chunk-34YNR4LY.mjs.map +1 -0
  66. package/dist/esm/chunk-57UEJN5U.mjs +1416 -0
  67. package/dist/esm/chunk-57UEJN5U.mjs.map +1 -0
  68. package/dist/esm/chunk-5LTKIVOA.mjs +858 -0
  69. package/dist/esm/chunk-5LTKIVOA.mjs.map +1 -0
  70. package/dist/esm/chunk-AQQR4PXH.mjs +80 -0
  71. package/dist/esm/chunk-AQQR4PXH.mjs.map +1 -0
  72. package/dist/esm/chunk-LGXWNXCO.mjs +76 -0
  73. package/dist/esm/chunk-LGXWNXCO.mjs.map +1 -0
  74. package/dist/esm/chunk-RX2JKK4O.mjs +349 -0
  75. package/dist/esm/chunk-RX2JKK4O.mjs.map +1 -0
  76. package/dist/esm/chunk-UCBE7FDY.mjs +1041 -0
  77. package/dist/esm/chunk-UCBE7FDY.mjs.map +1 -0
  78. package/dist/esm/client/index.mjs +17 -0
  79. package/dist/esm/client/index.mjs.map +1 -0
  80. package/dist/esm/facilitator/index.mjs +14 -0
  81. package/dist/esm/facilitator/index.mjs.map +1 -0
  82. package/dist/esm/index.mjs +28 -0
  83. package/dist/esm/index.mjs.map +1 -0
  84. package/dist/esm/paywall/index.mjs +46 -0
  85. package/dist/esm/paywall/index.mjs.map +1 -0
  86. package/dist/esm/schemes/index.mjs +16 -0
  87. package/dist/esm/schemes/index.mjs.map +1 -0
  88. package/dist/esm/shared/evm/index.mjs +20 -0
  89. package/dist/esm/shared/evm/index.mjs.map +1 -0
  90. package/dist/esm/shared/index.mjs +31 -0
  91. package/dist/esm/shared/index.mjs.map +1 -0
  92. package/dist/esm/types/index.mjs +87 -0
  93. package/dist/esm/types/index.mjs.map +1 -0
  94. package/dist/esm/verify/index.mjs +105 -0
  95. package/dist/esm/verify/index.mjs.map +1 -0
  96. package/package.json +148 -0
@@ -0,0 +1,16 @@
1
+ import {
2
+ exact_exports
3
+ } from "../chunk-57UEJN5U.mjs";
4
+ import {
5
+ decodePayment,
6
+ encodePayment
7
+ } from "../chunk-RX2JKK4O.mjs";
8
+ import "../chunk-UCBE7FDY.mjs";
9
+ import "../chunk-5LTKIVOA.mjs";
10
+ import "../chunk-AQQR4PXH.mjs";
11
+ export {
12
+ decodePayment,
13
+ encodePayment,
14
+ exact_exports as exact
15
+ };
16
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,20 @@
1
+ import {
2
+ getERC20Allowance,
3
+ getERC20Balance,
4
+ getUSDCBalance,
5
+ getUsdcAddress,
6
+ getUsdcAddressForChain,
7
+ getUsdcChainConfigForChain,
8
+ getVersion
9
+ } from "../../chunk-5LTKIVOA.mjs";
10
+ import "../../chunk-AQQR4PXH.mjs";
11
+ export {
12
+ getERC20Allowance,
13
+ getERC20Balance,
14
+ getUSDCBalance,
15
+ getUsdcAddress,
16
+ getUsdcAddressForChain,
17
+ getUsdcChainConfigForChain,
18
+ getVersion
19
+ };
20
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,31 @@
1
+ import {
2
+ Base64EncodedRegex,
3
+ computeRoutePatterns,
4
+ decodeXPaymentResponse,
5
+ findMatchingPaymentRequirements,
6
+ findMatchingRoute,
7
+ getDefaultAsset,
8
+ getNetworkId,
9
+ processPriceToAtomicAmount,
10
+ safeBase64Decode,
11
+ safeBase64Encode,
12
+ svm_exports2 as svm_exports,
13
+ toJsonSafe
14
+ } from "../chunk-UCBE7FDY.mjs";
15
+ import "../chunk-5LTKIVOA.mjs";
16
+ import "../chunk-AQQR4PXH.mjs";
17
+ export {
18
+ Base64EncodedRegex,
19
+ computeRoutePatterns,
20
+ decodeXPaymentResponse,
21
+ findMatchingPaymentRequirements,
22
+ findMatchingRoute,
23
+ getDefaultAsset,
24
+ getNetworkId,
25
+ processPriceToAtomicAmount,
26
+ safeBase64Decode,
27
+ safeBase64Encode,
28
+ svm_exports as svm,
29
+ toJsonSafe
30
+ };
31
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,87 @@
1
+ import {
2
+ ChainIdToNetwork,
3
+ DiscoveredResourceSchema,
4
+ ErrorReasons,
5
+ EvmNetworkToChainId,
6
+ ExactEvmPayloadAuthorizationSchema,
7
+ ExactEvmPayloadSchema,
8
+ ExactSvmPayloadSchema,
9
+ HTTPRequestStructureSchema,
10
+ ListDiscoveryResourcesRequestSchema,
11
+ ListDiscoveryResourcesResponseSchema,
12
+ NetworkSchema,
13
+ PaymentPayloadSchema,
14
+ PaymentRequirementsSchema,
15
+ Permit2EvmPayloadAuthorizationSchema,
16
+ PermitEvmPayloadAuthorizationSchema,
17
+ RequestStructureSchema,
18
+ SettleRequestSchema,
19
+ SettleResponseSchema,
20
+ SupportedEVMNetworks,
21
+ SupportedPaymentKindSchema,
22
+ SupportedPaymentKindsResponseSchema,
23
+ SupportedSVMNetworks,
24
+ SvmNetworkToChainId,
25
+ VerifyRequestSchema,
26
+ VerifyResponseSchema,
27
+ createConnectedClient,
28
+ createSigner,
29
+ evm_exports,
30
+ facilitatorRequestSchema,
31
+ isEvmSignerWallet,
32
+ isMultiNetworkSigner,
33
+ isSvmSignerWallet,
34
+ moneySchema,
35
+ schemes,
36
+ settleResponseFromHeader,
37
+ settleResponseHeader,
38
+ svm_exports,
39
+ withChain,
40
+ x402ResponseSchema,
41
+ x402Versions
42
+ } from "../chunk-UCBE7FDY.mjs";
43
+ import "../chunk-5LTKIVOA.mjs";
44
+ import "../chunk-AQQR4PXH.mjs";
45
+ export {
46
+ ChainIdToNetwork,
47
+ DiscoveredResourceSchema,
48
+ ErrorReasons,
49
+ EvmNetworkToChainId,
50
+ ExactEvmPayloadAuthorizationSchema,
51
+ ExactEvmPayloadSchema,
52
+ ExactSvmPayloadSchema,
53
+ HTTPRequestStructureSchema,
54
+ ListDiscoveryResourcesRequestSchema,
55
+ ListDiscoveryResourcesResponseSchema,
56
+ NetworkSchema,
57
+ PaymentPayloadSchema,
58
+ PaymentRequirementsSchema,
59
+ Permit2EvmPayloadAuthorizationSchema,
60
+ PermitEvmPayloadAuthorizationSchema,
61
+ RequestStructureSchema,
62
+ SettleRequestSchema,
63
+ SettleResponseSchema,
64
+ SupportedEVMNetworks,
65
+ SupportedPaymentKindSchema,
66
+ SupportedPaymentKindsResponseSchema,
67
+ SupportedSVMNetworks,
68
+ SvmNetworkToChainId,
69
+ VerifyRequestSchema,
70
+ VerifyResponseSchema,
71
+ createConnectedClient,
72
+ createSigner,
73
+ evm_exports as evm,
74
+ facilitatorRequestSchema,
75
+ isEvmSignerWallet,
76
+ isMultiNetworkSigner,
77
+ isSvmSignerWallet,
78
+ moneySchema,
79
+ schemes,
80
+ settleResponseFromHeader,
81
+ settleResponseHeader,
82
+ svm_exports as svm,
83
+ withChain,
84
+ x402ResponseSchema,
85
+ x402Versions
86
+ };
87
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,105 @@
1
+ import {
2
+ toJsonSafe
3
+ } from "../chunk-UCBE7FDY.mjs";
4
+ import "../chunk-5LTKIVOA.mjs";
5
+ import "../chunk-AQQR4PXH.mjs";
6
+
7
+ // src/verify/useFacilitator.ts
8
+ var DEFAULT_FACILITATOR_URL = "https://x402.org/facilitator";
9
+ function useFacilitator(facilitator) {
10
+ async function verify2(payload, paymentRequirements) {
11
+ const url = facilitator?.url || DEFAULT_FACILITATOR_URL;
12
+ let headers = { "Content-Type": "application/json" };
13
+ if (facilitator?.createAuthHeaders) {
14
+ const authHeaders = await facilitator.createAuthHeaders();
15
+ headers = { ...headers, ...authHeaders.verify };
16
+ }
17
+ const res = await fetch(`${url}/verify`, {
18
+ method: "POST",
19
+ headers,
20
+ body: JSON.stringify({
21
+ x402Version: payload.x402Version,
22
+ paymentPayload: toJsonSafe(payload),
23
+ paymentRequirements: toJsonSafe(paymentRequirements)
24
+ })
25
+ });
26
+ if (res.status !== 200) {
27
+ throw new Error(`Failed to verify payment: ${res.statusText}`);
28
+ }
29
+ const data = await res.json();
30
+ return data;
31
+ }
32
+ async function settle2(payload, paymentRequirements) {
33
+ const url = facilitator?.url || DEFAULT_FACILITATOR_URL;
34
+ let headers = { "Content-Type": "application/json" };
35
+ if (facilitator?.createAuthHeaders) {
36
+ const authHeaders = await facilitator.createAuthHeaders();
37
+ headers = { ...headers, ...authHeaders.settle };
38
+ }
39
+ const res = await fetch(`${url}/settle`, {
40
+ method: "POST",
41
+ headers,
42
+ body: JSON.stringify({
43
+ x402Version: payload.x402Version,
44
+ paymentPayload: toJsonSafe(payload),
45
+ paymentRequirements: toJsonSafe(paymentRequirements)
46
+ })
47
+ });
48
+ if (res.status !== 200) {
49
+ const text = res.statusText;
50
+ throw new Error(`Failed to settle payment: ${res.status} ${text}`);
51
+ }
52
+ const data = await res.json();
53
+ return data;
54
+ }
55
+ async function supported2() {
56
+ const url = facilitator?.url || DEFAULT_FACILITATOR_URL;
57
+ let headers = { "Content-Type": "application/json" };
58
+ if (facilitator?.createAuthHeaders) {
59
+ const authHeaders = await facilitator.createAuthHeaders();
60
+ headers = { ...headers, ...authHeaders.supported };
61
+ }
62
+ const res = await fetch(`${url}/supported`, {
63
+ method: "GET",
64
+ headers
65
+ });
66
+ if (res.status !== 200) {
67
+ throw new Error(`Failed to get supported payment kinds: ${res.statusText}`);
68
+ }
69
+ const data = await res.json();
70
+ return data;
71
+ }
72
+ async function list2(config = {}) {
73
+ const url = facilitator?.url || DEFAULT_FACILITATOR_URL;
74
+ let headers = { "Content-Type": "application/json" };
75
+ if (facilitator?.createAuthHeaders) {
76
+ const authHeaders = await facilitator.createAuthHeaders();
77
+ if (authHeaders.list) {
78
+ headers = { ...headers, ...authHeaders.list };
79
+ }
80
+ }
81
+ const urlParams = new URLSearchParams(
82
+ Object.entries(config).filter(([_, value]) => value !== void 0).map(([key, value]) => [key, value.toString()])
83
+ );
84
+ const res = await fetch(`${url}/discovery/resources?${urlParams.toString()}`, {
85
+ method: "GET",
86
+ headers
87
+ });
88
+ if (res.status !== 200) {
89
+ const text = res.statusText;
90
+ throw new Error(`Failed to list discovery: ${res.status} ${text}`);
91
+ }
92
+ const data = await res.json();
93
+ return data;
94
+ }
95
+ return { verify: verify2, settle: settle2, supported: supported2, list: list2 };
96
+ }
97
+ var { verify, settle, supported, list } = useFacilitator();
98
+ export {
99
+ list,
100
+ settle,
101
+ supported,
102
+ useFacilitator,
103
+ verify
104
+ };
105
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/verify/useFacilitator.ts"],"sourcesContent":["import { toJsonSafe } from \"../shared\";\nimport {\n ListDiscoveryResourcesRequest,\n ListDiscoveryResourcesResponse,\n FacilitatorConfig,\n SupportedPaymentKindsResponse,\n} from \"../types\";\nimport {\n PaymentPayload,\n PaymentRequirements,\n SettleResponse,\n VerifyResponse,\n} from \"../types/verify\";\n\nconst DEFAULT_FACILITATOR_URL = \"https://x402.org/facilitator\";\n\nexport type CreateHeaders = () => Promise<{\n verify: Record<string, string>;\n settle: Record<string, string>;\n supported: Record<string, string>;\n list?: Record<string, string>;\n}>;\n\n/**\n * Creates a facilitator client for interacting with the X402 payment facilitator service\n *\n * @param facilitator - The facilitator config to use. If not provided, the default facilitator will be used.\n * @returns An object containing verify and settle functions for interacting with the facilitator\n */\nexport function useFacilitator(facilitator?: FacilitatorConfig) {\n /**\n * Verifies a payment payload with the facilitator service\n *\n * @param payload - The payment payload to verify\n * @param paymentRequirements - The payment requirements to verify against\n * @returns A promise that resolves to the verification response\n */\n async function verify(\n payload: PaymentPayload,\n paymentRequirements: PaymentRequirements,\n ): Promise<VerifyResponse> {\n const url = facilitator?.url || DEFAULT_FACILITATOR_URL;\n\n let headers = { \"Content-Type\": \"application/json\" };\n if (facilitator?.createAuthHeaders) {\n const authHeaders = await facilitator.createAuthHeaders();\n headers = { ...headers, ...authHeaders.verify };\n }\n\n const res = await fetch(`${url}/verify`, {\n method: \"POST\",\n headers,\n body: JSON.stringify({\n x402Version: payload.x402Version,\n paymentPayload: toJsonSafe(payload),\n paymentRequirements: toJsonSafe(paymentRequirements),\n }),\n });\n\n if (res.status !== 200) {\n throw new Error(`Failed to verify payment: ${res.statusText}`);\n }\n\n const data = await res.json();\n return data as VerifyResponse;\n }\n\n /**\n * Settles a payment with the facilitator service\n *\n * @param payload - The payment payload to settle\n * @param paymentRequirements - The payment requirements for the settlement\n * @returns A promise that resolves to the settlement response\n */\n async function settle(\n payload: PaymentPayload,\n paymentRequirements: PaymentRequirements,\n ): Promise<SettleResponse> {\n const url = facilitator?.url || DEFAULT_FACILITATOR_URL;\n\n let headers = { \"Content-Type\": \"application/json\" };\n if (facilitator?.createAuthHeaders) {\n const authHeaders = await facilitator.createAuthHeaders();\n headers = { ...headers, ...authHeaders.settle };\n }\n\n const res = await fetch(`${url}/settle`, {\n method: \"POST\",\n headers,\n body: JSON.stringify({\n x402Version: payload.x402Version,\n paymentPayload: toJsonSafe(payload),\n paymentRequirements: toJsonSafe(paymentRequirements),\n }),\n });\n\n if (res.status !== 200) {\n const text = res.statusText;\n throw new Error(`Failed to settle payment: ${res.status} ${text}`);\n }\n\n const data = await res.json();\n return data as SettleResponse;\n }\n\n /**\n * Gets the supported payment kinds from the facilitator service.\n *\n * @returns A promise that resolves to the supported payment kinds\n */\n async function supported(): Promise<SupportedPaymentKindsResponse> {\n const url = facilitator?.url || DEFAULT_FACILITATOR_URL;\n\n let headers = { \"Content-Type\": \"application/json\" };\n if (facilitator?.createAuthHeaders) {\n const authHeaders = await facilitator.createAuthHeaders();\n headers = { ...headers, ...authHeaders.supported };\n }\n\n const res = await fetch(`${url}/supported`, {\n method: \"GET\",\n headers,\n });\n\n if (res.status !== 200) {\n throw new Error(`Failed to get supported payment kinds: ${res.statusText}`);\n }\n\n const data = await res.json();\n return data as SupportedPaymentKindsResponse;\n }\n\n /**\n * Lists the discovery items with the facilitator service\n *\n * @param config - The configuration for the discovery list request\n * @returns A promise that resolves to the discovery list response\n */\n async function list(\n config: ListDiscoveryResourcesRequest = {},\n ): Promise<ListDiscoveryResourcesResponse> {\n const url = facilitator?.url || DEFAULT_FACILITATOR_URL;\n\n let headers = { \"Content-Type\": \"application/json\" };\n if (facilitator?.createAuthHeaders) {\n const authHeaders = await facilitator.createAuthHeaders();\n if (authHeaders.list) {\n headers = { ...headers, ...authHeaders.list };\n }\n }\n\n const urlParams = new URLSearchParams(\n Object.entries(config)\n .filter(([_, value]) => value !== undefined)\n .map(([key, value]) => [key, value.toString()]),\n );\n\n const res = await fetch(`${url}/discovery/resources?${urlParams.toString()}`, {\n method: \"GET\",\n headers,\n });\n\n if (res.status !== 200) {\n const text = res.statusText;\n throw new Error(`Failed to list discovery: ${res.status} ${text}`);\n }\n\n const data = await res.json();\n return data as ListDiscoveryResourcesResponse;\n }\n\n return { verify, settle, supported, list };\n}\n\nexport const { verify, settle, supported, list } = useFacilitator();\n"],"mappings":"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","names":["verify","settle","supported","list"]}
package/package.json ADDED
@@ -0,0 +1,148 @@
1
+ {
2
+ "name": "@wtflabs/x402",
3
+ "version": "0.0.1-beta.0",
4
+ "main": "./dist/cjs/index.js",
5
+ "module": "./dist/esm/index.js",
6
+ "types": "./dist/cjs/index.d.ts",
7
+ "scripts": {
8
+ "start": "tsx --env-file=.env index.ts",
9
+ "build": "tsup",
10
+ "build:paywall": "tsx src/paywall/build.ts",
11
+ "test": "vitest run",
12
+ "test:watch": "vitest",
13
+ "watch": "tsc --watch",
14
+ "format": "prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"",
15
+ "format:check": "prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\"",
16
+ "lint": "eslint . --ext .ts --fix",
17
+ "lint:check": "eslint . --ext .ts"
18
+ },
19
+ "keywords": [],
20
+ "license": "Apache-2.0",
21
+ "author": "",
22
+ "repository": "",
23
+ "description": "x402 (Permit) Payment Protocol",
24
+ "devDependencies": {
25
+ "@coinbase/onchainkit": "^0.38.14",
26
+ "@craftamap/esbuild-plugin-html": "^0.9.0",
27
+ "@eslint/js": "^9.24.0",
28
+ "@types/node": "^22.13.4",
29
+ "@types/react": "^19",
30
+ "@types/react-dom": "^19",
31
+ "@typescript-eslint/eslint-plugin": "^8.29.1",
32
+ "@typescript-eslint/parser": "^8.29.1",
33
+ "@wagmi/connectors": "^5.8.1",
34
+ "@wagmi/core": "^2.17.1",
35
+ "buffer": "^6.0.3",
36
+ "esbuild": "^0.25.4",
37
+ "eslint": "^9.24.0",
38
+ "eslint-plugin-import": "^2.31.0",
39
+ "eslint-plugin-jsdoc": "^50.6.9",
40
+ "eslint-plugin-prettier": "^5.2.6",
41
+ "prettier": "3.5.2",
42
+ "react": "^19.0.0",
43
+ "react-dom": "^19.0.0",
44
+ "tsup": "^8.4.0",
45
+ "tsx": "^4.19.2",
46
+ "typescript": "^5.7.3",
47
+ "viem": "^2.21.26",
48
+ "vite": "^6.2.6",
49
+ "vite-tsconfig-paths": "^5.1.4",
50
+ "vitest": "^3.0.5"
51
+ },
52
+ "dependencies": {
53
+ "@scure/base": "^1.2.6",
54
+ "@solana-program/compute-budget": "^0.8.0",
55
+ "@solana-program/token": "^0.5.1",
56
+ "@solana-program/token-2022": "^0.4.2",
57
+ "@solana/kit": "^2.1.1",
58
+ "@solana/transaction-confirmation": "^2.1.1",
59
+ "viem": "^2.21.26",
60
+ "wagmi": "^2.15.6",
61
+ "zod": "^3.24.2"
62
+ },
63
+ "exports": {
64
+ "./shared": {
65
+ "import": {
66
+ "types": "./dist/esm/shared/index.d.mts",
67
+ "default": "./dist/esm/shared/index.mjs"
68
+ },
69
+ "require": {
70
+ "types": "./dist/cjs/shared/index.d.ts",
71
+ "default": "./dist/cjs/shared/index.js"
72
+ }
73
+ },
74
+ "./shared/evm": {
75
+ "import": {
76
+ "types": "./dist/esm/shared/evm/index.d.mts",
77
+ "default": "./dist/esm/shared/evm/index.mjs"
78
+ },
79
+ "require": {
80
+ "types": "./dist/cjs/shared/evm/index.d.ts",
81
+ "default": "./dist/cjs/shared/evm/index.js"
82
+ }
83
+ },
84
+ "./schemes": {
85
+ "import": {
86
+ "types": "./dist/esm/schemes/index.d.mts",
87
+ "default": "./dist/esm/schemes/index.mjs"
88
+ },
89
+ "require": {
90
+ "types": "./dist/cjs/schemes/index.d.ts",
91
+ "default": "./dist/cjs/schemes/index.js"
92
+ }
93
+ },
94
+ "./client": {
95
+ "import": {
96
+ "types": "./dist/esm/client/index.d.mts",
97
+ "default": "./dist/esm/client/index.mjs"
98
+ },
99
+ "require": {
100
+ "types": "./dist/cjs/client/index.d.ts",
101
+ "default": "./dist/cjs/client/index.js"
102
+ }
103
+ },
104
+ "./verify": {
105
+ "import": {
106
+ "types": "./dist/esm/verify/index.d.mts",
107
+ "default": "./dist/esm/verify/index.mjs"
108
+ },
109
+ "require": {
110
+ "types": "./dist/cjs/verify/index.d.ts",
111
+ "default": "./dist/cjs/verify/index.js"
112
+ }
113
+ },
114
+ "./facilitator": {
115
+ "import": {
116
+ "types": "./dist/esm/facilitator/index.d.mts",
117
+ "default": "./dist/esm/facilitator/index.mjs"
118
+ },
119
+ "require": {
120
+ "types": "./dist/cjs/facilitator/index.d.ts",
121
+ "default": "./dist/cjs/facilitator/index.js"
122
+ }
123
+ },
124
+ "./paywall": {
125
+ "import": {
126
+ "types": "./dist/esm/paywall/index.d.mts",
127
+ "default": "./dist/esm/paywall/index.mjs"
128
+ },
129
+ "require": {
130
+ "types": "./dist/cjs/paywall/index.d.ts",
131
+ "default": "./dist/cjs/paywall/index.js"
132
+ }
133
+ },
134
+ "./types": {
135
+ "import": {
136
+ "types": "./dist/esm/types/index.d.mts",
137
+ "default": "./dist/esm/types/index.mjs"
138
+ },
139
+ "require": {
140
+ "types": "./dist/cjs/types/index.d.ts",
141
+ "default": "./dist/cjs/types/index.js"
142
+ }
143
+ }
144
+ },
145
+ "files": [
146
+ "dist"
147
+ ]
148
+ }