@cryptonly/x402 0.6.0 → 0.8.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/README.md +3 -1
- package/dist/client.d.ts +2 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -3
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +19 -11
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +39 -23
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +8 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +9 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/public-url.d.ts +36 -0
- package/dist/public-url.d.ts.map +1 -0
- package/dist/public-url.js +120 -0
- package/dist/public-url.js.map +1 -0
- package/dist/route-source.d.ts +6 -3
- package/dist/route-source.d.ts.map +1 -1
- package/dist/route-source.js +34 -18
- package/dist/route-source.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -58,7 +58,7 @@ app.use(
|
|
|
58
58
|
|
|
59
59
|
## Prices in the dashboard, another framework
|
|
60
60
|
|
|
61
|
-
- `fetchX402Config()` and `routesFromConfig()` turn your dashboard prices into stock `@x402/core` routes for any x402 middleware.
|
|
61
|
+
- `fetchX402Config()` and `routesFromConfig()` turn your dashboard prices into stock `@x402/core` routes for any x402 middleware. Each route `accepts` one option per currency the endpoint is priced in.
|
|
62
62
|
- `createX402RouteSource()` adds what the framework packages do on top: one load, a refresh every minute, and the last good routes kept when a refresh fails.
|
|
63
63
|
|
|
64
64
|
```ts
|
|
@@ -76,6 +76,8 @@ await source.ready(); // rejects if the prices can't load
|
|
|
76
76
|
const httpServer = source.current()!.value; // rebuilt only when the prices change
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
+
Behind a proxy that rewrites paths, build it with `createHTTPResourceServer(resourceServer, routes, createPublicRequestMapper({ pathPrefix: '/v1' }))`. It matches routes and builds `resource.url` on the public path. `publicPath` and `publicBaseUrl` are the other options.
|
|
80
|
+
|
|
79
81
|
## Sandbox
|
|
80
82
|
|
|
81
83
|
Pass `sandbox: true` and use a key from your [sandbox account](https://docs.cryptonly.net/guides/sandbox-environment/). The sandbox settles on Base Sepolia (`eip155:84532`) and Solana Devnet.
|
package/dist/client.d.ts
CHANGED
|
@@ -27,7 +27,8 @@ export declare function resolveMerchantApiOrigin(config: Pick<CryptonlyFacilitat
|
|
|
27
27
|
* Cryptonly facilitator client for the x402 protocol.
|
|
28
28
|
*
|
|
29
29
|
* Extends `HTTPFacilitatorClient` from `@x402/core/server`. The API key goes
|
|
30
|
-
* on `/verify`, `/settle
|
|
30
|
+
* on `/verify`, `/settle` and `/supported`. The discovery feed is elsewhere:
|
|
31
|
+
* see `DISCOVERY_FEED_URL`.
|
|
31
32
|
*
|
|
32
33
|
* @example
|
|
33
34
|
* ```ts
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,4DAA4D;AAC5D,MAAM,MAAM,0BAA0B,GAAG;IACvC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,0BAA0B,EAAE,SAAS,GAAG,SAAS,CAAC,GAC9D,MAAM,CAQR;AAMD
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,4DAA4D;AAC5D,MAAM,MAAM,0BAA0B,GAAG;IACvC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,0BAA0B,EAAE,SAAS,GAAG,SAAS,CAAC,GAC9D,MAAM,CAQR;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,0BAA2B,SAAQ,qBAAqB;gBACvD,MAAM,EAAE,0BAA0B;CAc/C"}
|
package/dist/client.js
CHANGED
|
@@ -25,7 +25,8 @@ function resolveFacilitatorUrl(config) {
|
|
|
25
25
|
* Cryptonly facilitator client for the x402 protocol.
|
|
26
26
|
*
|
|
27
27
|
* Extends `HTTPFacilitatorClient` from `@x402/core/server`. The API key goes
|
|
28
|
-
* on `/verify`, `/settle
|
|
28
|
+
* on `/verify`, `/settle` and `/supported`. The discovery feed is elsewhere:
|
|
29
|
+
* see `DISCOVERY_FEED_URL`.
|
|
29
30
|
*
|
|
30
31
|
* @example
|
|
31
32
|
* ```ts
|
|
@@ -51,8 +52,6 @@ class CryptonlyFacilitatorClient extends server_1.HTTPFacilitatorClient {
|
|
|
51
52
|
verify: headers,
|
|
52
53
|
settle: headers,
|
|
53
54
|
supported: headers,
|
|
54
|
-
// `withBazaar(client).extensions.bazaar.listResources()`.
|
|
55
|
-
bazaar: headers,
|
|
56
55
|
}),
|
|
57
56
|
});
|
|
58
57
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AA+BA,4DAUC;AAzCD,8CAA0D;AAC1D,iDAIwB;AAoBxB;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,MAA+D;IAE/D,MAAM,MAAM,GACV,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAC7D,CAAC,CAAC,MAAM,CAAC,OAAO;QAChB,CAAC,CAAC,MAAM,CAAC,OAAO;YACd,CAAC,CAAC,4CAA6B;YAC/B,CAAC,CAAC,oCAAqB,CAAC;IAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAkC;IAC/D,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC;AACpD,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AA+BA,4DAUC;AAzCD,8CAA0D;AAC1D,iDAIwB;AAoBxB;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,MAA+D;IAE/D,MAAM,MAAM,GACV,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAC7D,CAAC,CAAC,MAAM,CAAC,OAAO;QAChB,CAAC,CAAC,MAAM,CAAC,OAAO;YACd,CAAC,CAAC,4CAA6B;YAC/B,CAAC,CAAC,oCAAqB,CAAC;IAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAkC;IAC/D,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,0BAA2B,SAAQ,8BAAqB;IACnE,YAAY,MAAkC;QAC5C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,OAAO,GAAG,EAAE,CAAC,sCAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7D,KAAK,CAAC;YACJ,GAAG,EAAE,qBAAqB,CAAC,MAAM,CAAC;YAClC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC9B,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,OAAO;aACnB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF;AAfD,gEAeC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -33,6 +33,16 @@ export type X402ConfigAsset = {
|
|
|
33
33
|
/** Solana: the facilitator's fee payer; goes into `extra.feePayer`. */
|
|
34
34
|
feePayer?: string;
|
|
35
35
|
};
|
|
36
|
+
/** One price of a dashboard resource: an `accepts` entry of its 402. */
|
|
37
|
+
export type X402ConfigPrice = {
|
|
38
|
+
/** Atomic units. */
|
|
39
|
+
amount: string;
|
|
40
|
+
/** Token contract address or SPL mint. */
|
|
41
|
+
asset: string;
|
|
42
|
+
currencyCode: string;
|
|
43
|
+
/** CAIP-2 network of the asset. */
|
|
44
|
+
network?: Network;
|
|
45
|
+
};
|
|
36
46
|
/** A paid resource configured in the dashboard. */
|
|
37
47
|
export type X402ConfigResource = {
|
|
38
48
|
id: string;
|
|
@@ -42,15 +52,8 @@ export type X402ConfigResource = {
|
|
|
42
52
|
url: string;
|
|
43
53
|
/** Path of {@link url}, the route pattern (`/weather/:city`). */
|
|
44
54
|
path: string;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
amount: string;
|
|
48
|
-
/** Token contract address or SPL mint. */
|
|
49
|
-
asset: string;
|
|
50
|
-
currencyCode: string;
|
|
51
|
-
/** CAIP-2 network of the asset. */
|
|
52
|
-
network?: Network;
|
|
53
|
-
};
|
|
55
|
+
/** One per currency, in the order the 402 offers them; never empty. */
|
|
56
|
+
prices: X402ConfigPrice[];
|
|
54
57
|
scheme: string;
|
|
55
58
|
maxTimeoutSeconds: number;
|
|
56
59
|
description: string | null;
|
|
@@ -147,7 +150,10 @@ export type RoutesFromConfigOptions = {
|
|
|
147
150
|
* Default: loaded when installed. `null` leaves extensions out.
|
|
148
151
|
*/
|
|
149
152
|
extensions?: X402ExtensionsModule | null;
|
|
150
|
-
/**
|
|
153
|
+
/**
|
|
154
|
+
* Called for each resource left out, and for each price left out of a
|
|
155
|
+
* resource that is still served, with the reason.
|
|
156
|
+
*/
|
|
151
157
|
onSkip?: (resource: X402ConfigResource, reason: string) => void;
|
|
152
158
|
};
|
|
153
159
|
/** Route key of a resource: `METHOD /path`, or just `/path` for method `*`. */
|
|
@@ -163,7 +169,9 @@ export declare function isSolanaNetwork(network: string): boolean;
|
|
|
163
169
|
export declare function assertPayableConfig(config: X402Config): void;
|
|
164
170
|
/**
|
|
165
171
|
* Builds stock `@x402/core` routes (for `paymentMiddleware` and
|
|
166
|
-
* `x402HTTPResourceServer`) from the dashboard configuration.
|
|
172
|
+
* `x402HTTPResourceServer`) from the dashboard configuration. Each route
|
|
173
|
+
* `accepts` one option per price, in the dashboard's order; a price the
|
|
174
|
+
* account cannot be paid in is left out, and a resource with none left.
|
|
167
175
|
*
|
|
168
176
|
* Fails closed: an account that cannot be paid throws instead of yielding
|
|
169
177
|
* no routes, since no routes would serve paid endpoints for free.
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAA4B,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGxF;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,WAAW,GAAG,qBAAqB,CAAC;AAE/E,6DAA6D;AAC7D,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2DAA2D;IAC3D,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -113,11 +113,18 @@ function parseX402Config(body) {
|
|
|
113
113
|
if (!isObject(resource) ||
|
|
114
114
|
typeof resource.method !== 'string' ||
|
|
115
115
|
typeof resource.path !== 'string' ||
|
|
116
|
-
!isObject(resource.price) ||
|
|
117
|
-
typeof resource.price.amount !== 'string' ||
|
|
118
|
-
typeof resource.price.asset !== 'string' ||
|
|
119
116
|
typeof resource.scheme !== 'string') {
|
|
120
|
-
throw invalid('a resource lacks `method`, `path
|
|
117
|
+
throw invalid('a resource lacks `method`, `path` or `scheme`');
|
|
118
|
+
}
|
|
119
|
+
if (!Array.isArray(resource.prices) || resource.prices.length === 0) {
|
|
120
|
+
throw invalid(isObject(resource.price)
|
|
121
|
+
? 'a resource has `price`, not `prices`: the API is older than this package'
|
|
122
|
+
: 'a resource lacks `prices`');
|
|
123
|
+
}
|
|
124
|
+
for (const price of resource.prices) {
|
|
125
|
+
if (!isObject(price) || typeof price.amount !== 'string' || typeof price.asset !== 'string') {
|
|
126
|
+
throw invalid('a price lacks `amount` or `asset`');
|
|
127
|
+
}
|
|
121
128
|
}
|
|
122
129
|
}
|
|
123
130
|
return body;
|
|
@@ -205,7 +212,9 @@ function assertPayableConfig(config) {
|
|
|
205
212
|
}
|
|
206
213
|
/**
|
|
207
214
|
* Builds stock `@x402/core` routes (for `paymentMiddleware` and
|
|
208
|
-
* `x402HTTPResourceServer`) from the dashboard configuration.
|
|
215
|
+
* `x402HTTPResourceServer`) from the dashboard configuration. Each route
|
|
216
|
+
* `accepts` one option per price, in the dashboard's order; a price the
|
|
217
|
+
* account cannot be paid in is left out, and a resource with none left.
|
|
209
218
|
*
|
|
210
219
|
* Fails closed: an account that cannot be paid throws instead of yielding
|
|
211
220
|
* no routes, since no routes would serve paid endpoints for free.
|
|
@@ -222,27 +231,34 @@ function routesFromConfig(config, options = {}) {
|
|
|
222
231
|
skip(resource, `scheme "${resource.scheme}" is not registered`);
|
|
223
232
|
continue;
|
|
224
233
|
}
|
|
225
|
-
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
234
|
+
// One `accepts` entry per price the account can be paid in.
|
|
235
|
+
const priced = resource.prices.flatMap((price) => {
|
|
236
|
+
const network = price.network ?? config.network;
|
|
237
|
+
const asset = config.assets.find((candidate) => (candidate.network ?? config.network) === network &&
|
|
238
|
+
sameAsset(network, candidate.address, price.asset));
|
|
239
|
+
if (!asset) {
|
|
240
|
+
skip(resource, `${price.currencyCode}: asset ${price.asset} is not accepted`);
|
|
241
|
+
return [];
|
|
242
|
+
}
|
|
243
|
+
const payTo = asset.network ? asset.payTo : config.payTo.address;
|
|
244
|
+
if (!payTo) {
|
|
245
|
+
skip(resource, `${price.currencyCode}: no payTo on ${network}; set one in the dashboard`);
|
|
246
|
+
return [];
|
|
247
|
+
}
|
|
248
|
+
return [{ price, network, asset, payTo }];
|
|
249
|
+
});
|
|
250
|
+
if (priced.length === 0)
|
|
235
251
|
continue;
|
|
236
|
-
}
|
|
237
252
|
const key = routeKey(resource);
|
|
238
253
|
if (routes[key]) {
|
|
239
254
|
skip(resource, `duplicate route "${key}"`);
|
|
240
255
|
continue;
|
|
241
256
|
}
|
|
242
|
-
const
|
|
257
|
+
const isPermit2Only = (asset) => asset.methods.includes('permit2') && !asset.methods.includes('eip3009');
|
|
243
258
|
const method = resource.method.trim().toUpperCase();
|
|
244
259
|
const routeExtensions = {};
|
|
245
|
-
if (
|
|
260
|
+
if (priced.some(({ asset }) => isPermit2Only(asset)) &&
|
|
261
|
+
extensions?.declareEip2612GasSponsoringExtension) {
|
|
246
262
|
// A buyer without a Permit2 approval signs an EIP-2612 permit too.
|
|
247
263
|
Object.assign(routeExtensions, extensions.declareEip2612GasSponsoringExtension());
|
|
248
264
|
}
|
|
@@ -253,23 +269,23 @@ function routesFromConfig(config, options = {}) {
|
|
|
253
269
|
}), resource.outputSchema));
|
|
254
270
|
}
|
|
255
271
|
routes[key] = {
|
|
256
|
-
accepts: {
|
|
272
|
+
accepts: priced.map(({ price, network, asset, payTo }) => ({
|
|
257
273
|
scheme: resource.scheme,
|
|
258
274
|
network: network,
|
|
259
275
|
payTo,
|
|
260
276
|
price: {
|
|
261
|
-
asset:
|
|
262
|
-
amount:
|
|
277
|
+
asset: price.asset,
|
|
278
|
+
amount: price.amount,
|
|
263
279
|
extra: isSolanaNetwork(network)
|
|
264
280
|
? { ...(asset.feePayer ? { feePayer: asset.feePayer } : {}) }
|
|
265
281
|
: {
|
|
266
282
|
name: asset.eip712?.name,
|
|
267
283
|
version: asset.eip712?.version,
|
|
268
|
-
...(
|
|
284
|
+
...(isPermit2Only(asset) ? { assetTransferMethod: 'permit2' } : {}),
|
|
269
285
|
},
|
|
270
286
|
},
|
|
271
287
|
maxTimeoutSeconds: resource.maxTimeoutSeconds,
|
|
272
|
-
},
|
|
288
|
+
})),
|
|
273
289
|
...(resource.description ? { description: resource.description } : {}),
|
|
274
290
|
...(resource.mimeType ? { mimeType: resource.mimeType } : {}),
|
|
275
291
|
...(resource.discoverable && config.account.name ? { serviceName: config.account.name } : {}),
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
export declare const MERCHANT_API_BASE_URL: "https://api-merchant.cryptonly.net";
|
|
3
3
|
/** Origin for the sandbox merchant API. */
|
|
4
4
|
export declare const SANDBOX_MERCHANT_API_BASE_URL: "https://sandbox-api-merchant.cryptonly.net";
|
|
5
|
+
/**
|
|
6
|
+
* The public x402 discovery (Bazaar) feed, as a facilitator URL for
|
|
7
|
+
* `withBazaar(new HTTPFacilitatorClient({ url: DISCOVERY_FEED_URL }))`. It is
|
|
8
|
+
* on the public API host, not the merchant API, and needs no key.
|
|
9
|
+
*/
|
|
10
|
+
export declare const DISCOVERY_FEED_URL: "https://api.cryptonly.net/x402";
|
|
11
|
+
/** The sandbox discovery feed. */
|
|
12
|
+
export declare const SANDBOX_DISCOVERY_FEED_URL: "https://sandbox-api.cryptonly.net/x402";
|
|
5
13
|
/** Header that carries the merchant (tenant) API key. */
|
|
6
14
|
export declare const MERCHANT_API_KEY_HEADER: "x-tenant-api-key";
|
|
7
15
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,EAAG,oCAA6C,CAAC;AAEnF,2CAA2C;AAC3C,eAAO,MAAM,6BAA6B,EACxC,4CAAqD,CAAC;AAExD,yDAAyD;AACzD,eAAO,MAAM,uBAAuB,EAAG,kBAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,EAAG,oCAA6C,CAAC;AAEnF,2CAA2C;AAC3C,eAAO,MAAM,6BAA6B,EACxC,4CAAqD,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAG,gCAAyC,CAAC;AAE5E,kCAAkC;AAClC,eAAO,MAAM,0BAA0B,EAAG,wCAAiD,CAAC;AAE5F,yDAAyD;AACzD,eAAO,MAAM,uBAAuB,EAAG,kBAA2B,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MERCHANT_API_KEY_HEADER = exports.SANDBOX_MERCHANT_API_BASE_URL = exports.MERCHANT_API_BASE_URL = void 0;
|
|
3
|
+
exports.MERCHANT_API_KEY_HEADER = exports.SANDBOX_DISCOVERY_FEED_URL = exports.DISCOVERY_FEED_URL = exports.SANDBOX_MERCHANT_API_BASE_URL = exports.MERCHANT_API_BASE_URL = void 0;
|
|
4
4
|
/** Default origin for the merchant API (no path; no trailing slash). */
|
|
5
5
|
exports.MERCHANT_API_BASE_URL = 'https://api-merchant.cryptonly.net';
|
|
6
6
|
/** Origin for the sandbox merchant API. */
|
|
7
7
|
exports.SANDBOX_MERCHANT_API_BASE_URL = 'https://sandbox-api-merchant.cryptonly.net';
|
|
8
|
+
/**
|
|
9
|
+
* The public x402 discovery (Bazaar) feed, as a facilitator URL for
|
|
10
|
+
* `withBazaar(new HTTPFacilitatorClient({ url: DISCOVERY_FEED_URL }))`. It is
|
|
11
|
+
* on the public API host, not the merchant API, and needs no key.
|
|
12
|
+
*/
|
|
13
|
+
exports.DISCOVERY_FEED_URL = 'https://api.cryptonly.net/x402';
|
|
14
|
+
/** The sandbox discovery feed. */
|
|
15
|
+
exports.SANDBOX_DISCOVERY_FEED_URL = 'https://sandbox-api.cryptonly.net/x402';
|
|
8
16
|
/** Header that carries the merchant (tenant) API key. */
|
|
9
17
|
exports.MERCHANT_API_KEY_HEADER = 'x-tenant-api-key';
|
|
10
18
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,wEAAwE;AAC3D,QAAA,qBAAqB,GAAG,oCAA6C,CAAC;AAEnF,2CAA2C;AAC9B,QAAA,6BAA6B,GACxC,4CAAqD,CAAC;AAExD,yDAAyD;AAC5C,QAAA,uBAAuB,GAAG,kBAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,wEAAwE;AAC3D,QAAA,qBAAqB,GAAG,oCAA6C,CAAC;AAEnF,2CAA2C;AAC9B,QAAA,6BAA6B,GACxC,4CAAqD,CAAC;AAExD;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,gCAAyC,CAAC;AAE5E,kCAAkC;AACrB,QAAA,0BAA0B,GAAG,wCAAiD,CAAC;AAE5F,yDAAyD;AAC5C,QAAA,uBAAuB,GAAG,kBAA2B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export { CryptonlyFacilitatorClient, resolveMerchantApiOrigin, } from './client.js';
|
|
2
2
|
export type { CryptonlyFacilitatorConfig } from './client.js';
|
|
3
3
|
export { X402ConfigError, assertPayableConfig, fetchX402Config, isSolanaNetwork, loadX402Extensions, parseX402Config, routeKey, routesFromConfig, } from './config.js';
|
|
4
|
-
export type { FetchX402ConfigOptions, RoutesFromConfigOptions, X402AccountStatus, X402Config, X402ConfigAsset, X402ConfigErrorCode, X402ConfigResource, X402ExtensionsModule, } from './config.js';
|
|
5
|
-
export { MERCHANT_API_BASE_URL, MERCHANT_API_KEY_HEADER, SANDBOX_MERCHANT_API_BASE_URL, } from './constants.js';
|
|
6
|
-
export {
|
|
4
|
+
export type { FetchX402ConfigOptions, RoutesFromConfigOptions, X402AccountStatus, X402Config, X402ConfigAsset, X402ConfigErrorCode, X402ConfigPrice, X402ConfigResource, X402ExtensionsModule, } from './config.js';
|
|
5
|
+
export { DISCOVERY_FEED_URL, MERCHANT_API_BASE_URL, MERCHANT_API_KEY_HEADER, SANDBOX_DISCOVERY_FEED_URL, SANDBOX_MERCHANT_API_BASE_URL, } from './constants.js';
|
|
6
|
+
export { createHTTPResourceServer, createPublicRequestMapper } from './public-url.js';
|
|
7
|
+
export type { X402PublicRequestMapper, X402PublicUrlOptions } from './public-url.js';
|
|
8
|
+
export { X402_CONFIG_UNAVAILABLE, X402_LOG_PREFIX, createResourceServer, createX402RouteSource, defaultEvmSchemes, defaultSvmSchemes, describeError, evmNetworksOf, solanaNetworksOf, } from './route-source.js';
|
|
7
9
|
export type { X402Logger, X402RouteSet, X402RouteSetBuilder, X402RouteSource, X402RouteSourceOptions, } from './route-source.js';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACtF,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.solanaNetworksOf = exports.describeError = exports.defaultSvmSchemes = exports.defaultEvmSchemes = exports.createX402RouteSource = exports.createResourceServer = exports.X402_LOG_PREFIX = exports.X402_CONFIG_UNAVAILABLE = exports.SANDBOX_MERCHANT_API_BASE_URL = exports.MERCHANT_API_KEY_HEADER = exports.MERCHANT_API_BASE_URL = exports.routesFromConfig = exports.routeKey = exports.parseX402Config = exports.loadX402Extensions = exports.isSolanaNetwork = exports.fetchX402Config = exports.assertPayableConfig = exports.X402ConfigError = exports.resolveMerchantApiOrigin = exports.CryptonlyFacilitatorClient = void 0;
|
|
3
|
+
exports.solanaNetworksOf = exports.evmNetworksOf = exports.describeError = exports.defaultSvmSchemes = exports.defaultEvmSchemes = exports.createX402RouteSource = exports.createResourceServer = exports.X402_LOG_PREFIX = exports.X402_CONFIG_UNAVAILABLE = exports.createPublicRequestMapper = exports.createHTTPResourceServer = exports.SANDBOX_MERCHANT_API_BASE_URL = exports.SANDBOX_DISCOVERY_FEED_URL = exports.MERCHANT_API_KEY_HEADER = exports.MERCHANT_API_BASE_URL = exports.DISCOVERY_FEED_URL = exports.routesFromConfig = exports.routeKey = exports.parseX402Config = exports.loadX402Extensions = exports.isSolanaNetwork = exports.fetchX402Config = exports.assertPayableConfig = exports.X402ConfigError = exports.resolveMerchantApiOrigin = exports.CryptonlyFacilitatorClient = void 0;
|
|
4
4
|
var client_js_1 = require("./client.js");
|
|
5
5
|
Object.defineProperty(exports, "CryptonlyFacilitatorClient", { enumerable: true, get: function () { return client_js_1.CryptonlyFacilitatorClient; } });
|
|
6
6
|
Object.defineProperty(exports, "resolveMerchantApiOrigin", { enumerable: true, get: function () { return client_js_1.resolveMerchantApiOrigin; } });
|
|
@@ -14,9 +14,14 @@ Object.defineProperty(exports, "parseX402Config", { enumerable: true, get: funct
|
|
|
14
14
|
Object.defineProperty(exports, "routeKey", { enumerable: true, get: function () { return config_js_1.routeKey; } });
|
|
15
15
|
Object.defineProperty(exports, "routesFromConfig", { enumerable: true, get: function () { return config_js_1.routesFromConfig; } });
|
|
16
16
|
var constants_js_1 = require("./constants.js");
|
|
17
|
+
Object.defineProperty(exports, "DISCOVERY_FEED_URL", { enumerable: true, get: function () { return constants_js_1.DISCOVERY_FEED_URL; } });
|
|
17
18
|
Object.defineProperty(exports, "MERCHANT_API_BASE_URL", { enumerable: true, get: function () { return constants_js_1.MERCHANT_API_BASE_URL; } });
|
|
18
19
|
Object.defineProperty(exports, "MERCHANT_API_KEY_HEADER", { enumerable: true, get: function () { return constants_js_1.MERCHANT_API_KEY_HEADER; } });
|
|
20
|
+
Object.defineProperty(exports, "SANDBOX_DISCOVERY_FEED_URL", { enumerable: true, get: function () { return constants_js_1.SANDBOX_DISCOVERY_FEED_URL; } });
|
|
19
21
|
Object.defineProperty(exports, "SANDBOX_MERCHANT_API_BASE_URL", { enumerable: true, get: function () { return constants_js_1.SANDBOX_MERCHANT_API_BASE_URL; } });
|
|
22
|
+
var public_url_js_1 = require("./public-url.js");
|
|
23
|
+
Object.defineProperty(exports, "createHTTPResourceServer", { enumerable: true, get: function () { return public_url_js_1.createHTTPResourceServer; } });
|
|
24
|
+
Object.defineProperty(exports, "createPublicRequestMapper", { enumerable: true, get: function () { return public_url_js_1.createPublicRequestMapper; } });
|
|
20
25
|
var route_source_js_1 = require("./route-source.js");
|
|
21
26
|
Object.defineProperty(exports, "X402_CONFIG_UNAVAILABLE", { enumerable: true, get: function () { return route_source_js_1.X402_CONFIG_UNAVAILABLE; } });
|
|
22
27
|
Object.defineProperty(exports, "X402_LOG_PREFIX", { enumerable: true, get: function () { return route_source_js_1.X402_LOG_PREFIX; } });
|
|
@@ -25,5 +30,6 @@ Object.defineProperty(exports, "createX402RouteSource", { enumerable: true, get:
|
|
|
25
30
|
Object.defineProperty(exports, "defaultEvmSchemes", { enumerable: true, get: function () { return route_source_js_1.defaultEvmSchemes; } });
|
|
26
31
|
Object.defineProperty(exports, "defaultSvmSchemes", { enumerable: true, get: function () { return route_source_js_1.defaultSvmSchemes; } });
|
|
27
32
|
Object.defineProperty(exports, "describeError", { enumerable: true, get: function () { return route_source_js_1.describeError; } });
|
|
33
|
+
Object.defineProperty(exports, "evmNetworksOf", { enumerable: true, get: function () { return route_source_js_1.evmNetworksOf; } });
|
|
28
34
|
Object.defineProperty(exports, "solanaNetworksOf", { enumerable: true, get: function () { return route_source_js_1.solanaNetworksOf; } });
|
|
29
35
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAGqB;AAFnB,uHAAA,0BAA0B,OAAA;AAC1B,qHAAA,wBAAwB,OAAA;AAG1B,yCASqB;AARnB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,4GAAA,eAAe,OAAA;AACf,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,4GAAA,eAAe,OAAA;AACf,qGAAA,QAAQ,OAAA;AACR,6GAAA,gBAAgB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAGqB;AAFnB,uHAAA,0BAA0B,OAAA;AAC1B,qHAAA,wBAAwB,OAAA;AAG1B,yCASqB;AARnB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,4GAAA,eAAe,OAAA;AACf,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,4GAAA,eAAe,OAAA;AACf,qGAAA,QAAQ,OAAA;AACR,6GAAA,gBAAgB,OAAA;AAalB,+CAMwB;AALtB,kHAAA,kBAAkB,OAAA;AAClB,qHAAA,qBAAqB,OAAA;AACrB,uHAAA,uBAAuB,OAAA;AACvB,0HAAA,0BAA0B,OAAA;AAC1B,6HAAA,6BAA6B,OAAA;AAE/B,iDAAsF;AAA7E,yHAAA,wBAAwB,OAAA;AAAE,0HAAA,yBAAyB,OAAA;AAE5D,qDAU2B;AATzB,0HAAA,uBAAuB,OAAA;AACvB,kHAAA,eAAe,OAAA;AACf,uHAAA,oBAAoB,OAAA;AACpB,wHAAA,qBAAqB,OAAA;AACrB,oHAAA,iBAAiB,OAAA;AACjB,oHAAA,iBAAiB,OAAA;AACjB,gHAAA,aAAa,OAAA;AACb,gHAAA,aAAa,OAAA;AACb,mHAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { x402HTTPResourceServer, type HTTPAdapter, type HTTPRequestContext, type RoutesConfig, type x402ResourceServer } from '@x402/core/server';
|
|
2
|
+
/**
|
|
3
|
+
* Where the app sits behind a reverse proxy that rewrites its URLs. Dashboard
|
|
4
|
+
* prices are keyed by the public path, so the path the app sees is mapped to
|
|
5
|
+
* it before matching.
|
|
6
|
+
*/
|
|
7
|
+
export type X402PublicUrlOptions = {
|
|
8
|
+
/**
|
|
9
|
+
* Prefix the proxy strips before the request reaches the app: the public
|
|
10
|
+
* path is `pathPrefix` + the app's path. `/v1` when the proxy serves the
|
|
11
|
+
* public `/v1/weather` from the app's `/weather`.
|
|
12
|
+
*/
|
|
13
|
+
pathPrefix?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Maps the path the app sees to the public path, for other rewrites. A
|
|
16
|
+
* proxy that adds `/internal`: `(path) => path.replace(/^\/internal/, '')`.
|
|
17
|
+
* Not together with `pathPrefix`.
|
|
18
|
+
*/
|
|
19
|
+
publicPath?: (path: string, request: HTTPAdapter) => string;
|
|
20
|
+
/**
|
|
21
|
+
* Public origin buyers call (`https://api.example.com`). The 402's
|
|
22
|
+
* `resource.url` is built from it, else from the request's own host and
|
|
23
|
+
* protocol.
|
|
24
|
+
*/
|
|
25
|
+
publicBaseUrl?: string;
|
|
26
|
+
};
|
|
27
|
+
/** Maps a request context to its public path and URL. Mapping twice is a no-op. */
|
|
28
|
+
export type X402PublicRequestMapper = (context: HTTPRequestContext) => HTTPRequestContext;
|
|
29
|
+
/**
|
|
30
|
+
* The mapper for `options`, or `undefined` when the app is served at its
|
|
31
|
+
* public URL. Throws on invalid options, so call it at startup.
|
|
32
|
+
*/
|
|
33
|
+
export declare function createPublicRequestMapper(options: X402PublicUrlOptions): X402PublicRequestMapper | undefined;
|
|
34
|
+
/** An `x402HTTPResourceServer` for `routes`, on the public URL when `toPublic` is given. */
|
|
35
|
+
export declare function createHTTPResourceServer(resourceServer: x402ResourceServer, routes: RoutesConfig, toPublic?: X402PublicRequestMapper): x402HTTPResourceServer;
|
|
36
|
+
//# sourceMappingURL=public-url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-url.d.ts","sourceRoot":"","sources":["../src/public-url.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EAGvB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AAE3B;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC;IAC5D;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,mFAAmF;AACnF,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;AAI1F;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,oBAAoB,GAC5B,uBAAuB,GAAG,SAAS,CAiCrC;AA0CD,4FAA4F;AAC5F,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,kBAAkB,EAClC,MAAM,EAAE,YAAY,EACpB,QAAQ,CAAC,EAAE,uBAAuB,GACjC,sBAAsB,CAIxB"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createPublicRequestMapper = createPublicRequestMapper;
|
|
4
|
+
exports.createHTTPResourceServer = createHTTPResourceServer;
|
|
5
|
+
const server_1 = require("@x402/core/server");
|
|
6
|
+
const MAPPED = Symbol('cryptonly.x402.publicRequest');
|
|
7
|
+
/**
|
|
8
|
+
* The mapper for `options`, or `undefined` when the app is served at its
|
|
9
|
+
* public URL. Throws on invalid options, so call it at startup.
|
|
10
|
+
*/
|
|
11
|
+
function createPublicRequestMapper(options) {
|
|
12
|
+
const { pathPrefix, publicPath, publicBaseUrl } = options;
|
|
13
|
+
if (pathPrefix !== undefined && publicPath) {
|
|
14
|
+
throw new Error('[@cryptonly/x402] set either `pathPrefix` or `publicPath`, not both');
|
|
15
|
+
}
|
|
16
|
+
const prefix = pathPrefix === undefined ? undefined : normalizePrefix(pathPrefix);
|
|
17
|
+
const origin = publicBaseUrl === undefined ? undefined : originOf(publicBaseUrl);
|
|
18
|
+
if (!prefix && !publicPath && !origin)
|
|
19
|
+
return undefined;
|
|
20
|
+
const toPublic = (path, adapter) => {
|
|
21
|
+
if (prefix)
|
|
22
|
+
return path === '/' ? prefix : `${prefix}${path}`;
|
|
23
|
+
if (!publicPath)
|
|
24
|
+
return path;
|
|
25
|
+
const mapped = publicPath(path, adapter);
|
|
26
|
+
return mapped.startsWith('/') ? mapped : `/${mapped}`;
|
|
27
|
+
};
|
|
28
|
+
return (context) => {
|
|
29
|
+
if (context[MAPPED])
|
|
30
|
+
return context;
|
|
31
|
+
const inner = context.adapter;
|
|
32
|
+
const path = toPublic(context.path, inner);
|
|
33
|
+
const adapter = withPublicUrl(inner, path, origin);
|
|
34
|
+
return Object.assign({
|
|
35
|
+
...context,
|
|
36
|
+
adapter,
|
|
37
|
+
path,
|
|
38
|
+
...(context.decodedPath === undefined
|
|
39
|
+
? {}
|
|
40
|
+
: { decodedPath: toPublic(context.decodedPath, inner) }),
|
|
41
|
+
}, { [MAPPED]: true });
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* An `x402HTTPResourceServer` that matches routes and builds `resource.url`
|
|
46
|
+
* on the public URL. For middleware that builds the request context itself
|
|
47
|
+
* (the stock Express and Fastify ones).
|
|
48
|
+
*/
|
|
49
|
+
class PublicUrlHTTPResourceServer extends server_1.x402HTTPResourceServer {
|
|
50
|
+
toPublic;
|
|
51
|
+
constructor(resourceServer, routes, toPublic) {
|
|
52
|
+
super(resourceServer, routes);
|
|
53
|
+
this.toPublic = toPublic;
|
|
54
|
+
}
|
|
55
|
+
requiresPayment(context) {
|
|
56
|
+
return super.requiresPayment(this.toPublic(context));
|
|
57
|
+
}
|
|
58
|
+
processHTTPRequest(context, paywallConfig) {
|
|
59
|
+
return super.processHTTPRequest(this.toPublic(context), paywallConfig);
|
|
60
|
+
}
|
|
61
|
+
processSettlement(...args) {
|
|
62
|
+
const [payload, requirements, extensions, transport, ...rest] = args;
|
|
63
|
+
return super.processSettlement(payload, requirements, extensions, transport && this.publicTransport(transport), ...rest);
|
|
64
|
+
}
|
|
65
|
+
publicTransport(transport) {
|
|
66
|
+
return { ...transport, request: this.toPublic(transport.request) };
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/** An `x402HTTPResourceServer` for `routes`, on the public URL when `toPublic` is given. */
|
|
70
|
+
function createHTTPResourceServer(resourceServer, routes, toPublic) {
|
|
71
|
+
return toPublic
|
|
72
|
+
? new PublicUrlHTTPResourceServer(resourceServer, routes, toPublic)
|
|
73
|
+
: new server_1.x402HTTPResourceServer(resourceServer, routes);
|
|
74
|
+
}
|
|
75
|
+
function normalizePrefix(prefix) {
|
|
76
|
+
if (!prefix.startsWith('/') || /[?#]/.test(prefix)) {
|
|
77
|
+
throw new Error(`[@cryptonly/x402] pathPrefix must be a path like "/v1", got "${prefix}"`);
|
|
78
|
+
}
|
|
79
|
+
const trimmed = prefix.replace(/\/+$/, '');
|
|
80
|
+
return trimmed === '' ? undefined : trimmed;
|
|
81
|
+
}
|
|
82
|
+
function originOf(baseUrl) {
|
|
83
|
+
let url;
|
|
84
|
+
try {
|
|
85
|
+
url = new URL(baseUrl);
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
throw new Error(`[@cryptonly/x402] publicBaseUrl must be an absolute URL, got "${baseUrl}"`);
|
|
89
|
+
}
|
|
90
|
+
if (!/^https?:$/.test(url.protocol) || url.pathname !== '/' || url.search || url.hash) {
|
|
91
|
+
throw new Error(`[@cryptonly/x402] publicBaseUrl must be an http(s) origin like "https://api.example.com" ` +
|
|
92
|
+
`(put a path in pathPrefix), got "${baseUrl}"`);
|
|
93
|
+
}
|
|
94
|
+
return url.origin;
|
|
95
|
+
}
|
|
96
|
+
/** `inner`, answering with the public path and URL. */
|
|
97
|
+
function withPublicUrl(inner, path, origin) {
|
|
98
|
+
const getUrl = () => {
|
|
99
|
+
const own = inner.getUrl();
|
|
100
|
+
let url;
|
|
101
|
+
try {
|
|
102
|
+
url = new URL(own);
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return origin ? `${origin}${path}` : own;
|
|
106
|
+
}
|
|
107
|
+
return `${origin ?? url.origin}${path}${url.search}`;
|
|
108
|
+
};
|
|
109
|
+
return new Proxy(inner, {
|
|
110
|
+
get(target, property, receiver) {
|
|
111
|
+
if (property === 'getPath')
|
|
112
|
+
return () => path;
|
|
113
|
+
if (property === 'getUrl')
|
|
114
|
+
return getUrl;
|
|
115
|
+
const value = Reflect.get(target, property, receiver);
|
|
116
|
+
return typeof value === 'function' ? value.bind(target) : value;
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=public-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-url.js","sourceRoot":"","sources":["../src/public-url.ts"],"names":[],"mappings":"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"}
|
package/dist/route-source.d.ts
CHANGED
|
@@ -2,10 +2,11 @@ import { x402ResourceServer, type RoutesConfig } from '@x402/core/server';
|
|
|
2
2
|
import type { SchemeNetworkServer } from '@x402/core/types';
|
|
3
3
|
import { CryptonlyFacilitatorClient, type CryptonlyFacilitatorConfig } from './client.js';
|
|
4
4
|
import { type X402Config, type X402ExtensionsModule } from './config.js';
|
|
5
|
+
import type { X402PublicUrlOptions } from './public-url.js';
|
|
5
6
|
/** Logger used for refresh failures and skipped resources. */
|
|
6
7
|
export type X402Logger = Pick<Console, 'info' | 'warn' | 'error'>;
|
|
7
8
|
/** Options shared by every framework adapter. */
|
|
8
|
-
export type X402RouteSourceOptions = CryptonlyFacilitatorConfig & {
|
|
9
|
+
export type X402RouteSourceOptions = CryptonlyFacilitatorConfig & X402PublicUrlOptions & {
|
|
9
10
|
/**
|
|
10
11
|
* How often to reload `GET /x402/config`. Defaults to 60 s; `0` turns
|
|
11
12
|
* refreshing off.
|
|
@@ -87,13 +88,15 @@ export declare const X402_LOG_PREFIX = "[@cryptonly/x402]";
|
|
|
87
88
|
export declare function createX402RouteSource<T>(options: X402RouteSourceOptions, build: X402RouteSetBuilder<T>): X402RouteSource<T>;
|
|
88
89
|
/**
|
|
89
90
|
* A fresh `x402ResourceServer` on the facilitator, with the EVM schemes
|
|
90
|
-
* registered on the account's
|
|
91
|
-
* Solana networks.
|
|
91
|
+
* registered on each of the account's EVM networks and the SVM schemes on
|
|
92
|
+
* each of its Solana networks.
|
|
92
93
|
*
|
|
93
94
|
* Build one per route set: `initialize()` on a shared one would clear its
|
|
94
95
|
* facilitator data under requests still in flight.
|
|
95
96
|
*/
|
|
96
97
|
export declare function createResourceServer(config: X402Config, facilitator: CryptonlyFacilitatorClient, schemes: readonly SchemeNetworkServer[], svmSchemes: readonly SchemeNetworkServer[]): x402ResourceServer;
|
|
98
|
+
/** The EVM networks an account accepts payments on; Base first. */
|
|
99
|
+
export declare function evmNetworksOf(config: X402Config): X402Config['network'][];
|
|
97
100
|
/** The Solana networks an account accepts payments on. */
|
|
98
101
|
export declare function solanaNetworksOf(config: X402Config): X402Config['network'][];
|
|
99
102
|
/** `[new ExactEvmScheme()]` from `@x402/evm`. Throws when it is not installed. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-source.d.ts","sourceRoot":"","sources":["../src/route-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"route-source.d.ts","sourceRoot":"","sources":["../src/route-source.ts"],"names":[],"mappings":"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"}
|
package/dist/route-source.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.X402_LOG_PREFIX = exports.X402_CONFIG_UNAVAILABLE = void 0;
|
|
4
4
|
exports.createX402RouteSource = createX402RouteSource;
|
|
5
5
|
exports.createResourceServer = createResourceServer;
|
|
6
|
+
exports.evmNetworksOf = evmNetworksOf;
|
|
6
7
|
exports.solanaNetworksOf = solanaNetworksOf;
|
|
7
8
|
exports.defaultEvmSchemes = defaultEvmSchemes;
|
|
8
9
|
exports.defaultSvmSchemes = defaultSvmSchemes;
|
|
@@ -58,13 +59,20 @@ function createX402RouteSource(options, build) {
|
|
|
58
59
|
...(options.extensions !== undefined ? { extensions: options.extensions } : {}),
|
|
59
60
|
onSkip: (resource, reason) => skipped.push(`${resource.method} ${resource.path}: ${reason}`),
|
|
60
61
|
});
|
|
62
|
+
// Every option must have one: core refuses the whole server otherwise.
|
|
61
63
|
for (const [key, route] of Object.entries(routes)) {
|
|
62
|
-
const
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
const options = Array.isArray(route.accepts) ? route.accepts : [route.accepts];
|
|
65
|
+
const servable = options.filter((option) => {
|
|
66
|
+
const names = (0, config_js_1.isSolanaNetwork)(option.network) ? svmNames : evmNames;
|
|
67
|
+
if (names.includes(option.scheme))
|
|
68
|
+
return true;
|
|
69
|
+
skipped.push(`${key}: no ${option.scheme} scheme for ${option.network}`);
|
|
70
|
+
return false;
|
|
71
|
+
});
|
|
72
|
+
if (servable.length === 0)
|
|
66
73
|
delete routes[key];
|
|
67
|
-
|
|
74
|
+
else
|
|
75
|
+
route.accepts = servable;
|
|
68
76
|
}
|
|
69
77
|
const key = JSON.stringify([config.network, routes]);
|
|
70
78
|
if (current?.key === key)
|
|
@@ -142,16 +150,18 @@ function createX402RouteSource(options, build) {
|
|
|
142
150
|
}
|
|
143
151
|
/**
|
|
144
152
|
* A fresh `x402ResourceServer` on the facilitator, with the EVM schemes
|
|
145
|
-
* registered on the account's
|
|
146
|
-
* Solana networks.
|
|
153
|
+
* registered on each of the account's EVM networks and the SVM schemes on
|
|
154
|
+
* each of its Solana networks.
|
|
147
155
|
*
|
|
148
156
|
* Build one per route set: `initialize()` on a shared one would clear its
|
|
149
157
|
* facilitator data under requests still in flight.
|
|
150
158
|
*/
|
|
151
159
|
function createResourceServer(config, facilitator, schemes, svmSchemes) {
|
|
152
160
|
const server = new server_1.x402ResourceServer(facilitator);
|
|
153
|
-
for (const
|
|
154
|
-
|
|
161
|
+
for (const network of evmNetworksOf(config)) {
|
|
162
|
+
for (const scheme of schemes) {
|
|
163
|
+
server.register(network, scheme);
|
|
164
|
+
}
|
|
155
165
|
}
|
|
156
166
|
for (const network of solanaNetworksOf(config)) {
|
|
157
167
|
for (const scheme of svmSchemes) {
|
|
@@ -160,18 +170,24 @@ function createResourceServer(config, facilitator, schemes, svmSchemes) {
|
|
|
160
170
|
}
|
|
161
171
|
return server;
|
|
162
172
|
}
|
|
163
|
-
/**
|
|
164
|
-
function
|
|
165
|
-
const networks = new Set();
|
|
166
|
-
for (const entry of config.networks ?? [])
|
|
167
|
-
|
|
168
|
-
networks.add(entry.network);
|
|
169
|
-
}
|
|
173
|
+
/** Every network the account lists, itself or through an asset. */
|
|
174
|
+
function networksOf(config) {
|
|
175
|
+
const networks = new Set([config.network]);
|
|
176
|
+
for (const entry of config.networks ?? [])
|
|
177
|
+
networks.add(entry.network);
|
|
170
178
|
for (const asset of config.assets) {
|
|
171
|
-
if (asset.network
|
|
179
|
+
if (asset.network)
|
|
172
180
|
networks.add(asset.network);
|
|
173
181
|
}
|
|
174
|
-
return
|
|
182
|
+
return networks;
|
|
183
|
+
}
|
|
184
|
+
/** The EVM networks an account accepts payments on; Base first. */
|
|
185
|
+
function evmNetworksOf(config) {
|
|
186
|
+
return [...networksOf(config)].filter((network) => !(0, config_js_1.isSolanaNetwork)(network));
|
|
187
|
+
}
|
|
188
|
+
/** The Solana networks an account accepts payments on. */
|
|
189
|
+
function solanaNetworksOf(config) {
|
|
190
|
+
return [...networksOf(config)].filter(config_js_1.isSolanaNetwork);
|
|
175
191
|
}
|
|
176
192
|
let evmModule;
|
|
177
193
|
let svmModule;
|
package/dist/route-source.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-source.js","sourceRoot":"","sources":["../src/route-source.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"route-source.js","sourceRoot":"","sources":["../src/route-source.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cryptonly/x402",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Cryptonly x402 facilitator client and dashboard price loader. Framework adapters: @cryptonly/x402-express, @cryptonly/x402-fastify, @cryptonly/x402-nestjs.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"private": false,
|