@obbyx/sdk 0.2.0 → 0.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"paying-fetch.d.ts","sourceRoot":"","sources":["../../src/client/paying-fetch.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAuC,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAC9F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,iFAAiF;IACjF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,qBAAa,mBAAoB,SAAQ,UAAU;IAE/C,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM;gBADnB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM;CAO/B;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,GAAG;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAsGvB"}
1
+ {"version":3,"file":"paying-fetch.d.ts","sourceRoot":"","sources":["../../src/client/paying-fetch.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAKV,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAqB,cAAc,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAC9F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,iFAAiF;IACjF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,qBAAa,mBAAoB,SAAQ,UAAU;IAE/C,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM;gBADnB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM;CAO/B;AAED,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,GAAG;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA+CvB"}
@@ -29,73 +29,14 @@ export async function payingFetch(url, init, options) {
29
29
  const required = response.headers.get('PAYMENT-REQUIRED');
30
30
  if (required === null)
31
31
  throw new ObbyxError('invalid_402', '402 without PAYMENT-REQUIRED header');
32
- const offer = decodePaymentRequiredHeader(required);
33
- // Offers in preference order (channel first). A channel that turns out to
34
- // be unusable before anything is signed (not funded, closing, exhausted,
35
- // busy) falls through to the next offer, normally `exact`.
36
- let accepted;
37
- let result;
38
- let lastChannelError;
39
- for (const candidate of chooseOffers(offer.accepts, options)) {
40
- const mechanism = candidate.scheme === BATCH_SCHEME ? options.mechanisms.batch : options.mechanisms.exact;
41
- if (mechanism === undefined)
42
- continue;
43
- log.info({
44
- url,
45
- scheme: candidate.scheme,
46
- payTo: candidate.payTo,
47
- asset: candidate.asset,
48
- amount: candidate.amount,
49
- }, 'paying for request');
50
- // Reserve the price BEFORE signing: concurrent calls cannot overshoot the budget.
51
- reservation = options.budget?.reserve(candidate.asset, BigInt(candidate.amount));
52
- try {
53
- result = await mechanism.createPaymentPayload(2, candidate);
54
- accepted = candidate;
55
- break;
56
- }
57
- catch (err) {
58
- if (reservation)
59
- options.budget?.release(reservation); // nothing was signed or sent
60
- reservation = undefined;
61
- if (err instanceof ObbyxError && CHANNEL_UNUSABLE.has(err.code)) {
62
- lastChannelError = err;
63
- log.info({ reason: err.code, detail: err.message }, 'channel unusable; trying the next offer');
64
- continue;
65
- }
66
- throw err;
67
- }
68
- }
69
- if (accepted === undefined || result === undefined) {
70
- // Nothing else to pay with: report why the channel could not (e.g. payment_pending).
71
- throw lastChannelError ?? new ObbyxError('no_acceptable_offer', 'No offer could be paid');
72
- }
73
- const payload = {
74
- x402Version: 2,
75
- resource: offer.resource,
76
- accepted,
77
- payload: result.payload,
78
- ...(offer.extensions ? { extensions: withPaymentId(offer.extensions, init.paymentId) } : {}),
79
- };
80
- header = encodePaymentSignatureHeader(payload);
32
+ ({ header, reservation } = await signPayment(decodePaymentRequiredHeader(required), init.paymentId, url, options, log));
81
33
  response = await request(header);
82
34
  }
83
35
  const deadline = Date.now() + (options.pendingTimeoutMs ?? 120_000);
84
36
  for (;;) {
85
37
  const settle = readSettle(response);
86
38
  if (response.status !== 402 || settle?.errorReason !== 'settlement_pending') {
87
- const accepted = acceptedOf(header);
88
- if (accepted?.scheme === BATCH_SCHEME)
89
- options.mechanisms.batch?.onSettled(accepted, settle);
90
- if (reservation !== undefined && options.budget !== undefined) {
91
- // I7: spend on success; release ONLY on a definite refusal (402: the
92
- // payment was not used). Anything else (5xx, 409, no settlement info)
93
- // is an unknown outcome: the reservation stays counted.
94
- if (settle?.success === true || (response.ok && settle === undefined))
95
- options.budget.spend(reservation);
96
- else if (response.status === 402)
97
- options.budget.release(reservation);
98
- }
39
+ recordOutcome(response, settle, header, reservation, options);
99
40
  return { response, ...(settle ? { payment: settle } : {}), paymentHeader: header };
100
41
  }
101
42
  if (Date.now() > deadline)
@@ -108,6 +49,72 @@ export async function payingFetch(url, init, options) {
108
49
  response = await request(header);
109
50
  }
110
51
  }
52
+ /**
53
+ * Signs a payment for the first usable offer, in preference order (channel
54
+ * first). A channel that turns out to be unusable before anything is signed
55
+ * (not funded, closing, exhausted, busy) falls through to the next offer,
56
+ * normally `exact`. The price is reserved in the budget BEFORE signing, so
57
+ * concurrent calls cannot overshoot it.
58
+ */
59
+ async function signPayment(offer, paymentId, url, options, log) {
60
+ let lastChannelError;
61
+ for (const candidate of chooseOffers(offer.accepts, options)) {
62
+ const mechanism = candidate.scheme === BATCH_SCHEME ? options.mechanisms.batch : options.mechanisms.exact;
63
+ if (mechanism === undefined)
64
+ continue;
65
+ log.info({
66
+ url,
67
+ scheme: candidate.scheme,
68
+ payTo: candidate.payTo,
69
+ asset: candidate.asset,
70
+ amount: candidate.amount,
71
+ }, 'paying for request');
72
+ const reservation = options.budget?.reserve(candidate.asset, BigInt(candidate.amount));
73
+ let result;
74
+ try {
75
+ result = await mechanism.createPaymentPayload(2, candidate);
76
+ }
77
+ catch (err) {
78
+ if (reservation)
79
+ options.budget?.release(reservation); // nothing was signed or sent
80
+ if (err instanceof ObbyxError && CHANNEL_UNUSABLE.has(err.code)) {
81
+ lastChannelError = err;
82
+ log.info({ reason: err.code, detail: err.message }, 'channel unusable; trying the next offer');
83
+ continue;
84
+ }
85
+ throw err;
86
+ }
87
+ const payload = {
88
+ x402Version: 2,
89
+ resource: offer.resource,
90
+ accepted: candidate,
91
+ payload: result.payload,
92
+ ...(offer.extensions ? { extensions: withPaymentId(offer.extensions, paymentId) } : {}),
93
+ };
94
+ return { header: encodePaymentSignatureHeader(payload), reservation };
95
+ }
96
+ // Nothing else to pay with: report why the channel could not (e.g. payment_pending).
97
+ throw lastChannelError ?? new ObbyxError('no_acceptable_offer', 'No offer could be paid');
98
+ }
99
+ /**
100
+ * Applies the final answer: the channel voucher is confirmed or released, and
101
+ * the budget reservation is spent on success and released ONLY on a definite
102
+ * refusal (402: the payment was not used). Anything else (5xx, 409, no
103
+ * settlement info) is an unknown outcome: the reservation stays counted (I7).
104
+ */
105
+ function recordOutcome(response, settle, header, reservation, options) {
106
+ const accepted = acceptedOf(header);
107
+ if (accepted?.scheme === BATCH_SCHEME)
108
+ options.mechanisms.batch?.onSettled(accepted, settle);
109
+ if (reservation === undefined || options.budget === undefined)
110
+ return;
111
+ if (settle?.success === true || (response.ok && settle === undefined)) {
112
+ options.budget.spend(reservation);
113
+ }
114
+ else if (response.status === 402) {
115
+ options.budget.release(reservation);
116
+ }
117
+ }
111
118
  /** An offer from an untrusted seller: integer amount in smallest units, strings elsewhere. */
112
119
  const offerShape = z
113
120
  .object({
@@ -1 +1 @@
1
- {"version":3,"file":"paying-fetch.js","sourceRoot":"","sources":["../../src/client/paying-fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paying-fetch.js","sourceRoot":"","sources":["../../src/client/paying-fetch.ts"],"names":[],"mappings":"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"}
@@ -97,9 +97,29 @@ export declare class ObytePaywall {
97
97
  /** Wraps a handler so it only runs after a settled payment. */
98
98
  paid(route: PaidRouteOptions, handler: PaidHandler): RequestHandler;
99
99
  private handle;
100
+ /**
101
+ * Decodes the payment and checks it against THIS offer: our scheme, network,
102
+ * price and payee, and a binding we issued for this very request.
103
+ */
104
+ private parsePayment;
105
+ /** Registers the proof, then continues from its state: one payment, one operation. */
106
+ private process;
107
+ /**
108
+ * x402 payment-identifier: one client id = one operation. Decided AFTER the
109
+ * proof row exists, so a concurrent request always sees this proof as in
110
+ * progress (never as "absent") and cannot take the id over. True when the
111
+ * response was already sent (refused, or the stored response replayed).
112
+ */
113
+ private paymentIdentifierAnswered;
114
+ /** upfront flow: settle to finality, then run the handler once. */
115
+ private settleUpfront;
100
116
  /** authorization flow: verify → handler (response stored) → settle → send. */
101
117
  private authorize;
118
+ /** authorization flow, after the handler: settle, then send the stored response. */
102
119
  private settleServed;
120
+ /** Not final yet: the client retries with the same payment. */
121
+ private answerPending;
122
+ /** Runs the handler once for a settled payment and stores its response. */
103
123
  private serve;
104
124
  private send;
105
125
  private paymentRequired;
@@ -1 +1 @@
1
- {"version":3,"file":"paywall.d.ts","sourceRoot":"","sources":["../../src/seller/paywall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paywall.d.ts","sourceRoot":"","sources":["../../src/seller/paywall.ts"],"names":[],"mappings":"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"}