@cryptonly/x402 0.7.0 → 0.8.1

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 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
package/dist/config.d.ts CHANGED
@@ -21,10 +21,10 @@ export type X402ConfigAsset = {
21
21
  methods: string[];
22
22
  /** Smallest price, in atomic units. */
23
23
  minAmount: string;
24
- /** CAIP-2 network of the asset. Older APIs omit it: {@link X402Config.network}. */
25
- network?: Network;
26
- /** `payTo` on the asset's network. Older APIs omit it: {@link X402Config.payTo}. */
27
- payTo?: string | null;
24
+ /** CAIP-2 network of the asset. */
25
+ network: Network;
26
+ /** `payTo` on the asset's network; `null` until one is set up there. */
27
+ payTo: string | null;
28
28
  /** EVM: EIP-712 domain of the token; goes into `extra`. */
29
29
  eip712?: {
30
30
  name: string;
@@ -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
- price: {
46
- /** Atomic units. */
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;
@@ -77,7 +80,7 @@ export type X402Config = {
77
80
  address: string | null;
78
81
  };
79
82
  /** Every network the account can be paid on, with its `payTo`. */
80
- networks?: Array<{
83
+ networks: Array<{
81
84
  network: Network;
82
85
  payTo: {
83
86
  mode: 'wallet' | 'balance';
@@ -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
- /** Called for each resource left out, with the reason. */
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.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -95,7 +95,7 @@ function parseX402Config(body) {
95
95
  const invalid = (what) => new X402ConfigError('invalid_response', `x402 config: ${what}`);
96
96
  if (!isObject(body))
97
97
  throw invalid('not an object');
98
- const { account, network, payTo, assets, resources } = body;
98
+ const { account, network, payTo, networks, assets, resources } = body;
99
99
  if (!isObject(account) || typeof account.status !== 'string') {
100
100
  throw invalid('`account.status` missing');
101
101
  }
@@ -105,6 +105,8 @@ function parseX402Config(body) {
105
105
  if (!isObject(payTo) || !(payTo.address === null || typeof payTo.address === 'string')) {
106
106
  throw invalid('`payTo` missing');
107
107
  }
108
+ if (!Array.isArray(networks))
109
+ throw invalid('`networks` is not an array');
108
110
  if (!Array.isArray(assets))
109
111
  throw invalid('`assets` is not an array');
110
112
  if (!Array.isArray(resources))
@@ -113,11 +115,19 @@ function parseX402Config(body) {
113
115
  if (!isObject(resource) ||
114
116
  typeof resource.method !== 'string' ||
115
117
  typeof resource.path !== 'string' ||
116
- !isObject(resource.price) ||
117
- typeof resource.price.amount !== 'string' ||
118
- typeof resource.price.asset !== 'string' ||
119
118
  typeof resource.scheme !== 'string') {
120
- throw invalid('a resource lacks `method`, `path`, `price` or `scheme`');
119
+ throw invalid('a resource lacks `method`, `path` or `scheme`');
120
+ }
121
+ if (!Array.isArray(resource.prices) || resource.prices.length === 0) {
122
+ throw invalid('a resource lacks `prices`');
123
+ }
124
+ for (const price of resource.prices) {
125
+ if (!isObject(price) ||
126
+ typeof price.amount !== 'string' ||
127
+ typeof price.asset !== 'string' ||
128
+ typeof price.network !== 'string') {
129
+ throw invalid('a price lacks `amount`, `asset` or `network`');
130
+ }
121
131
  }
122
132
  }
123
133
  return body;
@@ -197,7 +207,7 @@ function assertPayableConfig(config) {
197
207
  throw new X402ConfigError('account_not_active', `x402 account "${config.account.name}" is ${config.account.status}; ` +
198
208
  'see Settings › General in the dashboard');
199
209
  }
200
- const payable = config.payTo.address || (config.networks ?? []).some((network) => network.payTo.address);
210
+ const payable = config.payTo.address || config.networks.some((network) => network.payTo.address);
201
211
  if (!payable) {
202
212
  throw new X402ConfigError('pay_to_missing', `x402 account "${config.account.name}" has no payTo address; ` +
203
213
  'set a payout wallet in the dashboard');
@@ -205,7 +215,9 @@ function assertPayableConfig(config) {
205
215
  }
206
216
  /**
207
217
  * Builds stock `@x402/core` routes (for `paymentMiddleware` and
208
- * `x402HTTPResourceServer`) from the dashboard configuration.
218
+ * `x402HTTPResourceServer`) from the dashboard configuration. Each route
219
+ * `accepts` one option per price, in the dashboard's order; a price the
220
+ * account cannot be paid in is left out, and a resource with none left.
209
221
  *
210
222
  * Fails closed: an account that cannot be paid throws instead of yielding
211
223
  * no routes, since no routes would serve paid endpoints for free.
@@ -222,27 +234,33 @@ function routesFromConfig(config, options = {}) {
222
234
  skip(resource, `scheme "${resource.scheme}" is not registered`);
223
235
  continue;
224
236
  }
225
- const network = resource.price.network ?? config.network;
226
- const asset = config.assets.find((candidate) => (candidate.network ?? config.network) === network &&
227
- sameAsset(network, candidate.address, resource.price.asset));
228
- if (!asset) {
229
- skip(resource, `asset ${resource.price.asset} is not accepted`);
230
- continue;
231
- }
232
- const payTo = asset.network ? asset.payTo : config.payTo.address;
233
- if (!payTo) {
234
- skip(resource, `no payTo on ${network}; set one in the dashboard`);
237
+ // One `accepts` entry per price the account can be paid in.
238
+ const priced = resource.prices.flatMap((price) => {
239
+ const { network } = price;
240
+ const asset = config.assets.find((candidate) => candidate.network === network && sameAsset(network, candidate.address, price.asset));
241
+ if (!asset) {
242
+ skip(resource, `${price.currencyCode}: asset ${price.asset} is not accepted`);
243
+ return [];
244
+ }
245
+ const { payTo } = asset;
246
+ if (!payTo) {
247
+ skip(resource, `${price.currencyCode}: no payTo on ${network}; set one in the dashboard`);
248
+ return [];
249
+ }
250
+ return [{ price, network, asset, payTo }];
251
+ });
252
+ if (priced.length === 0)
235
253
  continue;
236
- }
237
254
  const key = routeKey(resource);
238
255
  if (routes[key]) {
239
256
  skip(resource, `duplicate route "${key}"`);
240
257
  continue;
241
258
  }
242
- const permit2Only = asset.methods.includes('permit2') && !asset.methods.includes('eip3009');
259
+ const isPermit2Only = (asset) => asset.methods.includes('permit2') && !asset.methods.includes('eip3009');
243
260
  const method = resource.method.trim().toUpperCase();
244
261
  const routeExtensions = {};
245
- if (permit2Only && extensions?.declareEip2612GasSponsoringExtension) {
262
+ if (priced.some(({ asset }) => isPermit2Only(asset)) &&
263
+ extensions?.declareEip2612GasSponsoringExtension) {
246
264
  // A buyer without a Permit2 approval signs an EIP-2612 permit too.
247
265
  Object.assign(routeExtensions, extensions.declareEip2612GasSponsoringExtension());
248
266
  }
@@ -253,23 +271,23 @@ function routesFromConfig(config, options = {}) {
253
271
  }), resource.outputSchema));
254
272
  }
255
273
  routes[key] = {
256
- accepts: {
274
+ accepts: priced.map(({ price, network, asset, payTo }) => ({
257
275
  scheme: resource.scheme,
258
276
  network: network,
259
277
  payTo,
260
278
  price: {
261
- asset: resource.price.asset,
262
- amount: resource.price.amount,
279
+ asset: price.asset,
280
+ amount: price.amount,
263
281
  extra: isSolanaNetwork(network)
264
282
  ? { ...(asset.feePayer ? { feePayer: asset.feePayer } : {}) }
265
283
  : {
266
284
  name: asset.eip712?.name,
267
285
  version: asset.eip712?.version,
268
- ...(permit2Only ? { assetTransferMethod: 'permit2' } : {}),
286
+ ...(isPermit2Only(asset) ? { assetTransferMethod: 'permit2' } : {}),
269
287
  },
270
288
  },
271
289
  maxTimeoutSeconds: resource.maxTimeoutSeconds,
272
- },
290
+ })),
273
291
  ...(resource.description ? { description: resource.description } : {}),
274
292
  ...(resource.mimeType ? { mimeType: resource.mimeType } : {}),
275
293
  ...(resource.discoverable && config.account.name ? { serviceName: config.account.name } : {}),
@@ -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/index.d.ts CHANGED
@@ -1,10 +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';
4
+ export type { FetchX402ConfigOptions, RoutesFromConfigOptions, X402AccountStatus, X402Config, X402ConfigAsset, X402ConfigErrorCode, X402ConfigPrice, X402ConfigResource, X402ExtensionsModule, } from './config.js';
5
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
6
  export { createHTTPResourceServer, createPublicRequestMapper } from './public-url.js';
7
7
  export type { X402PublicRequestMapper, X402PublicUrlOptions } from './public-url.js';
8
- export { X402_CONFIG_UNAVAILABLE, X402_LOG_PREFIX, createResourceServer, createX402RouteSource, defaultEvmSchemes, defaultSvmSchemes, describeError, solanaNetworksOf, } from './route-source.js';
8
+ export { X402_CONFIG_UNAVAILABLE, X402_LOG_PREFIX, createResourceServer, createX402RouteSource, defaultEvmSchemes, defaultSvmSchemes, describeError, evmNetworksOf, solanaNetworksOf, } from './route-source.js';
9
9
  export type { X402Logger, X402RouteSet, X402RouteSetBuilder, X402RouteSource, X402RouteSourceOptions, } from './route-source.js';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -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,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,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.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;
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; } });
@@ -30,5 +30,6 @@ Object.defineProperty(exports, "createX402RouteSource", { enumerable: true, get:
30
30
  Object.defineProperty(exports, "defaultEvmSchemes", { enumerable: true, get: function () { return route_source_js_1.defaultEvmSchemes; } });
31
31
  Object.defineProperty(exports, "defaultSvmSchemes", { enumerable: true, get: function () { return route_source_js_1.defaultSvmSchemes; } });
32
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; } });
33
34
  Object.defineProperty(exports, "solanaNetworksOf", { enumerable: true, get: function () { return route_source_js_1.solanaNetworksOf; } });
34
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;AAYlB,+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,qDAS2B;AARzB,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,mHAAA,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"}
@@ -88,13 +88,15 @@ export declare const X402_LOG_PREFIX = "[@cryptonly/x402]";
88
88
  export declare function createX402RouteSource<T>(options: X402RouteSourceOptions, build: X402RouteSetBuilder<T>): X402RouteSource<T>;
89
89
  /**
90
90
  * A fresh `x402ResourceServer` on the facilitator, with the EVM schemes
91
- * registered on the account's network and the SVM schemes on each of its
92
- * Solana networks.
91
+ * registered on each of the account's EVM networks and the SVM schemes on
92
+ * each of its Solana networks.
93
93
  *
94
94
  * Build one per route set: `initialize()` on a shared one would clear its
95
95
  * facilitator data under requests still in flight.
96
96
  */
97
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'][];
98
100
  /** The Solana networks an account accepts payments on. */
99
101
  export declare function solanaNetworksOf(config: X402Config): X402Config['network'][];
100
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":"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"}
1
+ {"version":3,"file":"route-source.d.ts","sourceRoot":"","sources":["../src/route-source.ts"],"names":[],"mappings":"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"}
@@ -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 accepts = Array.isArray(route.accepts) ? route.accepts[0] : route.accepts;
63
- const names = (0, config_js_1.isSolanaNetwork)(accepts.network) ? svmNames : evmNames;
64
- if (!names.includes(accepts.scheme)) {
65
- skipped.push(`${key}: no ${accepts.scheme} scheme for ${accepts.network}`);
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 network and the SVM schemes on each of its
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 scheme of schemes) {
154
- server.register(config.network, scheme);
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,22 @@ function createResourceServer(config, facilitator, schemes, svmSchemes) {
160
170
  }
161
171
  return server;
162
172
  }
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);
178
+ for (const asset of config.assets)
179
+ networks.add(asset.network);
180
+ return networks;
181
+ }
182
+ /** The EVM networks an account accepts payments on; Base first. */
183
+ function evmNetworksOf(config) {
184
+ return [...networksOf(config)].filter((network) => !(0, config_js_1.isSolanaNetwork)(network));
185
+ }
163
186
  /** The Solana networks an account accepts payments on. */
164
187
  function solanaNetworksOf(config) {
165
- const networks = new Set();
166
- for (const entry of config.networks ?? []) {
167
- if ((0, config_js_1.isSolanaNetwork)(entry.network))
168
- networks.add(entry.network);
169
- }
170
- for (const asset of config.assets) {
171
- if (asset.network && (0, config_js_1.isSolanaNetwork)(asset.network))
172
- networks.add(asset.network);
173
- }
174
- return [...networks];
188
+ return [...networksOf(config)].filter(config_js_1.isSolanaNetwork);
175
189
  }
176
190
  let evmModule;
177
191
  let svmModule;
@@ -1 +1 @@
1
- {"version":3,"file":"route-source.js","sourceRoot":"","sources":["../src/route-source.ts"],"names":[],"mappings":"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"}
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.7.0",
3
+ "version": "0.8.1",
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,