@antseed/node 0.2.152 → 0.2.153

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/buyer-identity-context.d.ts +2 -0
  2. package/dist/buyer-identity-context.d.ts.map +1 -1
  3. package/dist/buyer-identity-context.js +1 -0
  4. package/dist/buyer-identity-context.js.map +1 -1
  5. package/dist/discovery/announcer.d.ts +2 -0
  6. package/dist/discovery/announcer.d.ts.map +1 -1
  7. package/dist/discovery/announcer.js +11 -9
  8. package/dist/discovery/announcer.js.map +1 -1
  9. package/dist/index.d.ts +10 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +5 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/metering/index.d.ts +1 -1
  14. package/dist/metering/index.d.ts.map +1 -1
  15. package/dist/metering/index.js.map +1 -1
  16. package/dist/metering/storage.d.ts +66 -6
  17. package/dist/metering/storage.d.ts.map +1 -1
  18. package/dist/metering/storage.js +112 -12
  19. package/dist/metering/storage.js.map +1 -1
  20. package/dist/node.d.ts +30 -0
  21. package/dist/node.d.ts.map +1 -1
  22. package/dist/node.js +93 -2
  23. package/dist/node.js.map +1 -1
  24. package/dist/payments/evm/seller-pools-client.d.ts +9 -0
  25. package/dist/payments/evm/seller-pools-client.d.ts.map +1 -1
  26. package/dist/payments/evm/seller-pools-client.js +23 -0
  27. package/dist/payments/evm/seller-pools-client.js.map +1 -1
  28. package/dist/payments/free-tier-delegation.d.ts +65 -0
  29. package/dist/payments/free-tier-delegation.d.ts.map +1 -0
  30. package/dist/payments/free-tier-delegation.js +145 -0
  31. package/dist/payments/free-tier-delegation.js.map +1 -0
  32. package/dist/payments/free-tier-program.d.ts +97 -0
  33. package/dist/payments/free-tier-program.d.ts.map +1 -0
  34. package/dist/payments/free-tier-program.js +267 -0
  35. package/dist/payments/free-tier-program.js.map +1 -0
  36. package/dist/payments/free-tier-stake-resolver.d.ts +79 -0
  37. package/dist/payments/free-tier-stake-resolver.d.ts.map +1 -0
  38. package/dist/payments/free-tier-stake-resolver.js +152 -0
  39. package/dist/payments/free-tier-stake-resolver.js.map +1 -0
  40. package/dist/payments/free-tier-stake.d.ts +101 -0
  41. package/dist/payments/free-tier-stake.d.ts.map +1 -0
  42. package/dist/payments/free-tier-stake.js +116 -0
  43. package/dist/payments/free-tier-stake.js.map +1 -0
  44. package/dist/payments/index.d.ts +7 -1
  45. package/dist/payments/index.d.ts.map +1 -1
  46. package/dist/payments/index.js +3 -0
  47. package/dist/payments/index.js.map +1 -1
  48. package/dist/payments/seller-free-tier-limiter.d.ts +124 -6
  49. package/dist/payments/seller-free-tier-limiter.d.ts.map +1 -1
  50. package/dist/payments/seller-free-tier-limiter.js +342 -32
  51. package/dist/payments/seller-free-tier-limiter.js.map +1 -1
  52. package/dist/payments/seller-free-usage-manager.d.ts.map +1 -1
  53. package/dist/payments/seller-free-usage-manager.js +5 -1
  54. package/dist/payments/seller-free-usage-manager.js.map +1 -1
  55. package/dist/seller-request-handler.d.ts.map +1 -1
  56. package/dist/seller-request-handler.js +105 -19
  57. package/dist/seller-request-handler.js.map +1 -1
  58. package/dist/storage/migrations/metering/004_add_free_tier_staked_usage.d.ts +3 -0
  59. package/dist/storage/migrations/metering/004_add_free_tier_staked_usage.d.ts.map +1 -0
  60. package/dist/storage/migrations/metering/004_add_free_tier_staked_usage.js +21 -0
  61. package/dist/storage/migrations/metering/004_add_free_tier_staked_usage.js.map +1 -0
  62. package/dist/storage/migrations/metering/005_add_free_tier_scope.d.ts +8 -0
  63. package/dist/storage/migrations/metering/005_add_free_tier_scope.d.ts.map +1 -0
  64. package/dist/storage/migrations/metering/005_add_free_tier_scope.js +23 -0
  65. package/dist/storage/migrations/metering/005_add_free_tier_scope.js.map +1 -0
  66. package/dist/storage/migrations/metering/index.d.ts.map +1 -1
  67. package/dist/storage/migrations/metering/index.js +3 -1
  68. package/dist/storage/migrations/metering/index.js.map +1 -1
  69. package/dist/utils/file-lock.d.ts +12 -0
  70. package/dist/utils/file-lock.d.ts.map +1 -0
  71. package/dist/utils/file-lock.js +58 -0
  72. package/dist/utils/file-lock.js.map +1 -0
  73. package/package.json +11 -3
