@obbyx/x402-obyte 0.2.1 → 0.2.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/exact/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/exact/client.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,8 @@ export declare class ExactObyteFacilitator implements SchemeNetworkFacilitator {
55
55
  private readonly now;
56
56
  /** Serializes settle/resume per settlement key inside this process. */
57
57
  private readonly inFlight;
58
+ /** Known plain (non-AA) recipients; an address can never turn into an AA. */
59
+ private readonly plainRecipients;
58
60
  constructor(options: ExactObyteFacilitatorOptions);
59
61
  getExtra(network: Network): Record<string, unknown> | undefined;
60
62
  /** The payer pays its own fees; the facilitator signs nothing in `exact`. */
@@ -64,8 +66,6 @@ export declare class ExactObyteFacilitator implements SchemeNetworkFacilitator {
64
66
  /** Re-drives a non-terminal settlement (used by the recovery worker). */
65
67
  resume(record: SettlementRecord): Promise<SettleResponse>;
66
68
  private check;
67
- /** Known plain (non-AA) recipients; an address can never turn into an AA. */
68
- private readonly plainRecipients;
69
69
  private recipientIsNotAa;
70
70
  private fetchDefinition;
71
71
  private drive;
@@ -1 +1 @@
1
- {"version":3,"file":"facilitator.d.ts","sourceRoot":"","sources":["../../src/exact/facilitator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facilitator.d.ts","sourceRoot":"","sources":["../../src/exact/facilitator.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,8 @@ export class ExactObyteFacilitator {
23
23
  now;
24
24
  /** Serializes settle/resume per settlement key inside this process. */
25
25
  inFlight = new Map();
26
+ /** Known plain (non-AA) recipients; an address can never turn into an AA. */
27
+ plainRecipients = new Set();
26
28
  constructor(options) {
27
29
  this.options = options;
28
30
  this.log = moduleLogger(options.logger, 'x402.exact', { scheme: EXACT_SCHEME });
@@ -165,13 +167,11 @@ export class ExactObyteFacilitator {
165
167
  hubTimeoutMs: this.hubTimeoutMs,
166
168
  maxLastBallAgeSeconds: this.maxLastBallAge,
167
169
  now: this.now,
168
- }, client, req, facts, unit);
170
+ }, client, facts, unit);
169
171
  if (!ledger.ok)
170
172
  return ledger;
171
173
  return { ok: true, value: { facts, req } };
172
174
  }
173
- /** Known plain (non-AA) recipients; an address can never turn into an AA. */
174
- plainRecipients = new Set();
175
175
  async recipientIsNotAa(client, payTo) {
176
176
  if (this.plainRecipients.has(payTo))
177
177
  return { ok: true, value: null };
@@ -1 +1 @@
1
- {"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../src/exact/facilitator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facilitator.js","sourceRoot":"","sources":["../../src/exact/facilitator.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type obyte from 'obyte';
2
2
  import type { ExactUnitFacts } from '@obbyx/obyte';
3
3
  import { type Check } from './reasons.js';
4
- import type { ParsedExactRequirements } from './requirements.js';
5
4
  export interface LedgerCheckContext {
6
5
  readonly hubTimeoutMs: number;
7
6
  readonly maxLastBallAgeSeconds: number;
@@ -11,5 +10,5 @@ export interface LedgerCheckContext {
11
10
  * Ledger checks (hub-trusted, ADR-0001/0002): last ball recency, inputs
12
11
  * exist and belong to the payer, amounts + fees balance, inputs unspent.
13
12
  */
14
- export declare function checkLedger(ctx: LedgerCheckContext, client: obyte.Client, req: ParsedExactRequirements, facts: ExactUnitFacts, unit: Record<string, unknown>): Promise<Check<null>>;
13
+ export declare function checkLedger(ctx: LedgerCheckContext, client: obyte.Client, facts: ExactUnitFacts, unit: Record<string, unknown>): Promise<Check<null>>;
15
14
  //# sourceMappingURL=ledger-checks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-checks.d.ts","sourceRoot":"","sources":["../../src/exact/ledger-checks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,KAAK,KAAK,EAA8B,MAAM,cAAc,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,GAAG,EAAE,uBAAuB,EAC5B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAyFtB"}
1
+ {"version":3,"file":"ledger-checks.d.ts","sourceRoot":"","sources":["../../src/exact/ledger-checks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,KAAK,KAAK,EAA8B,MAAM,cAAc,CAAC;AAEtE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAQtB"}
@@ -5,9 +5,21 @@ import { EXACT_SETTLE_REASONS, fail } from './reasons.js';
5
5
  * Ledger checks (hub-trusted, ADR-0001/0002): last ball recency, inputs
6
6
  * exist and belong to the payer, amounts + fees balance, inputs unspent.
7
7
  */
8
- export async function checkLedger(ctx, client, req, facts, unit) {
9
- const t = ctx.hubTimeoutMs;
10
- const lastBall = await hubCall(() => client.api.getJoint(facts.lastBallUnit), t);
8
+ export async function checkLedger(ctx, client, facts, unit) {
9
+ const recent = await lastBallIsRecent(ctx, client, facts);
10
+ if (!recent.ok)
11
+ return recent;
12
+ const totals = await inputTotals(ctx, client, facts);
13
+ if (!totals.ok)
14
+ return totals;
15
+ const balanced = inputsBalance(totals.value, facts, unit);
16
+ if (!balanced.ok)
17
+ return balanced;
18
+ return inputsUnspent(ctx, client, facts);
19
+ }
20
+ /** The unit's last ball exists and is not older than the configured limit. */
21
+ async function lastBallIsRecent(ctx, client, facts) {
22
+ const lastBall = await hubCall(() => client.api.getJoint(facts.lastBallUnit), ctx.hubTimeoutMs);
11
23
  if (lastBall.kind !== 'ok')
12
24
  return fail(EXACT_SETTLE_REASONS.ledger, `last ball: ${lastBall.error}`);
13
25
  const lastBallTs = lastBall.value.joint?.unit.timestamp;
@@ -17,13 +29,16 @@ export async function checkLedger(ctx, client, req, facts, unit) {
17
29
  if (lastBallAge > ctx.maxLastBallAgeSeconds) {
18
30
  return fail(EXACT_SETTLE_REASONS.stale, `Last ball is ${lastBallAge} s old; the limit is ${ctx.maxLastBallAgeSeconds} s (MAX_LAST_BALL_AGE_SECONDS)`);
19
31
  }
20
- // Inputs: each referenced output exists, belongs to the payer, has the right asset.
32
+ return { ok: true, value: null };
33
+ }
34
+ /** Each input refers to an existing output of the payer in its asset; sums per asset. */
35
+ async function inputTotals(ctx, client, facts) {
21
36
  const totals = new Map();
22
37
  const sources = new Map();
23
38
  for (const input of facts.inputs) {
24
39
  let source = sources.get(input.unit);
25
40
  if (source === undefined) {
26
- const res = await hubCall(() => client.api.getJoint(input.unit), t);
41
+ const res = await hubCall(() => client.api.getJoint(input.unit), ctx.hubTimeoutMs);
27
42
  if (res.kind !== 'ok')
28
43
  return fail(EXACT_SETTLE_REASONS.ledger, `input source: ${res.error}`);
29
44
  if (res.value.joint === undefined)
@@ -47,6 +62,10 @@ export async function checkLedger(ctx, client, req, facts, unit) {
47
62
  }
48
63
  totals.set(asset, (totals.get(asset) ?? 0n) + BigInt(output.amount));
49
64
  }
65
+ return { ok: true, value: totals };
66
+ }
67
+ /** Inputs equal outputs per asset; bytes also cover every fee of the unit. */
68
+ function inputsBalance(totals, facts, unit) {
50
69
  const fees = BigInt(facts.commissions.headers + facts.commissions.payload) +
51
70
  BigInt(unit['tps_fee'] ?? 0) +
52
71
  BigInt(unit['burn_fee'] ?? 0);
@@ -56,11 +75,16 @@ export async function checkLedger(ctx, client, req, facts, unit) {
56
75
  return fail(EXACT_SETTLE_REASONS.inputs, `Inputs and outputs do not balance in ${asset}`);
57
76
  }
58
77
  }
59
- // Unspent: no other unit of the payer spends these inputs (best effort
60
- // until stability; the network decides double-spends definitively).
78
+ return { ok: true, value: null };
79
+ }
80
+ /**
81
+ * No other unit of the payer spends these inputs (best effort until
82
+ * stability; the network decides double spends definitively).
83
+ */
84
+ async function inputsUnspent(ctx, client, facts) {
61
85
  const history = await hubCall(() => client.api
62
86
  .getWitnesses()
63
- .then((witnesses) => client.api.getHistory({ witnesses, addresses: [facts.payer] })), t);
87
+ .then((witnesses) => client.api.getHistory({ witnesses, addresses: [facts.payer] })), ctx.hubTimeoutMs);
64
88
  if (history.kind !== 'ok')
65
89
  return fail(EXACT_SETTLE_REASONS.ledger, `history: ${history.error}`);
66
90
  const parsedHistory = parseHistory(history.value);
@@ -1 +1 @@
1
- {"version":3,"file":"ledger-checks.js","sourceRoot":"","sources":["../../src/exact/ledger-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger-checks.js","sourceRoot":"","sources":["../../src/exact/ledger-checks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAmB,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAc,oBAAoB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAQtE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAuB,EACvB,MAAoB,EACpB,KAAqB,EACrB,IAA6B;IAE7B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9B,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IAClC,OAAO,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,gBAAgB,CAC7B,GAAuB,EACvB,MAAoB,EACpB,KAAqB;IAErB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IAChG,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;QACxB,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;IACxD,IAAI,OAAO,UAAU,KAAK,QAAQ;QAChC,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;IAC3C,IAAI,WAAW,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;QAC5C,OAAO,IAAI,CACT,oBAAoB,CAAC,KAAK,EAC1B,gBAAgB,WAAW,wBAAwB,GAAG,CAAC,qBAAqB,gCAAgC,CAC7G,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,yFAAyF;AACzF,KAAK,UAAU,WAAW,CACxB,GAAuB,EACvB,MAAoB,EACpB,KAAqB;IAErB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YACnF,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9F,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;gBAC/B,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,YAAY,KAAK,SAAS;gBAC5B,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC;YACjF,MAAM,GAAG,YAAY,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC;QAChD,IAAI,OAAO,EAAE,GAAG,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;QAC/E,CAAC;QACD,IACE,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK;YAC9B,KAAK,KAAK,KAAK,CAAC,KAAK;YACrB,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EACpC,CAAC;YACD,OAAO,IAAI,CACT,oBAAoB,CAAC,MAAM,EAC3B,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACrC,CAAC;AAED,8EAA8E;AAC9E,SAAS,aAAa,CACpB,MAAmC,EACnC,KAAqB,EACrB,IAA6B;IAE7B,MAAM,IAAI,GACR,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC;QAC7D,MAAM,CAAE,IAAI,CAAC,SAAS,CAAwB,IAAI,CAAC,CAAC;QACpD,MAAM,CAAE,IAAI,CAAC,UAAU,CAAwB,IAAI,CAAC,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QACnE,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,wCAAwC,KAAK,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAC1B,GAAuB,EACvB,MAAoB,EACpB,KAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,OAAO,CAC3B,GAAG,EAAE,CACH,MAAM,CAAC,GAAG;SACP,YAAY,EAAE;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAClB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAW,CAAC,CACxE,EACL,GAAG,CAAC,YAAY,CACjB,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,YAAY,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACjG,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,aAAa,KAAK,SAAS;QAC7B,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAChG,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ;YAAE,SAAS;QACjD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS;gBAAE,SAAS;YAClC,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;gBAC1C,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;oBACvE,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,2CAA2C,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC"}
@@ -38,4 +38,14 @@ export declare function parseHistory(raw: unknown): {
38
38
  } | undefined;
39
39
  /** `light/get_aa_state_vars`: a plain record (undefined when malformed). */
40
40
  export declare function parseStateVars(raw: unknown): Record<string, unknown> | undefined;
41
+ /** Balance of one asset: confirmed (stable) and not yet confirmed (pending), atomic units. */
42
+ export interface AssetBalance {
43
+ readonly stable: bigint;
44
+ readonly pending: bigint;
45
+ }
46
+ /**
47
+ * `light/get_balances` for one address: balances by asset ('base' = bytes);
48
+ * an address without funds has none. Undefined when the answer is malformed.
49
+ */
50
+ export declare function parseBalances(raw: unknown, address: string): Record<string, AssetBalance> | undefined;
41
51
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/hub/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAStD,eAAO,MAAM,oBAAoB;;;;;;;;;;;iBAgBvB,CAAC;AAYX,eAAO,MAAM,gBAAgB;;;;;;;;;;;iBAQnB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAa9C,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAGpE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,OAAO,GACX;IAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,eAAe,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG,SAAS,CAO3E;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAGhF"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/hub/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAStD,eAAO,MAAM,oBAAoB;;;;;;;;;;;iBAgBvB,CAAC;AAYX,eAAO,MAAM,gBAAgB;;;;;;;;;;;iBAQnB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAa9C,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAGpE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,OAAO,GACX;IAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,eAAe,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG,SAAS,CAO3E;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAGhF;AAED,8FAA8F;AAC9F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAOD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAS1C"}
@@ -68,4 +68,18 @@ export function parseStateVars(raw) {
68
68
  const parsed = z.record(z.string(), z.unknown()).safeParse(raw);
69
69
  return parsed.success ? parsed.data : undefined;
70
70
  }
71
+ const balancesSchema = z.record(z.string(), z.record(z.string(), z.object({ stable: safeAmount, pending: safeAmount }).loose()));
72
+ /**
73
+ * `light/get_balances` for one address: balances by asset ('base' = bytes);
74
+ * an address without funds has none. Undefined when the answer is malformed.
75
+ */
76
+ export function parseBalances(raw, address) {
77
+ const parsed = balancesSchema.safeParse(raw);
78
+ if (!parsed.success)
79
+ return undefined;
80
+ return Object.fromEntries(Object.entries(parsed.data[address] ?? {}).map(([asset, b]) => [
81
+ asset,
82
+ { stable: BigInt(b.stable), pending: BigInt(b.pending) },
83
+ ]));
84
+ }
71
85
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/hub/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/hub/schemas.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,6 +14,6 @@ export { BatchObyteClient, type BatchClientOptions, MIN_DEPOSIT, TRIGGER_FEE, ad
14
14
  export { CoinReservations, type HistoryJoint, type ReservationRow, ReservingComposer, type ReservingComposerOptions, type Utxo, inputKey, selectCoins, unspentOutputs, } from './coins/index.js';
15
15
  export { type BindingInput, bindingsEqual, computeBinding, newQuoteId, sha256Hex, } from './binding/binding.js';
16
16
  export { ExactObyteFacilitatorV1, type PaymentPayloadV1, type PaymentRequirementsV1, requirementsV1ToV2, requirementsV2ToV1, } from './exact/facilitator-v1.js';
17
- export { type LedgerUnit, type ProofchainBall, parseHistory, parseLedgerUnit, parseStateVars, } from './hub/schemas.js';
17
+ export { type LedgerUnit, type ProofchainBall, parseHistory, parseLedgerUnit, parseStateVars, type AssetBalance, parseBalances, } from './hub/schemas.js';
18
18
  export { KeyedQueue } from './util/keyed-queue.js';
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,eAAe,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,KAAK,cAAc,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,aAAa,EACb,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,KAAK,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,IAAI,EACT,QAAQ,EACR,WAAW,EACX,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,YAAY,EACjB,aAAa,EACb,cAAc,EACd,UAAU,EACV,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,YAAY,EACZ,eAAe,EACf,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,eAAe,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,KAAK,cAAc,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,aAAa,EACb,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,KAAK,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,iBAAiB,EACjB,KAAK,wBAAwB,EAC7B,KAAK,IAAI,EACT,QAAQ,EACR,WAAW,EACX,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,YAAY,EACjB,aAAa,EACb,cAAc,EACd,UAAU,EACV,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,KAAK,YAAY,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -14,6 +14,6 @@ export { BatchObyteClient, MIN_DEPOSIT, TRIGGER_FEE, addressOfKey, closeChannel,
14
14
  export { CoinReservations, ReservingComposer, inputKey, selectCoins, unspentOutputs, } from './coins/index.js';
15
15
  export { bindingsEqual, computeBinding, newQuoteId, sha256Hex, } from './binding/binding.js';
16
16
  export { ExactObyteFacilitatorV1, requirementsV1ToV2, requirementsV2ToV1, } from './exact/facilitator-v1.js';
17
- export { parseHistory, parseLedgerUnit, parseStateVars, } from './hub/schemas.js';
17
+ export { parseHistory, parseLedgerUnit, parseStateVars, parseBalances, } from './hub/schemas.js';
18
18
  export { KeyedQueue } from './util/keyed-queue.js';
19
19
  //# 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,OAAO,EAAmB,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,YAAY,EAGZ,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAML,qBAAqB,EAErB,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GAGtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAgC,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAA2C,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,aAAa,EACb,YAAY,EAIZ,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,gBAAgB,GAIjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAqC,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAIL,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,kBAAkB,GAGnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAEhB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAGhB,iBAAiB,EAGjB,QAAQ,EACR,WAAW,EACX,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,aAAa,EACb,cAAc,EACd,UAAU,EACV,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EAGvB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,YAAY,EACZ,eAAe,EACf,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,YAAY,EAGZ,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAML,qBAAqB,EAErB,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GAGtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAgC,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAA2C,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EACL,aAAa,EACb,YAAY,EAIZ,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,gBAAgB,GAIjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAqC,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAIL,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,kBAAkB,GAGnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAEhB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAGhB,iBAAiB,EAGjB,QAAQ,EACR,WAAW,EACX,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,aAAa,EACb,cAAc,EACd,UAAU,EACV,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EAGvB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,YAAY,EACZ,eAAe,EACf,cAAc,EAEd,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@obbyx/x402-obyte",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "x402 payment mechanisms for the Obyte network: exact (on-chain unit) and batch-settlement (AA payment channels)",
5
5
  "keywords": [
6
6
  "x402",
@@ -42,7 +42,7 @@
42
42
  "access": "public"
43
43
  },
44
44
  "dependencies": {
45
- "@obbyx/obyte": "^0.1.0",
45
+ "@obbyx/obyte": "^0.1.1",
46
46
  "@x402/core": "^2.29.0",
47
47
  "obyte": "0.2.1",
48
48
  "zod": "^4.6.7"
@@ -19,8 +19,13 @@ import obyte from 'obyte';
19
19
  import type { ReservingComposer } from '../coins/index.js';
20
20
  import { hubCall } from '../hub/hub-call.js';
21
21
  import { parseStateVars } from '../hub/schemas.js';
22
- import type { ClientChannelStore, PendingVoucher } from './client-store.js';
23
- import { BATCH_REASONS, BATCH_SCHEME, parseBatchRequirements } from './requirements.js';
22
+ import type { ClientChannel, ClientChannelStore, PendingVoucher } from './client-store.js';
23
+ import {
24
+ BATCH_REASONS,
25
+ BATCH_SCHEME,
26
+ type ParsedBatchRequirements,
27
+ parseBatchRequirements,
28
+ } from './requirements.js';
24
29
 
25
30
  /**
26
31
  * Buyer side of `batch-settlement` on Obyte (party B of an AA channel).
@@ -194,8 +199,33 @@ export class BatchObyteClient implements SchemeNetworkClient {
194
199
  if (cap !== undefined && req.amount > cap) {
195
200
  throw new ObbyxError('amount_over_limit', `Price ${req.amount} exceeds the limit ${cap}`);
196
201
  }
197
- const store = this.options.store;
198
- const channel = store.find(req.network.caip2, req.payTo, req.asset);
202
+ const channel = this.channelFor(req);
203
+
204
+ // Same operation retried: resend the same voucher (never sign a second one).
205
+ if (channel.pending !== null) {
206
+ if (channel.pending.binding === req.extra.binding)
207
+ return { x402Version: 2, payload: { signedPackage: channel.pending.signedPackage } };
208
+ throw new ObbyxError(
209
+ 'payment_pending',
210
+ `A previous voucher on channel ${channel.aa} has an unknown outcome; retry that request first`,
211
+ );
212
+ }
213
+
214
+ const { period, balance } = await this.ledgerState(channel);
215
+ const committed = period > channel.period ? 0n : channel.committed;
216
+ const amountSpent = committed + req.amount;
217
+ if (amountSpent > balance) {
218
+ throw new ObbyxError(
219
+ 'channel_exhausted',
220
+ `Channel balance ${balance} is not enough; deposit more with: obbyx channel deposit ${channel.aa}`,
221
+ );
222
+ }
223
+ return this.signVoucher(channel.aa, period, amountSpent, req);
224
+ }
225
+
226
+ /** Our open channel to this seller, with a dispute window the seller accepts. */
227
+ private channelFor(req: ParsedBatchRequirements): ClientChannel {
228
+ const channel = this.options.store.find(req.network.caip2, req.payTo, req.asset);
199
229
  if (channel === undefined) {
200
230
  throw new ObbyxError(
201
231
  'no_channel',
@@ -208,17 +238,14 @@ export class BatchObyteClient implements SchemeNetworkClient {
208
238
  `The seller requires a channel timeout ≥ ${req.extra.minTimeout} s`,
209
239
  );
210
240
  }
241
+ return channel;
242
+ }
211
243
 
212
- // Same operation retried: resend the same voucher (never sign a second one).
213
- if (channel.pending !== null) {
214
- if (channel.pending.binding === req.extra.binding)
215
- return { x402Version: 2, payload: { signedPackage: channel.pending.signedPackage } };
216
- throw new ObbyxError(
217
- 'payment_pending',
218
- `A previous voucher on channel ${channel.aa} has an unknown outcome; retry that request first`,
219
- );
220
- }
221
-
244
+ /**
245
+ * The channel's current period and confirmed deposit, from the AA state.
246
+ * A new period (the channel was closed and reopened) resets our local amount.
247
+ */
248
+ private async ledgerState(channel: ClientChannel): Promise<{ period: number; balance: bigint }> {
222
249
  const vars = await hubCall(
223
250
  () => this.options.client.api.getAaStateVars({ address: channel.aa }),
224
251
  this.options.hubTimeoutMs ?? 15_000,
@@ -236,19 +263,20 @@ export class BatchObyteClient implements SchemeNetworkClient {
236
263
  );
237
264
  if (state['close_initiated_by'] !== undefined)
238
265
  throw new ObbyxError('channel_closing', 'The channel is being closed');
239
- if (period > channel.period) store.newPeriod(channel.aa, period);
240
- const committed = period > channel.period ? 0n : channel.committed;
241
- const amountSpent = committed + req.amount;
266
+ if (period > channel.period) this.options.store.newPeriod(channel.aa, period);
242
267
  const balance = BigInt(typeof state['balanceB'] === 'number' ? state['balanceB'] : 0);
243
- if (amountSpent > balance) {
244
- throw new ObbyxError(
245
- 'channel_exhausted',
246
- `Channel balance ${balance} is not enough; deposit more with: obbyx channel deposit ${channel.aa}`,
247
- );
248
- }
268
+ return { period, balance };
269
+ }
249
270
 
271
+ /** Signs the voucher and records it as THE pending one of the channel (one at a time). */
272
+ private signVoucher(
273
+ aa: string,
274
+ period: number,
275
+ amountSpent: bigint,
276
+ req: ParsedBatchRequirements,
277
+ ): PaymentPayloadResult {
250
278
  const message = {
251
- aa_address: channel.aa,
279
+ aa_address: aa,
252
280
  period,
253
281
  amount_spent: toSafeNumber(amountSpent),
254
282
  payment_amount: toSafeNumber(req.amount),
@@ -264,11 +292,11 @@ export class BatchObyteClient implements SchemeNetworkClient {
264
292
  amountSpent: amountSpent.toString(),
265
293
  signedPackage,
266
294
  };
267
- if (!store.setPending(channel.aa, pending)) {
295
+ if (!this.options.store.setPending(aa, pending)) {
268
296
  throw new ObbyxError('payment_pending', 'Another voucher on this channel is in flight');
269
297
  }
270
298
  this.log.info(
271
- { aa: channel.aa, period, amountSpent: amountSpent.toString(), binding: req.extra.binding },
299
+ { aa, period, amountSpent: amountSpent.toString(), binding: req.extra.binding },
272
300
  'voucher signed',
273
301
  );
274
302
  return { x402Version: 2, payload: { signedPackage } };
@@ -298,23 +326,7 @@ export class BatchObyteClient implements SchemeNetworkClient {
298
326
  typeof charged === 'string' &&
299
327
  /^\d+$/.test(charged)
300
328
  ) {
301
- // PAYMENT-RESPONSE is NOT authenticated: never raise our committed amount
302
- // to an arbitrary value (a malicious seller could make us sign a voucher
303
- // for the whole deposit). Accept only:
304
- // - exactly the amount of the voucher WE signed (it was committed earlier), or
305
- // - a lower amount (signing less than before cannot hurt us).
306
- const claimed = BigInt(charged);
307
- if (claimed === BigInt(pending.amountSpent)) {
308
- this.options.store.confirm(channel.aa, pending.period, claimed);
309
- } else if (pending.period === channel.period && claimed <= channel.committed) {
310
- this.options.store.dropPending(channel.aa, { period: pending.period, committed: claimed });
311
- } else {
312
- this.options.store.dropPending(channel.aa);
313
- this.log.error(
314
- { aa: channel.aa, claimed: charged, local: channel.committed.toString() },
315
- 'seller claimed a committed amount we never signed; refusing to resync',
316
- );
317
- }
329
+ this.resync(channel, pending, BigInt(charged));
318
330
  } else if (
319
331
  reason !== undefined &&
320
332
  reason !== 'settlement_pending' &&
@@ -325,4 +337,25 @@ export class BatchObyteClient implements SchemeNetworkClient {
325
337
  }
326
338
  // settlement_pending / busy / no answer: keep the voucher pending; retry the same operation.
327
339
  }
340
+
341
+ /**
342
+ * The seller says our committed amount differs. PAYMENT-RESPONSE is NOT
343
+ * authenticated: never raise our committed amount to an arbitrary value (a
344
+ * malicious seller could make us sign a voucher for the whole deposit).
345
+ * Accept only exactly the voucher WE signed (it was committed earlier), or a
346
+ * lower amount (signing less than before cannot hurt us).
347
+ */
348
+ private resync(channel: ClientChannel, pending: PendingVoucher, claimed: bigint): void {
349
+ if (claimed === BigInt(pending.amountSpent)) {
350
+ this.options.store.confirm(channel.aa, pending.period, claimed);
351
+ } else if (pending.period === channel.period && claimed <= channel.committed) {
352
+ this.options.store.dropPending(channel.aa, { period: pending.period, committed: claimed });
353
+ } else {
354
+ this.options.store.dropPending(channel.aa);
355
+ this.log.error(
356
+ { aa: channel.aa, claimed: claimed.toString(), local: channel.committed.toString() },
357
+ 'seller claimed a committed amount we never signed; refusing to resync',
358
+ );
359
+ }
360
+ }
328
361
  }