thirdweb 5.113.0 → 5.114.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/dist/cjs/version.js +1 -1
- package/dist/cjs/x402/common.js +2 -10
- package/dist/cjs/x402/common.js.map +1 -1
- package/dist/cjs/x402/facilitator.js +1 -0
- package/dist/cjs/x402/facilitator.js.map +1 -1
- package/dist/cjs/x402/fetchWithPayment.js +5 -8
- package/dist/cjs/x402/fetchWithPayment.js.map +1 -1
- package/dist/cjs/x402/schemas.js +4 -1
- package/dist/cjs/x402/schemas.js.map +1 -1
- package/dist/cjs/x402/settle-payment.js +12 -1
- package/dist/cjs/x402/settle-payment.js.map +1 -1
- package/dist/cjs/x402/types.js +6 -1
- package/dist/cjs/x402/types.js.map +1 -1
- package/dist/cjs/x402/verify-payment.js +11 -1
- package/dist/cjs/x402/verify-payment.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/x402/common.js +2 -10
- package/dist/esm/x402/common.js.map +1 -1
- package/dist/esm/x402/facilitator.js +1 -0
- package/dist/esm/x402/facilitator.js.map +1 -1
- package/dist/esm/x402/fetchWithPayment.js +5 -8
- package/dist/esm/x402/fetchWithPayment.js.map +1 -1
- package/dist/esm/x402/schemas.js +4 -1
- package/dist/esm/x402/schemas.js.map +1 -1
- package/dist/esm/x402/settle-payment.js +12 -1
- package/dist/esm/x402/settle-payment.js.map +1 -1
- package/dist/esm/x402/types.js +5 -0
- package/dist/esm/x402/types.js.map +1 -1
- package/dist/esm/x402/verify-payment.js +11 -1
- package/dist/esm/x402/verify-payment.js.map +1 -1
- package/dist/scripts/bridge-widget.js +2 -2
- package/dist/types/version.d.ts +1 -1
- package/dist/types/x402/common.d.ts.map +1 -1
- package/dist/types/x402/facilitator.d.ts.map +1 -1
- package/dist/types/x402/fetchWithPayment.d.ts.map +1 -1
- package/dist/types/x402/schemas.d.ts +15 -15
- package/dist/types/x402/schemas.d.ts.map +1 -1
- package/dist/types/x402/settle-payment.d.ts +12 -1
- package/dist/types/x402/settle-payment.d.ts.map +1 -1
- package/dist/types/x402/types.d.ts +13 -1
- package/dist/types/x402/types.d.ts.map +1 -1
- package/dist/types/x402/verify-payment.d.ts +11 -1
- package/dist/types/x402/verify-payment.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/version.ts +1 -1
- package/src/x402/common.ts +2 -20
- package/src/x402/facilitator.ts +1 -0
- package/src/x402/fetchWithPayment.ts +5 -11
- package/src/x402/schemas.ts +4 -1
- package/src/x402/settle-payment.ts +12 -1
- package/src/x402/types.ts +16 -1
- package/src/x402/verify-payment.ts +11 -1
package/dist/cjs/version.js
CHANGED
package/dist/cjs/x402/common.js
CHANGED
|
@@ -17,17 +17,9 @@ const types_js_1 = require("./types.js");
|
|
|
17
17
|
* @returns The payment requirements, selected payment requirements, and decoded payment
|
|
18
18
|
*/
|
|
19
19
|
async function decodePaymentRequest(args) {
|
|
20
|
-
const {
|
|
20
|
+
const { facilitator, routeConfig = {}, paymentData } = args;
|
|
21
21
|
const { errorMessages } = routeConfig;
|
|
22
|
-
const paymentRequirementsResult = await facilitator.accepts(
|
|
23
|
-
resourceUrl,
|
|
24
|
-
method,
|
|
25
|
-
network,
|
|
26
|
-
price,
|
|
27
|
-
routeConfig,
|
|
28
|
-
payTo,
|
|
29
|
-
extraMetadata,
|
|
30
|
-
});
|
|
22
|
+
const paymentRequirementsResult = await facilitator.accepts(args);
|
|
31
23
|
// Check for payment header, if none, return the payment requirements
|
|
32
24
|
if (!paymentData) {
|
|
33
25
|
return paymentRequirementsResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/x402/common.ts"],"names":[],"mappings":";;AAkCA,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/x402/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../../src/x402/facilitator.ts"],"names":[],"mappings":";;AA+GA,
|
|
1
|
+
{"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../../src/x402/facilitator.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,9 +50,7 @@ function wrapFetchWithPayment(fetch, client, wallet, options) {
|
|
|
50
50
|
return response;
|
|
51
51
|
}
|
|
52
52
|
const { x402Version, accepts, error } = (await response.json());
|
|
53
|
-
const parsedPaymentRequirements = accepts
|
|
54
|
-
.map((x) => schemas_js_1.RequestedPaymentRequirementsSchema.parse(x))
|
|
55
|
-
.filter((x) => x.scheme === "exact"); // TODO (402): accept other schemes
|
|
53
|
+
const parsedPaymentRequirements = accepts.map((x) => schemas_js_1.RequestedPaymentRequirementsSchema.parse(x));
|
|
56
54
|
const account = wallet.getAccount();
|
|
57
55
|
let chain = wallet.getChain();
|
|
58
56
|
if (!account || !chain) {
|
|
@@ -60,7 +58,7 @@ function wrapFetchWithPayment(fetch, client, wallet, options) {
|
|
|
60
58
|
}
|
|
61
59
|
const selectedPaymentRequirements = options?.paymentRequirementsSelector
|
|
62
60
|
? options.paymentRequirementsSelector(parsedPaymentRequirements)
|
|
63
|
-
: defaultPaymentRequirementsSelector(parsedPaymentRequirements, chain.id,
|
|
61
|
+
: defaultPaymentRequirementsSelector(parsedPaymentRequirements, chain.id, error);
|
|
64
62
|
if (!selectedPaymentRequirements) {
|
|
65
63
|
throw new Error(`No suitable payment requirements found for chain ${chain.id}. ${error}`);
|
|
66
64
|
}
|
|
@@ -100,20 +98,19 @@ function wrapFetchWithPayment(fetch, client, wallet, options) {
|
|
|
100
98
|
return secondResponse;
|
|
101
99
|
};
|
|
102
100
|
}
|
|
103
|
-
function defaultPaymentRequirementsSelector(paymentRequirements, chainId,
|
|
101
|
+
function defaultPaymentRequirementsSelector(paymentRequirements, chainId, error) {
|
|
104
102
|
if (!paymentRequirements.length) {
|
|
105
103
|
throw new Error(`No valid payment requirements found in server 402 response. ${error}`);
|
|
106
104
|
}
|
|
107
105
|
// find the payment requirements matching the connected wallet chain
|
|
108
|
-
const matchingPaymentRequirements = paymentRequirements.find((x) => (0, schemas_js_1.extractEvmChainId)((0, schemas_js_1.networkToCaip2ChainId)(x.network)) === chainId
|
|
109
|
-
x.scheme === scheme);
|
|
106
|
+
const matchingPaymentRequirements = paymentRequirements.find((x) => (0, schemas_js_1.extractEvmChainId)((0, schemas_js_1.networkToCaip2ChainId)(x.network)) === chainId);
|
|
110
107
|
if (matchingPaymentRequirements) {
|
|
111
108
|
return matchingPaymentRequirements;
|
|
112
109
|
}
|
|
113
110
|
else {
|
|
114
111
|
// if no matching payment requirements, use the first payment requirement
|
|
115
112
|
// and switch the wallet to that chain
|
|
116
|
-
const firstPaymentRequirement = paymentRequirements
|
|
113
|
+
const firstPaymentRequirement = paymentRequirements[0];
|
|
117
114
|
return firstPaymentRequirement;
|
|
118
115
|
}
|
|
119
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchWithPayment.js","sourceRoot":"","sources":["../../../src/x402/fetchWithPayment.ts"],"names":[],"mappings":";;AAkDA,
|
|
1
|
+
{"version":3,"file":"fetchWithPayment.js","sourceRoot":"","sources":["../../../src/x402/fetchWithPayment.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/x402/schemas.js
CHANGED
|
@@ -5,12 +5,15 @@ exports.extractEvmChainId = extractEvmChainId;
|
|
|
5
5
|
exports.networkToCaip2ChainId = networkToCaip2ChainId;
|
|
6
6
|
const types_1 = require("x402/types");
|
|
7
7
|
const zod_1 = require("zod");
|
|
8
|
+
const types_js_1 = require("./types.js");
|
|
8
9
|
const FacilitatorNetworkSchema = zod_1.z.string();
|
|
9
10
|
const RequestedPaymentPayloadSchema = types_1.PaymentPayloadSchema.extend({
|
|
10
11
|
network: FacilitatorNetworkSchema,
|
|
12
|
+
scheme: types_js_1.PaymentSchemeSchema,
|
|
11
13
|
});
|
|
12
14
|
exports.RequestedPaymentRequirementsSchema = types_1.PaymentRequirementsSchema.extend({
|
|
13
15
|
network: FacilitatorNetworkSchema,
|
|
16
|
+
scheme: types_js_1.PaymentSchemeSchema,
|
|
14
17
|
});
|
|
15
18
|
const FacilitatorSettleResponseSchema = types_1.SettleResponseSchema.extend({
|
|
16
19
|
network: FacilitatorNetworkSchema,
|
|
@@ -37,7 +40,7 @@ const FacilitatorSupportedAssetSchema = zod_1.z.object({
|
|
|
37
40
|
const FacilitatorSupportedResponseSchema = types_1.SupportedPaymentKindsResponseSchema.extend({
|
|
38
41
|
kinds: zod_1.z.array(zod_1.z.object({
|
|
39
42
|
x402Version: zod_1.z.literal(1),
|
|
40
|
-
scheme:
|
|
43
|
+
scheme: types_js_1.PaymentSchemeSchema,
|
|
41
44
|
network: FacilitatorNetworkSchema,
|
|
42
45
|
extra: zod_1.z
|
|
43
46
|
.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/x402/schemas.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/x402/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,6 @@ const types_js_1 = require("./types.js");
|
|
|
49
49
|
* routeConfig: {
|
|
50
50
|
* description: "Access to premium API content",
|
|
51
51
|
* mimeType: "application/json",
|
|
52
|
-
* maxTimeoutSeconds: 300,
|
|
53
52
|
* },
|
|
54
53
|
* });
|
|
55
54
|
*
|
|
@@ -66,6 +65,18 @@ const types_js_1 = require("./types.js");
|
|
|
66
65
|
* }
|
|
67
66
|
* ```
|
|
68
67
|
*
|
|
68
|
+
* ### Upto Payment Scheme
|
|
69
|
+
*
|
|
70
|
+
* You can also use the `upto` payment scheme to settle the payment dynamically based on the usage.
|
|
71
|
+
*
|
|
72
|
+
* ```ts
|
|
73
|
+
* const result = await settlePayment({
|
|
74
|
+
* ...paymentArgs,
|
|
75
|
+
* scheme: "upto",
|
|
76
|
+
* price: "$0.10", // max payable amount
|
|
77
|
+
* });
|
|
78
|
+
* ```
|
|
79
|
+
*
|
|
69
80
|
* ### Express middleware example
|
|
70
81
|
*
|
|
71
82
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settle-payment.js","sourceRoot":"","sources":["../../../src/x402/settle-payment.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"settle-payment.js","sourceRoot":"","sources":["../../../src/x402/settle-payment.ts"],"names":[],"mappings":";;AAyIA,sCAgEC;AAzMD,8CAA6C;AAC7C,2CAAmD;AACnD,2CAA+C;AAC/C,yCAIoB;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+HG;AACI,KAAK,UAAU,aAAa,CACjC,IAAuB;IAEvB,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC/C,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IAEtC,MAAM,mBAAmB,GAAG,MAAM,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC;IAE7D,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvC,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,EAAE,2BAA2B,EAAE,cAAc,EAAE,mBAAmB,EAAE,GACxE,mBAAmB,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,CACzC,cAAc,EACd,2BAA2B,EAC3B,IAAI,CAAC,SAAS,CACf,CAAC;QAEF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,cAAc,EAAE,UAAU;gBAC1B,eAAe,EAAE;oBACf,+BAA+B,EAAE,oBAAoB;oBACrD,oBAAoB,EAAE,IAAA,4BAAgB,EAAC,IAAA,mBAAS,EAAC,UAAU,CAAC,CAAC;iBAC9D;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,IAAI,kBAAkB,CAAC;YAC3D,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,eAAe,EAAE;oBACf,cAAc,EAAE,kBAAkB;iBACnC;gBACD,YAAY,EAAE;oBACZ,WAAW,EAAX,sBAAW;oBACX,KAAK;oBACL,YAAY,EACV,aAAa,EAAE,gBAAgB,IAAI,UAAU,CAAC,YAAY;oBAC5D,cAAc,EAAE,UAAU,CAAC,cAAc;oBACzC,OAAO,EAAE,mBAAmB;iBAC7B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,GAAG;YACX,eAAe,EAAE;gBACf,cAAc,EAAE,kBAAkB;aACnC;YACD,YAAY,EAAE;gBACZ,WAAW,EAAX,sBAAW;gBACX,KAAK,EAAE,kBAAkB;gBACzB,YAAY,EACV,aAAa,EAAE,gBAAgB;oBAC/B,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtD,OAAO,EAAE,mBAAmB;aAC7B;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/cjs/x402/types.js
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.x402Version = void 0;
|
|
3
|
+
exports.PaymentSchemeSchema = exports.x402Version = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
4
5
|
exports.x402Version = 1;
|
|
6
|
+
exports.PaymentSchemeSchema = zod_1.default.union([
|
|
7
|
+
zod_1.default.literal("exact"),
|
|
8
|
+
zod_1.default.literal("upto"),
|
|
9
|
+
]);
|
|
5
10
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/x402/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/x402/types.ts"],"names":[],"mappings":";;;AACA,6BAAoB;AAYP,QAAA,WAAW,GAAG,CAAC,CAAC;AA8FhB,QAAA,mBAAmB,GAAG,aAAC,CAAC,KAAK,CAAC;IACzC,aAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,aAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CAClB,CAAC,CAAC"}
|
|
@@ -40,7 +40,6 @@ const types_js_1 = require("./types.js");
|
|
|
40
40
|
* routeConfig: {
|
|
41
41
|
* description: "Access to premium API content",
|
|
42
42
|
* mimeType: "application/json",
|
|
43
|
-
* maxTimeoutSeconds: 300,
|
|
44
43
|
* },
|
|
45
44
|
* };
|
|
46
45
|
*
|
|
@@ -66,6 +65,17 @@ const types_js_1 = require("./types.js");
|
|
|
66
65
|
* }
|
|
67
66
|
* ```
|
|
68
67
|
*
|
|
68
|
+
* ### Upto Payment Scheme
|
|
69
|
+
*
|
|
70
|
+
* You can also use the `upto` payment scheme to verify a payment where the final price is dynamically calculated based on the usage.
|
|
71
|
+
*
|
|
72
|
+
* ```ts
|
|
73
|
+
* const result = await verifyPayment({
|
|
74
|
+
* ...paymentArgs,
|
|
75
|
+
* scheme: "upto",
|
|
76
|
+
* price: "$0.10", // max payable amount
|
|
77
|
+
* });
|
|
78
|
+
* ```
|
|
69
79
|
* @public
|
|
70
80
|
* @beta
|
|
71
81
|
* @x402
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-payment.js","sourceRoot":"","sources":["../../../src/x402/verify-payment.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"verify-payment.js","sourceRoot":"","sources":["../../../src/x402/verify-payment.ts"],"names":[],"mappings":";;AAoFA,sCA6DC;AAjJD,2CAAmD;AACnD,yCAIoB;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACI,KAAK,UAAU,aAAa,CACjC,IAAiB;IAEjB,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC/C,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IAEtC,MAAM,mBAAmB,GAAG,MAAM,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC;IAE7D,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvC,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,EAAE,2BAA2B,EAAE,cAAc,EAAE,mBAAmB,EAAE,GACxE,mBAAmB,CAAC;IAEtB,iBAAiB;IACjB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,MAAM,CAC3C,cAAc,EACd,2BAA2B,CAC5B,CAAC;QAEF,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,cAAc;gBACd,2BAA2B;aAC5B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,IAAI,qBAAqB,CAAC;YAClE,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,eAAe,EAAE;oBACf,cAAc,EAAE,kBAAkB;iBACnC;gBACD,YAAY,EAAE;oBACZ,WAAW,EAAX,sBAAW;oBACX,KAAK,EAAE,KAAK;oBACZ,YAAY,EACV,aAAa,EAAE,kBAAkB,IAAI,YAAY,CAAC,YAAY;oBAChE,cAAc,EAAE,YAAY,CAAC,cAAc;oBAC3C,OAAO,EAAE,mBAAmB;iBAC7B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,GAAG;YACX,eAAe,EAAE;gBACf,cAAc,EAAE,kBAAkB;aACnC;YACD,YAAY,EAAE;gBACZ,WAAW,EAAX,sBAAW;gBACX,KAAK,EAAE,oBAAoB;gBAC3B,YAAY,EACV,aAAa,EAAE,kBAAkB;oBACjC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtD,OAAO,EAAE,mBAAmB;aAC7B;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = "5.
|
|
1
|
+
export const version = "5.114.0";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/esm/x402/common.js
CHANGED
|
@@ -13,17 +13,9 @@ import { x402Version, } from "./types.js";
|
|
|
13
13
|
* @returns The payment requirements, selected payment requirements, and decoded payment
|
|
14
14
|
*/
|
|
15
15
|
export async function decodePaymentRequest(args) {
|
|
16
|
-
const {
|
|
16
|
+
const { facilitator, routeConfig = {}, paymentData } = args;
|
|
17
17
|
const { errorMessages } = routeConfig;
|
|
18
|
-
const paymentRequirementsResult = await facilitator.accepts(
|
|
19
|
-
resourceUrl,
|
|
20
|
-
method,
|
|
21
|
-
network,
|
|
22
|
-
price,
|
|
23
|
-
routeConfig,
|
|
24
|
-
payTo,
|
|
25
|
-
extraMetadata,
|
|
26
|
-
});
|
|
18
|
+
const paymentRequirementsResult = await facilitator.accepts(args);
|
|
27
19
|
// Check for payment header, if none, return the payment requirements
|
|
28
20
|
if (!paymentData) {
|
|
29
21
|
return paymentRequirementsResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/x402/common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gEAAgE,CAAC;AACnG,OAAO,EAAE,oCAAoC,EAAE,MAAM,2EAA2E,CAAC;AACjI,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,qBAAqB,GAGtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAKL,WAAW,GACZ,MAAM,YAAY,CAAC;AASpB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAiB;IAEjB,MAAM,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/x402/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../../src/x402/facilitator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAIL,qBAAqB,GAGtB,MAAM,cAAc,CAAC;AA4CtB,MAAM,gBAAgB,GAAG,2CAA2C,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,MAAM,UAAU,WAAW,CACzB,MAAqC;IAErC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;IACvD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG;QAClB,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAA4B;QACpE,OAAO,EAAE,mBAAmB;QAC5B,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC5B,OAAO;gBACL,MAAM,EAAE;oBACN,cAAc,EAAE,SAAS;iBAC1B;gBACD,MAAM,EAAE;oBACN,cAAc,EAAE,SAAS;oBACzB,GAAG,CAAC,MAAM,CAAC,gBAAgB;wBACzB,CAAC,CAAC,EAAE,sBAAsB,EAAE,MAAM,CAAC,gBAAgB,EAAE;wBACrD,CAAC,CAAC,EAAE,CAAC;iBACR;gBACD,SAAS,EAAE;oBACT,cAAc,EAAE,SAAS;iBAC1B;gBACD,IAAI,EAAE;oBACJ,cAAc,EAAE,SAAS;iBAC1B;aACF,CAAC;QACJ,CAAC;QACD;;;;;;WAMG;QACH,KAAK,CAAC,MAAM,CACV,OAAgC,EAChC,mBAAiD;YAEjD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC;YAE/C,IAAI,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC;YAC1D,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YAEhD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,SAAS,EAAE;gBACvC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,SAAS,CAAC;oBACd,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,cAAc,EAAE,OAAO;oBACvB,mBAAmB,EAAE,mBAAmB;iBACzC,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAsB,CAAC;QAChC,CAAC;QAED;;;;;;WAMG;QACH,KAAK,CAAC,MAAM,CACV,OAAgC,EAChC,mBAAiD,EACjD,SAAqB;YAErB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC;YAE/C,IAAI,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC;YAC1D,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;YAErD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,SAAS,EAAE;gBACvC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,cAAc,EAAE,OAAO;oBACvB,mBAAmB,EAAE,mBAAmB;oBACxC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,IAAiC,CAAC;QAC3C,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,SAAS,CAAC,OAGf;YACC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC;YAC/C,OAAO,SAAS,CACd,KAAK,IAAI,EAAE;gBACT,IAAI,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;gBACrD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC;gBAC1D,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;gBACnD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;gBACjD,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;oBACrB,YAAY,CAAC,YAAY,CAAC,GAAG,CAC3B,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAC3B,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;oBAC1B,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;gBACtE,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAE9D,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CACb,0CAA0C,GAAG,CAAC,UAAU,EAAE,CAC3D,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,OAAO,IAAoC,CAAC;YAC9C,CAAC,EACD;gBACE,QAAQ,EAAE,2BAA2B,GAAG,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,YAAY,GAAG;gBACxF,SAAS,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS;aACzC,CACF,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,OAAO,CACX,IAAsC;YAEtC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC;YAC/C,IAAI,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,iBAAiB,EAAE,CAAC;YAC1D,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,iBAAiB;YAClE,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,UAAU,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,SAAS,CAAC;oBACd,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,OAAO,EAAE,YAAY;oBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,mBAAmB,EAAE,WAAW,CAAC,OAAO;oBACxC,gBAAgB,EAAE,IAAI,CAAC,KAAK;oBAC5B,aAAa,EAAE,IAAI,CAAC,aAAa;iBAClC,CAAC;aACH,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACb,6CAA6C,GAAG,CAAC,UAAU,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CACpF,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,GAAG,CAAC,MAAa;gBACzB,YAAY,EACV,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA0C;gBAC7D,eAAe,EAAE;oBACf,cAAc,EAAE,kBAAkB;iBACnC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
1
|
+
{"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../../src/x402/facilitator.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,9 +47,7 @@ export function wrapFetchWithPayment(fetch, client, wallet, options) {
|
|
|
47
47
|
return response;
|
|
48
48
|
}
|
|
49
49
|
const { x402Version, accepts, error } = (await response.json());
|
|
50
|
-
const parsedPaymentRequirements = accepts
|
|
51
|
-
.map((x) => RequestedPaymentRequirementsSchema.parse(x))
|
|
52
|
-
.filter((x) => x.scheme === "exact"); // TODO (402): accept other schemes
|
|
50
|
+
const parsedPaymentRequirements = accepts.map((x) => RequestedPaymentRequirementsSchema.parse(x));
|
|
53
51
|
const account = wallet.getAccount();
|
|
54
52
|
let chain = wallet.getChain();
|
|
55
53
|
if (!account || !chain) {
|
|
@@ -57,7 +55,7 @@ export function wrapFetchWithPayment(fetch, client, wallet, options) {
|
|
|
57
55
|
}
|
|
58
56
|
const selectedPaymentRequirements = options?.paymentRequirementsSelector
|
|
59
57
|
? options.paymentRequirementsSelector(parsedPaymentRequirements)
|
|
60
|
-
: defaultPaymentRequirementsSelector(parsedPaymentRequirements, chain.id,
|
|
58
|
+
: defaultPaymentRequirementsSelector(parsedPaymentRequirements, chain.id, error);
|
|
61
59
|
if (!selectedPaymentRequirements) {
|
|
62
60
|
throw new Error(`No suitable payment requirements found for chain ${chain.id}. ${error}`);
|
|
63
61
|
}
|
|
@@ -97,20 +95,19 @@ export function wrapFetchWithPayment(fetch, client, wallet, options) {
|
|
|
97
95
|
return secondResponse;
|
|
98
96
|
};
|
|
99
97
|
}
|
|
100
|
-
function defaultPaymentRequirementsSelector(paymentRequirements, chainId,
|
|
98
|
+
function defaultPaymentRequirementsSelector(paymentRequirements, chainId, error) {
|
|
101
99
|
if (!paymentRequirements.length) {
|
|
102
100
|
throw new Error(`No valid payment requirements found in server 402 response. ${error}`);
|
|
103
101
|
}
|
|
104
102
|
// find the payment requirements matching the connected wallet chain
|
|
105
|
-
const matchingPaymentRequirements = paymentRequirements.find((x) => extractEvmChainId(networkToCaip2ChainId(x.network)) === chainId
|
|
106
|
-
x.scheme === scheme);
|
|
103
|
+
const matchingPaymentRequirements = paymentRequirements.find((x) => extractEvmChainId(networkToCaip2ChainId(x.network)) === chainId);
|
|
107
104
|
if (matchingPaymentRequirements) {
|
|
108
105
|
return matchingPaymentRequirements;
|
|
109
106
|
}
|
|
110
107
|
else {
|
|
111
108
|
// if no matching payment requirements, use the first payment requirement
|
|
112
109
|
// and switch the wallet to that chain
|
|
113
|
-
const firstPaymentRequirement = paymentRequirements
|
|
110
|
+
const firstPaymentRequirement = paymentRequirements[0];
|
|
114
111
|
return firstPaymentRequirement;
|
|
115
112
|
}
|
|
116
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchWithPayment.js","sourceRoot":"","sources":["../../../src/x402/fetchWithPayment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EAErB,kCAAkC,GACnC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAA8B,EAC9B,MAAsB,EACtB,MAAc,EACd,OAKC;IAED,OAAO,KAAK,EAAE,KAAkB,EAAE,IAAkB,EAAE,EAAE;QACtD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE1C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAI7D,CAAC;QACF,MAAM,yBAAyB,GAAG,OAAO
|
|
1
|
+
{"version":3,"file":"fetchWithPayment.js","sourceRoot":"","sources":["../../../src/x402/fetchWithPayment.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/x402/schemas.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { EvmNetworkToChainId, PaymentPayloadSchema, PaymentRequirementsSchema, SettleResponseSchema, SupportedPaymentKindsResponseSchema, VerifyResponseSchema, } from "x402/types";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
+
import { PaymentSchemeSchema } from "./types.js";
|
|
3
4
|
const FacilitatorNetworkSchema = z.string();
|
|
4
5
|
const RequestedPaymentPayloadSchema = PaymentPayloadSchema.extend({
|
|
5
6
|
network: FacilitatorNetworkSchema,
|
|
7
|
+
scheme: PaymentSchemeSchema,
|
|
6
8
|
});
|
|
7
9
|
export const RequestedPaymentRequirementsSchema = PaymentRequirementsSchema.extend({
|
|
8
10
|
network: FacilitatorNetworkSchema,
|
|
11
|
+
scheme: PaymentSchemeSchema,
|
|
9
12
|
});
|
|
10
13
|
const FacilitatorSettleResponseSchema = SettleResponseSchema.extend({
|
|
11
14
|
network: FacilitatorNetworkSchema,
|
|
@@ -32,7 +35,7 @@ const FacilitatorSupportedAssetSchema = z.object({
|
|
|
32
35
|
const FacilitatorSupportedResponseSchema = SupportedPaymentKindsResponseSchema.extend({
|
|
33
36
|
kinds: z.array(z.object({
|
|
34
37
|
x402Version: z.literal(1),
|
|
35
|
-
scheme:
|
|
38
|
+
scheme: PaymentSchemeSchema,
|
|
36
39
|
network: FacilitatorNetworkSchema,
|
|
37
40
|
extra: z
|
|
38
41
|
.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/x402/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAGnB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,mCAAmC,EACnC,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/x402/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,6 @@ import { x402Version, } from "./types.js";
|
|
|
46
46
|
* routeConfig: {
|
|
47
47
|
* description: "Access to premium API content",
|
|
48
48
|
* mimeType: "application/json",
|
|
49
|
-
* maxTimeoutSeconds: 300,
|
|
50
49
|
* },
|
|
51
50
|
* });
|
|
52
51
|
*
|
|
@@ -63,6 +62,18 @@ import { x402Version, } from "./types.js";
|
|
|
63
62
|
* }
|
|
64
63
|
* ```
|
|
65
64
|
*
|
|
65
|
+
* ### Upto Payment Scheme
|
|
66
|
+
*
|
|
67
|
+
* You can also use the `upto` payment scheme to settle the payment dynamically based on the usage.
|
|
68
|
+
*
|
|
69
|
+
* ```ts
|
|
70
|
+
* const result = await settlePayment({
|
|
71
|
+
* ...paymentArgs,
|
|
72
|
+
* scheme: "upto",
|
|
73
|
+
* price: "$0.10", // max payable amount
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
76
|
+
*
|
|
66
77
|
* ### Express middleware example
|
|
67
78
|
*
|
|
68
79
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settle-payment.js","sourceRoot":"","sources":["../../../src/x402/settle-payment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAGL,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB
|
|
1
|
+
{"version":3,"file":"settle-payment.js","sourceRoot":"","sources":["../../../src/x402/settle-payment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAGL,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+HG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAuB;IAEvB,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC/C,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IAEtC,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE7D,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvC,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,EAAE,2BAA2B,EAAE,cAAc,EAAE,mBAAmB,EAAE,GACxE,mBAAmB,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,MAAM,CACzC,cAAc,EACd,2BAA2B,EAC3B,IAAI,CAAC,SAAS,CACf,CAAC;QAEF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,cAAc,EAAE,UAAU;gBAC1B,eAAe,EAAE;oBACf,+BAA+B,EAAE,oBAAoB;oBACrD,oBAAoB,EAAE,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;iBAC9D;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,IAAI,kBAAkB,CAAC;YAC3D,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,eAAe,EAAE;oBACf,cAAc,EAAE,kBAAkB;iBACnC;gBACD,YAAY,EAAE;oBACZ,WAAW;oBACX,KAAK;oBACL,YAAY,EACV,aAAa,EAAE,gBAAgB,IAAI,UAAU,CAAC,YAAY;oBAC5D,cAAc,EAAE,UAAU,CAAC,cAAc;oBACzC,OAAO,EAAE,mBAAmB;iBAC7B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,GAAG;YACX,eAAe,EAAE;gBACf,cAAc,EAAE,kBAAkB;aACnC;YACD,YAAY,EAAE;gBACZ,WAAW;gBACX,KAAK,EAAE,kBAAkB;gBACzB,YAAY,EACV,aAAa,EAAE,gBAAgB;oBAC/B,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtD,OAAO,EAAE,mBAAmB;aAC7B;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/dist/esm/x402/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/x402/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/x402/types.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAYpB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AA8F7B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC;IACzC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAClB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CAClB,CAAC,CAAC"}
|
|
@@ -37,7 +37,6 @@ import { x402Version, } from "./types.js";
|
|
|
37
37
|
* routeConfig: {
|
|
38
38
|
* description: "Access to premium API content",
|
|
39
39
|
* mimeType: "application/json",
|
|
40
|
-
* maxTimeoutSeconds: 300,
|
|
41
40
|
* },
|
|
42
41
|
* };
|
|
43
42
|
*
|
|
@@ -63,6 +62,17 @@ import { x402Version, } from "./types.js";
|
|
|
63
62
|
* }
|
|
64
63
|
* ```
|
|
65
64
|
*
|
|
65
|
+
* ### Upto Payment Scheme
|
|
66
|
+
*
|
|
67
|
+
* You can also use the `upto` payment scheme to verify a payment where the final price is dynamically calculated based on the usage.
|
|
68
|
+
*
|
|
69
|
+
* ```ts
|
|
70
|
+
* const result = await verifyPayment({
|
|
71
|
+
* ...paymentArgs,
|
|
72
|
+
* scheme: "upto",
|
|
73
|
+
* price: "$0.10", // max payable amount
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
66
76
|
* @public
|
|
67
77
|
* @beta
|
|
68
78
|
* @x402
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-payment.js","sourceRoot":"","sources":["../../../src/x402/verify-payment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAGL,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB
|
|
1
|
+
{"version":3,"file":"verify-payment.js","sourceRoot":"","sources":["../../../src/x402/verify-payment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAGL,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAiB;IAEjB,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC/C,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IAEtC,MAAM,mBAAmB,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE7D,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvC,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,EAAE,2BAA2B,EAAE,cAAc,EAAE,mBAAmB,EAAE,GACxE,mBAAmB,CAAC;IAEtB,iBAAiB;IACjB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,MAAM,CAC3C,cAAc,EACd,2BAA2B,CAC5B,CAAC;QAEF,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,cAAc;gBACd,2BAA2B;aAC5B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,IAAI,qBAAqB,CAAC;YAClE,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,eAAe,EAAE;oBACf,cAAc,EAAE,kBAAkB;iBACnC;gBACD,YAAY,EAAE;oBACZ,WAAW;oBACX,KAAK,EAAE,KAAK;oBACZ,YAAY,EACV,aAAa,EAAE,kBAAkB,IAAI,YAAY,CAAC,YAAY;oBAChE,cAAc,EAAE,YAAY,CAAC,cAAc;oBAC3C,OAAO,EAAE,mBAAmB;iBAC7B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,GAAG;YACX,eAAe,EAAE;gBACf,cAAc,EAAE,kBAAkB;aACnC;YACD,YAAY,EAAE;gBACZ,WAAW;gBACX,KAAK,EAAE,oBAAoB;gBAC3B,YAAY,EACV,aAAa,EAAE,kBAAkB;oBACjC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtD,OAAO,EAAE,mBAAmB;aAC7B;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|