@@ -32,6 +32,7 @@ export function evaluateFreeTierLimits(checks, windowMs, nowMs) {
32
32
  * SQLite storage for metering data.
33
33
  * All data is stored locally on the user's machine.
34
34
  */
35
+ const DAY_MS = 86_400_000;
35
36
  export class MeteringStorage {
36
37
  db;
37
38
  lastFreeTierPruneAt = null;
@@ -40,8 +41,14 @@ export class MeteringStorage {
40
41
  * Creates tables if they don't exist.
41
42
  *
42
43
  * @param dbPath - Path to the SQLite database file (or ':memory:' for tests)
44
+ * @param options.readonly - Open an existing database for reads only, without
45
+ * migrations (e.g. a metrics exporter beside a running seller).
43
46
  */
44
- constructor(dbPath) {
47
+ constructor(dbPath, options = {}) {
48
+ if (options.readonly) {
49
+ this.db = new Database(dbPath, { readonly: true, fileMustExist: true });
50
+ return;
51
+ }
45
52
  this.db = new Database(dbPath);
46
53
  this.db.pragma('journal_mode = WAL');
47
54
  runMigrations(this.db, meteringMigrations);
@@ -273,6 +280,70 @@ export class MeteringStorage {
273
280
  outputTokens: row.output_tokens,
274
281
  };
275
282
  }
283
+ /**
284
+ * Totals of the metering events after `afterRowid`, reading at most `limit`
285
+ * rows in rowid order, grouped by UTC day. Lets a reader keep running totals
286
+ * without re-scanning the whole table: pass the returned `lastRowid` next time.
287
+ */
288
+ summarizeEventsAfter(afterRowid, limit) {
289
+ const rows = this.db.prepare(`
290
+ SELECT
291
+ timestamp / ${DAY_MS} AS day,
292
+ MAX(rid) AS last_rowid,
293
+ COUNT(*) AS requests,
294
+ COALESCE(SUM(total_tokens), 0) AS total_tokens,
295
+ COALESCE(SUM(input_tokens), 0) AS input_tokens,
296
+ COALESCE(SUM(output_tokens), 0) AS output_tokens
297
+ FROM (
298
+ SELECT rowid AS rid, timestamp, total_tokens, input_tokens, output_tokens
299
+ FROM metering_events WHERE rowid > ? ORDER BY rowid LIMIT ?
300
+ )
301
+ GROUP BY day
302
+ `).all(afterRowid, limit);
303
+ return {
304
+ lastRowid: rows.reduce((max, row) => Math.max(max, row.last_rowid), afterRowid),
305
+ rows: rows.reduce((count, row) => count + row.requests, 0),
306
+ days: rows.map((row) => ({
307
+ day: row.day,
308
+ requests: row.requests,
309
+ totalTokens: row.total_tokens,
310
+ inputTokens: row.input_tokens,
311
+ outputTokens: row.output_tokens,
312
+ })),
313
+ };
314
+ }
315
+ /** Like `summarizeEventsAfter`, for usage receipt cost. */
316
+ summarizeReceiptsAfter(afterRowid, limit) {
317
+ const rows = this.db.prepare(`
318
+ SELECT
319
+ timestamp / ${DAY_MS} AS day,
320
+ MAX(rid) AS last_rowid,
321
+ COUNT(*) AS receipts,
322
+ COALESCE(SUM(cost_cents), 0) AS cost_cents
323
+ FROM (
324
+ SELECT rowid AS rid, timestamp, cost_cents
325
+ FROM usage_receipts WHERE rowid > ? ORDER BY rowid LIMIT ?
326
+ )
327
+ GROUP BY day
328
+ `).all(afterRowid, limit);
329
+ return {
330
+ lastRowid: rows.reduce((max, row) => Math.max(max, row.last_rowid), afterRowid),
331
+ rows: rows.reduce((count, row) => count + row.receipts, 0),
332
+ days: rows.map((row) => ({ day: row.day, costCents: row.cost_cents })),
333
+ };
334
+ }
335
+ /** `event_id` / `receipt_id` stored at the given rowids (null where there is no such row). */
336
+ getIdsAtRowids(eventRowid, receiptRowid) {
337
+ const event = this.db.prepare('SELECT event_id AS id FROM metering_events WHERE rowid = ?').get(eventRowid);
338
+ const receipt = this.db.prepare('SELECT receipt_id AS id FROM usage_receipts WHERE rowid = ?').get(receiptRowid);
339
+ return { eventId: event?.id ?? null, receiptId: receipt?.id ?? null };
340
+ }
341
+ /** Highest rowid in `metering_events` and `usage_receipts` (0 when empty). */
342
+ getMaxRowids() {
343
+ const events = this.db.prepare('SELECT COALESCE(MAX(rowid), 0) AS m FROM metering_events').get();
344
+ const receipts = this.db.prepare('SELECT COALESCE(MAX(rowid), 0) AS m FROM usage_receipts').get();
345
+ return { events: events.m, receipts: receipts.m };
346
+ }
276
347
  /**
277
348
  * Atomically consume one seller free-tier request in a sliding window.
278
349
  * Each configured limit (buyer address, remote IP) is checked; the request
@@ -290,35 +361,63 @@ export class MeteringStorage {
290
361
  const windowStart = nowMs - input.windowMs;
291
362
  const buyerAddress = input.buyerAddress.toLowerCase();
292
363
  const remoteIp = input.remoteIp ?? '';
364
+ const stake = input.stake ?? null;
365
+ const scope = input.scope ?? '';
293
366
  const pruneIntervalMs = Math.min(input.windowMs, 60 * 60_000);
294
367
  if (service !== null && (this.lastFreeTierPruneAt === null
295
368
  || nowMs < this.lastFreeTierPruneAt
296
369
  || nowMs - this.lastFreeTierPruneAt >= pruneIntervalMs)) {
297
- this.db.prepare('DELETE FROM free_tier_usage WHERE timestamp < ?').run(windowStart);
370
+ const retainFrom = nowMs - Math.max(input.windowMs, input.retentionMs ?? 0);
371
+ this.db.prepare('DELETE FROM free_tier_usage WHERE timestamp < ?').run(retainFrom);
372
+ this.db.prepare('DELETE FROM free_tier_position_usage WHERE timestamp < ?').run(retainFrom);
298
373
  this.lastFreeTierPruneAt = nowMs;
299
374
  }
300
- const countUsage = (column, key) => {
375
+ // Base limits count only unstaked requests, so staked traffic never uses
376
+ // up the allowance of unstaked buyers sharing an address or network.
377
+ const countBaseUsage = (column, key) => {
301
378
  const row = this.db.prepare(`
302
379
  SELECT COUNT(*) AS request_count, MIN(timestamp) AS oldest_timestamp
303
380
  FROM free_tier_usage
304
- WHERE ${column} = ? AND timestamp >= ?
305
- `).get(key, windowStart);
381
+ WHERE scope = ? AND ${column} = ? AND staked = 0 AND timestamp >= ?
382
+ `).get(scope, key, windowStart);
383
+ return { count: row.request_count, oldestTimestamp: row.oldest_timestamp };
384
+ };
385
+ const countPositionUsage = (positionId) => {
386
+ const row = this.db.prepare(`
387
+ SELECT COUNT(*) AS request_count, MIN(timestamp) AS oldest_timestamp
388
+ FROM free_tier_position_usage
389
+ WHERE scope = ? AND position_id = ? AND timestamp >= ?
390
+ `).get(scope, positionId, windowStart);
306
391
  return { count: row.request_count, oldestTimestamp: row.oldest_timestamp };
307
392
  };
308
393
  const consume = this.db.transaction(() => {
309
394
  const checks = [];
310
- if (input.maxRequestsPerAddress !== null) {
311
- checks.push({ kind: 'address', limit: input.maxRequestsPerAddress, ...countUsage('buyer_address', buyerAddress) });
395
+ if (stake) {
396
+ if (stake.limit !== null) {
397
+ for (const positionId of stake.positionIds) {
398
+ checks.push({ kind: 'stake', limit: stake.limit, ...countPositionUsage(positionId) });
399
+ }
400
+ }
312
401
  }
313
- if (input.maxRequestsPerIp !== null && remoteIp !== '') {
314
- checks.push({ kind: 'ip', limit: input.maxRequestsPerIp, ...countUsage('remote_ip', remoteIp) });
402
+ else {
403
+ if (input.maxRequestsPerAddress !== null) {
404
+ checks.push({ kind: 'address', limit: input.maxRequestsPerAddress, ...countBaseUsage('buyer_address', buyerAddress) });
405
+ }
406
+ if (input.maxRequestsPerIp !== null && remoteIp !== '') {
407
+ checks.push({ kind: 'ip', limit: input.maxRequestsPerIp, ...countBaseUsage('remote_ip', remoteIp) });
408
+ }
315
409
  }
316
410
  const decision = evaluateFreeTierLimits(checks, input.windowMs, nowMs);
317
411
  if (decision.allowed && service !== null) {
318
412
  this.db.prepare(`
319
- INSERT INTO free_tier_usage (buyer_address, remote_ip, service, timestamp)
320
- VALUES (?, ?, ?, ?)
321
- `).run(buyerAddress, remoteIp, service, nowMs);
413
+ INSERT INTO free_tier_usage (buyer_address, remote_ip, service, timestamp, staked, scope)
414
+ VALUES (?, ?, ?, ?, ?, ?)
415
+ `).run(buyerAddress, remoteIp, service, nowMs, stake ? 1 : 0, scope);
416
+ if (stake && stake.limit !== null) {
417
+ const recordPosition = this.db.prepare('INSERT INTO free_tier_position_usage (position_id, timestamp, scope) VALUES (?, ?, ?)');
418
+ for (const positionId of stake.positionIds)
419
+ recordPosition.run(positionId, nowMs, scope);
420
+ }
322
421
  }
323
422
  return decision;
324
423
  });
@@ -364,6 +463,7 @@ export class MeteringStorage {
364
463
  const verificationsResult = deleteVerifications.run(timestampMs);
365
464
  const sessionsResult = deleteSessions.run(timestampMs);
366
465
  const freeTierUsageResult = deleteFreeTierUsage.run(timestampMs);
466
+ this.db.prepare('DELETE FROM free_tier_position_usage WHERE timestamp < ?').run(timestampMs);
367
467
  return {
368
468
  eventsDeleted: eventsResult.changes,
369
469
  receiptsDeleted: receiptsResult.changes,
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/metering/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/metering/storage.ts"],"names":[],"mappings":"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"}
package/dist/node.d.ts CHANGED
@@ -15,6 +15,7 @@ import { type PaymentConfig, type PaymentMethod, FreeUsageClient, BuyerFreeUsage
15
15
  import { BuyerPaymentManager, type BuyerPaymentConfig } from "./payments/buyer-payment-manager.js";
16
16
  import { BuyerPaymentNegotiator } from "./payments/buyer-payment-negotiator.js";
17
17
  import { type RpcHealthStatus } from "./payments/rpc-health.js";
18
+ import { type FreeTierDelegation } from "./payments/free-tier-delegation.js";
18
19
  import { IdentityClient } from "./payments/evm/identity-client.js";
19
20
  import { type RequestStreamCallbacks, type RequestStreamResponseMetadata, type RequestExecutionOptions } from "./buyer-request-handler.js";
20
21
  /** How long an on-chain trust read of a peer is reused before it is read again. */
@@ -180,6 +181,12 @@ export interface NodeConfig {
180
181
  payments?: NodePaymentsConfig;
181
182
  /** Optional per-address request limit for zero-priced seller services. */
182
183
  freeTier?: SellerFreeTierConfig;
184
+ /**
185
+ * Buyer side: stakers' signed consent to count their stake toward this
186
+ * node's buyer identities on sellers' staked free tiers. Each identity sends
187
+ * only the delegations naming its own address.
188
+ */
189
+ freeTierDelegations?: FreeTierDelegation[];
183
190
  /** Seller free-usage on-chain record batching. */
184
191
  freeUsage?: {
185
192
  recordBatchSize?: number;
@@ -581,6 +588,29 @@ export declare class AntseedNode extends EventEmitter {
581
588
  broadcastSweepRequest(payload: SweepRequestPayload): number;
582
589
  private _resolvePublicAddress;
583
590
  private _lookupResultToPeerInfo;
591
+ /** Replace the buyer's free-tier delegations; later requests send the new set. */
592
+ setFreeTierDelegations(delegations: FreeTierDelegation[]): void;
593
+ /** Header value carrying the unexpired delegations to `buyerAddress`, or null when there are none. */
594
+ private _freeTierDelegationsHeader;
595
+ /**
596
+ * Back staked free-tier tiers with on-chain reads: the positions of the
597
+ * buyer and of every staker that signed a delegation to it in this seller's
598
+ * pool. Without the seller pools contract every buyer keeps the base limits
599
+ * and no tiers are advertised.
600
+ */
601
+ /**
602
+ * Free-tier programs to advertise within what is left of the peer
603
+ * capability limit. Programs that do not fit are still enforced; buyers
604
+ * learn them from the seller's refusals instead.
605
+ */
606
+ /**
607
+ * Offered services by whether some provider charges for them (tokens or any
608
+ * priced unit-billing model), as the request handler decides it. A paid
609
+ * service's allowance never admits a free-usage channel; the free ones decide admission.
610
+ */
611
+ private _offeredServicesByPrice;
612
+ private _freeTierCapabilities;
613
+ private _initializeFreeTierStakeResolver;
584
614
  private _warnIfFreeUsageMeteringUnavailable;
585
615
  private _hasFreePricedService;
586
616
  private _isZeroPricing;
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAsD,MAAM,iBAAiB,CAAC;AAIpG,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAYxD,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAetE,OAAO,EAKL,KAAK,mBAAmB,EAExB,KAAK,yBAAyB,EAC/B,MAAM,qBAAqB,CAAC;AAO7B,OAAO,KAAK,EACV,QAAQ,EACR,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAIrD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,aAAa,EAGlB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EAEtB,KAAK,oBAAoB,EAO1B,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAIlF,OAAO,EAAmC,KAAK,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG9G,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AAqBpC,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAC7C;;;GAGG;AACH,eAAO,MAAM,0BAA0B,QAAa,CAAC;AA0BrD,YAAY,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC;AAClD,YAAY,EAAE,MAAM,EAAE,CAAC;AACvB,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC,YAAY,EAAE,qBAAqB,EAAE,CAAC;AACtC,YAAY,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,CAAC;AAE/F,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,0FAA0F;IAC1F,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4EAA4E;IAC5E,gBAAgB,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,qGAAqG;IACrG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mGAAmG;IACnG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iDAAiD;IACjD,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+FAA+F;IAC/F,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4FAA4F;IAC5F,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uDAAuD;IACvD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gHAAgH;IAChH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+GAA+G;IAC/G,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,qHAAqH;IACrH,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,oGAAoG;IACpG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qHAAqH;IACrH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qGAAqG;IACrG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,4EAA4E;IAC5E,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;4EACwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,qHAAqH;IACrH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,qGAAqG;IACrG,oBAAoB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sFAAsF;IACtF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oGAAoG;IACpG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0FAA0F;IAC1F,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6FAA6F;IAC7F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;0FACsF;IACtF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mGAAmG;IACnG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3C,kDAAkD;IAClD,SAAS,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,2EAA2E;IAC3E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,sEAAsE;IACtE,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,wGAAwG;IACxG,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;4EAC4E;AAC5E,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,6FAA6F;AAC7F,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC;AAyBD,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,IAAI,CAAwB;IACpC,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAA8B;IAChD,uEAAuE;IACvE,OAAO,CAAC,wBAAwB,CAAuB;IACvD,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,kBAAkB,CAAuC;IACjE,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,gBAAgB,CAAgC;IACxD,OAAO,CAAC,sBAAsB,CAAsC;IACpE,OAAO,CAAC,uBAAuB,CAAuC;IACtE,OAAO,CAAC,sBAAsB,CAAsC;IACpE,OAAO,CAAC,cAAc,CAA8B;IACpD,uEAAuE;IACvE,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,sBAAsB,CAAsC;IACpE,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,kBAAkB,CAAsC;IAChE,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,wDAAwD;IACxD,OAAO,CAAC,gBAAgB,CAA2C;IACnE,iFAAiF;IACjF,OAAO,CAAC,eAAe,CAA+B;IACtD,iFAAiF;IACjF,OAAO,CAAC,cAAc,CAAqC;IAC3D,8EAA8E;IAC9E,OAAO,CAAC,oBAAoB,CAAoC;IAChE,kFAAkF;IAClF,OAAO,CAAC,gBAAgB,CAAuC;IAC/D,wFAAwF;IACxF,OAAO,CAAC,UAAU,CAAiC;IACnD,qEAAqE;IACrE,OAAO,CAAC,aAAa,CAAoC;IACzD,gFAAgF;IAChF,OAAO,CAAC,qBAAqB,CAAqC;IAClE,oDAAoD;IACpD,OAAO,CAAC,aAAa,CAA6B;IAClD,kDAAkD;IAClD,OAAO,CAAC,oBAAoB,CAAoC;IAChE,yEAAyE;IACzE,OAAO,CAAC,oBAAoB,CAAoC;IAChE,yCAAyC;IACzC,OAAO,CAAC,uBAAuB,CAA+C;IAC9E,qDAAqD;IACrD,OAAO,CAAC,wBAAwB,CAAa;IAC7C,gEAAgE;IAChE,OAAO,CAAC,eAAe,CAAqC;IAC5D,qEAAqE;IACrE,OAAO,CAAC,+BAA+B,CAAoC;IAC3E,sFAAsF;IACtF,OAAO,CAAC,2BAA2B,CAAoC;IACvE;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB,CAA+B;IAChE;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAAyG;IACnI,gFAAgF;IAChF,OAAO,CAAC,0BAA0B,CAAoC;IACtE,OAAO,CAAC,yBAAyB,CAAuC;IACxE,OAAO,CAAC,0BAA0B,CAI7B;IACL,OAAO,CAAC,6BAA6B,CAAqB;gBAE9C,MAAM,EAAE,UAAU;IAK9B,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;IAED,IAAI,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAE9B;IAED,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI1C;;;;;OAKG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;;;;;OAMG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD,iFAAiF;IACjF,iBAAiB,IAAI,IAAI;IAMzB,8EAA8E;IAC9E,IAAI,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAE3C;IAED,mFAAmF;IACnF,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;IAED,sFAAsF;IACtF,IAAI,mBAAmB,IAAI,mBAAmB,GAAG,IAAI,CAEpD;IAED,iFAAiF;IACjF,IAAI,eAAe,IAAI,sBAAsB,GAAG,IAAI,CAEnD;IAED;;;;OAIG;IACH,iBAAiB,IAAI;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,GAAG,EAAE,eAAe,GAAG,IAAI,CAAC;KAC7B;IAWD,2DAA2D;IAC3D,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,oFAAoF;IACpF,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,4EAA4E;IAC5E,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,iEAAiE;IACjE,IAAI,cAAc,IAAI,cAAc,GAAG,IAAI,CAE1C;IAED,wDAAwD;IACxD,IAAI,eAAe,IAAI,eAAe,GAAG,IAAI,CAE5C;IAED,4EAA4E;IAC5E,IAAI,qBAAqB,IAAI,qBAAqB,GAAG,IAAI,CAExD;IAED,6EAA6E;IAC7E,IAAI,sBAAsB,IAAI,sBAAsB,GAAG,IAAI,CAE1D;IAED,kFAAkF;IAClF,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAI9D;;;OAGG;IACH,uBAAuB,IAAI,qBAAqB,EAAE;IAIlD,kFAAkF;IAClF,2BAA2B,IAAI,MAAM;IAI/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4JrB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAqB5C,yBAAyB;IA0BvC,iCAAiC,IAAI,IAAI;IAIzC,OAAO,CAAC,kCAAkC;IAwC1C,OAAO,CAAC,2BAA2B;IA6BnC,OAAO,CAAC,wCAAwC;IAgBhD,OAAO,CAAC,0BAA0B;YAwCpB,6BAA6B;YAkB7B,4BAA4B;IAqC1C,OAAO,CAAC,8BAA8B;IAWtC;;;;;;;;;;;;OAYG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,yBAAyB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAuC3G;;;;;;;;;;;;OAYG;YACW,4BAA4B;IA2E1C,OAAO,CAAC,uBAAuB;IAY/B,sEAAsE;IACtE,OAAO,CAAC,WAAW;IAgBnB;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc1E;;;;;;;;;;;;;OAaG;IACG,mBAAmB,CACvB,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GACnG,OAAO,CAAC,yBAAyB,CAAC;IAkCrC,mFAAmF;YACrE,yBAAyB;IAyBvC;;;;OAIG;IACH,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG;QAEpE,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAE1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,oBAAoB,EAAE,MAAM,CAAC;QAC7B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;QACtC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;KACtC,GAAG,IAAI;IA8CR;;;;;;;;OAQG;IACH,sBAAsB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAQrE,qEAAqE;IACrE,mBAAmB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAOlE,OAAO,CAAC,oBAAoB;IAgC5B;;;;;OAKG;IACH,mBAAmB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,gBAAgB;IA6DvD,WAAW,CACf,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,qBAAqB,EAC1B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,sBAAsB,CAAC;IAI5B,iBAAiB,CACrB,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,qBAAqB,EAC1B,SAAS,EAAE,sBAAsB,EACjC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,sBAAsB,CAAC;IAIlC,OAAO,CAAC,qBAAqB;IAc7B,mFAAmF;IACnF,OAAO,CAAC,mBAAmB;IAsB3B;;;;;OAKG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuDvF,wFAAwF;IAClF,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIvC,kEAAkE;IAClE,eAAe,IAAI,oBAAoB,EAAE;IASzC,OAAO,CAAC,aAAa;IAOrB,kEAAkE;IAClE,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,eAAe;YA4HT,YAAY;YAqMZ,WAAW;IAuGzB,OAAO,CAAC,yBAAyB;YAiHnB,mBAAmB;IAgOjC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAchC;IAEF,OAAO,CAAC,8BAA8B;YAiBxB,sBAAsB;IAYpC,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,oBAAoB;IAe5B;;;;;;;;;OASG;IACG,oBAAoB,CACxB,OAAO,EAAE,mBAAmB,EAC5B,IAAI,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GACnC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IA2ClD;mDAC+C;IAC/C,OAAO,CAAC,oBAAoB;IAwB5B;;;;;;OAMG;IACH,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM;IAqB3D,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,uBAAuB;IA8H/B,kFAAkF;IAClF,sBAAsB,CAAC,WAAW,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAI/D,sGAAsG;IACtG,OAAO,CAAC,0BAA0B;IAOlC;;;;;OAKG;IACH;;;;OAIG;IACH;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,gCAAgC;IAyBxC,OAAO,CAAC,mCAAmC;IAU3C,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,cAAc;CAMvB"}
package/dist/node.js CHANGED
@@ -6,6 +6,7 @@ import { computeTrustScore } from './reputation/trust-score.js';
6
6
  import { TrustSignalsClient } from './payments/evm/trust-signals-client.js';
7
7
  import { loadOrCreateIdentity } from "./p2p/identity.js";
8
8
  import { peerIdToAddress } from "./types/peer.js";
9
+ import { isFreeUnitBillingModel } from "./billing/unit.js";
9
10
  import { MeteringStorage } from "./metering/storage.js";
10
11
  import { ResourceOwnershipStore } from "./resources/resource-ownership-store.js";
11
12
  import { ReceiptGenerator } from "./metering/receipt-generator.js";
@@ -14,7 +15,7 @@ import { ConnectionState } from "./types/connection.js";
14
15
  import { DHTNode, DEFAULT_DHT_CONFIG, SUBNET_COUNT, } from "./discovery/dht-node.js";
15
16
  import { toBootstrapConfig, OFFICIAL_BOOTSTRAP_NODES, mergeBootstrapNodes } from "./discovery/bootstrap.js";
16
17
  import { ConnectionManager, } from "./p2p/connection-manager.js";
17
- import { PeerAnnouncer, } from "./discovery/announcer.js";
18
+ import { PeerAnnouncer, builtinPeerCapabilities, } from "./discovery/announcer.js";
18
19
  import { verifyPeerMetadataDomains } from "./discovery/domain-verification.js";
19
20
  import { verifyPeerMetadataGithub } from "./discovery/github-verification.js";
20
21
  import { PeerLookup, DEFAULT_LOOKUP_CONFIG, } from "./discovery/peer-lookup.js";
@@ -36,11 +37,15 @@ import { signUtf8 } from "./p2p/identity.js";
36
37
  import { BalanceManager, DepositsClient, ChannelsClient, FreeUsageClient, BuyerFreeUsageManager, SellerFreeUsageManager, SellerFreeTierLimiter, StakingClient, ChannelStore, CHANNEL_KIND, CHANNEL_ROLE, CHANNEL_STATUS, } from "./payments/index.js";
37
38
  import { debugLog, debugWarn } from "./utils/debug.js";
38
39
  import { parsePublicAddress } from "./discovery/public-address.js";
40
+ import { MAX_PEER_CAPABILITIES } from "./discovery/metadata-validator.js";
39
41
  import { sanitizePeerDisplayName } from "./discovery/display-name.js";
40
42
  import { BuyerPaymentManager } from "./payments/buyer-payment-manager.js";
41
43
  import { BuyerPaymentNegotiator } from "./payments/buyer-payment-negotiator.js";
42
44
  import { RpcHealthMonitor } from "./payments/rpc-health.js";
43
45
  import { SellerAddressResolver } from "./discovery/seller-address-resolver.js";
46
+ import { SellerPoolsClient } from "./payments/evm/seller-pools-client.js";
47
+ import { FreeTierStakeResolver } from "./payments/free-tier-stake-resolver.js";
48
+ import { encodeFreeTierDelegationsHeader } from "./payments/free-tier-delegation.js";
44
49
  import { Contract as EthersContract } from "ethers";
45
50
  import { SellerPaymentManager } from "./payments/seller-payment-manager.js";
46
51
  import { IdentityClient } from "./payments/evm/identity-client.js";
@@ -1231,6 +1236,7 @@ export class AntseedNode extends EventEmitter {
1231
1236
  },
1232
1237
  maxUploadBodyBytes: this._config.maxUploadBodyBytes,
1233
1238
  requireSecureTransport: this._config.requireSecureTransport,
1239
+ freeTierDelegationsHeader: () => this._freeTierDelegationsHeader(identity.wallet.address),
1234
1240
  shared: {
1235
1241
  channelStore: this._channelStore,
1236
1242
  depositsClient: this._depositsClient,
@@ -1454,8 +1460,12 @@ export class AntseedNode extends EventEmitter {
1454
1460
  this._sellerFreeTierLimiter = this._config.freeTier
1455
1461
  ? new SellerFreeTierLimiter(this._config.freeTier, this._metering)
1456
1462
  : null;
1463
+ const offered = this._offeredServicesByPrice();
1464
+ this._sellerFreeTierLimiter?.setPaidServices(offered.paid);
1465
+ this._sellerFreeTierLimiter?.setFreeServices(offered.free);
1457
1466
  await this._initializePayments(dataDir);
1458
1467
  this._warnIfFreeUsageMeteringUnavailable();
1468
+ this._initializeFreeTierStakeResolver(identity);
1459
1469
  // Wire idle session events to on-chain settlement
1460
1470
  if (this._sellerPaymentManager) {
1461
1471
  const spm = this._sellerPaymentManager;
@@ -1506,10 +1516,12 @@ export class AntseedNode extends EventEmitter {
1506
1516
  }
1507
1517
  // Set up announcer for providers
1508
1518
  if (this._providers.length > 0) {
1509
- const extraCapabilities = [
1519
+ const baseCapabilities = [
1510
1520
  ...(this._connectionManager.supportsWebRtc ? [CONNECTION_CAPABILITY_WEBRTC_V1] : []),
1511
1521
  ...(this._config.capabilities ?? []),
1512
1522
  ];
1523
+ const usedCapabilities = builtinPeerCapabilities(this._depositRelayer !== null).length + baseCapabilities.length;
1524
+ const extraCapabilities = [...baseCapabilities, ...this._freeTierCapabilities(usedCapabilities)];
1513
1525
  const announcerConfig = {
1514
1526
  identity,
1515
1527
  dht: this._dht,
@@ -1666,6 +1678,7 @@ export class AntseedNode extends EventEmitter {
1666
1678
  getMux: (peerId, conn) => this._getOrCreateMux(peerId, conn),
1667
1679
  getVerificationMux: (peerId, conn) => this._getOrCreateVerificationMux(peerId, conn),
1668
1680
  registerPaymentMux: (peerId, pmux) => this._paymentMuxes.set(peerId, pmux),
1681
+ freeTierDelegationsHeader: () => this._freeTierDelegationsHeader(identity.wallet.address),
1669
1682
  });
1670
1683
  debugLog(`[Node] Buyer ready — DHT running on port ${this._dht.getPort()}`);
1671
1684
  }
@@ -2294,6 +2307,84 @@ export class AntseedNode extends EventEmitter {
2294
2307
  onChainGhostCount: result.metadata.onChainGhostCount,
2295
2308
  };
2296
2309
  }
2310
+ /** Replace the buyer's free-tier delegations; later requests send the new set. */
2311
+ setFreeTierDelegations(delegations) {
2312
+ this._config.freeTierDelegations = [...delegations];
2313
+ }
2314
+ /** Header value carrying the unexpired delegations to `buyerAddress`, or null when there are none. */
2315
+ _freeTierDelegationsHeader(buyerAddress) {
2316
+ const nowSeconds = Date.now() / 1000;
2317
+ const delegations = (this._config.freeTierDelegations ?? []).filter((delegation) => delegation.buyer.toLowerCase() === buyerAddress.toLowerCase() && delegation.expiresAt > nowSeconds);
2318
+ return delegations.length > 0 ? encodeFreeTierDelegationsHeader(delegations) : null;
2319
+ }
2320
+ /**
2321
+ * Back staked free-tier tiers with on-chain reads: the positions of the
2322
+ * buyer and of every staker that signed a delegation to it in this seller's
2323
+ * pool. Without the seller pools contract every buyer keeps the base limits
2324
+ * and no tiers are advertised.
2325
+ */
2326
+ /**
2327
+ * Free-tier programs to advertise within what is left of the peer
2328
+ * capability limit. Programs that do not fit are still enforced; buyers
2329
+ * learn them from the seller's refusals instead.
2330
+ */
2331
+ /**
2332
+ * Offered services by whether some provider charges for them (tokens or any
2333
+ * priced unit-billing model), as the request handler decides it. A paid
2334
+ * service's allowance never admits a free-usage channel; the free ones decide admission.
2335
+ */
2336
+ _offeredServicesByPrice() {
2337
+ const paid = new Set();
2338
+ const offered = new Set();
2339
+ for (const provider of this._providers) {
2340
+ for (const service of provider.services) {
2341
+ offered.add(service);
2342
+ const pricing = provider.pricing.services?.[service] ?? provider.pricing.defaults;
2343
+ const tokenPriced = pricing.inputUsdPerMillion > 0 || pricing.outputUsdPerMillion > 0 || (pricing.cachedInputUsdPerMillion ?? 0) > 0;
2344
+ const unitPriced = Object.values(provider.serviceUnitBillingModels?.[service] ?? {})
2345
+ .some((model) => model !== undefined && !isFreeUnitBillingModel(model));
2346
+ if (tokenPriced || unitPriced)
2347
+ paid.add(service);
2348
+ }
2349
+ }
2350
+ return { paid: [...paid], free: [...offered].filter((service) => !paid.has(service)) };
2351
+ }
2352
+ _freeTierCapabilities(usedCapabilities) {
2353
+ const limiter = this._sellerFreeTierLimiter;
2354
+ if (!limiter)
2355
+ return [];
2356
+ const capabilities = limiter.capabilities(MAX_PEER_CAPABILITIES - usedCapabilities);
2357
+ if (capabilities.length < limiter.capabilities().length) {
2358
+ debugWarn(`[Node] Not every free-tier program fits in peer metadata (${MAX_PEER_CAPABILITIES} capabilities max); ` +
2359
+ `the rest are enforced but not advertised`);
2360
+ }
2361
+ return capabilities;
2362
+ }
2363
+ _initializeFreeTierStakeResolver(identity) {
2364
+ const limiter = this._sellerFreeTierLimiter;
2365
+ const payments = this._config.payments;
2366
+ if (!limiter || !limiter.hasStakeTiers)
2367
+ return;
2368
+ if (!payments?.rpcUrl || !payments.sellerPoolsAddress) {
2369
+ debugLog("[Node] Staked free-tier tiers disabled: seller pools contract not configured");
2370
+ return;
2371
+ }
2372
+ const sellerPools = new SellerPoolsClient({
2373
+ rpcUrl: payments.rpcUrl,
2374
+ ...(payments.fallbackRpcUrls ? { fallbackRpcUrls: payments.fallbackRpcUrls } : {}),
2375
+ contractAddress: payments.sellerPoolsAddress,
2376
+ // Only stake writes use the token; the free tier only reads.
2377
+ antsTokenAddress: "0x0000000000000000000000000000000000000000",
2378
+ ...(payments.chainId ? { evmChainId: payments.chainId } : {}),
2379
+ });
2380
+ const sellerAddress = this._config.sellerContract?.sellerContract ?? identity.wallet.address;
2381
+ limiter.setStakeResolver(new FreeTierStakeResolver({
2382
+ sellerAgentId: () => sellerPools.agentIdForSeller(sellerAddress),
2383
+ currentEpoch: () => sellerPools.currentEpoch(),
2384
+ stakerPositions: (staker, agentId, epoch) => sellerPools.stakerPositionsInPool(staker, agentId, epoch),
2385
+ }), payments.chainId ?? 8453);
2386
+ debugLog(`[Node] Staked free-tier tiers enabled (pools=${payments.sellerPoolsAddress.slice(0, 10)}...)`);
2387
+ }
2297
2388
  _warnIfFreeUsageMeteringUnavailable() {
2298
2389
  if (this._sellerFreeUsageManager || !this._hasFreePricedService())
2299
2390
  return;