@run402/sdk 4.117.2 → 4.119.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +1 -1
  2. package/dist/namespaces/pay.d.ts +15 -1
  3. package/dist/namespaces/pay.d.ts.map +1 -1
  4. package/dist/namespaces/pay.js +19 -0
  5. package/dist/namespaces/pay.js.map +1 -1
  6. package/dist/node/index.d.ts +2 -0
  7. package/dist/node/index.d.ts.map +1 -1
  8. package/dist/node/index.js +2 -0
  9. package/dist/node/index.js.map +1 -1
  10. package/dist/node/init.d.ts +3 -0
  11. package/dist/node/init.d.ts.map +1 -1
  12. package/dist/node/init.js +11 -8
  13. package/dist/node/init.js.map +1 -1
  14. package/dist/node/lightning-paid-fetch.d.ts +41 -2
  15. package/dist/node/lightning-paid-fetch.d.ts.map +1 -1
  16. package/dist/node/lightning-paid-fetch.js +157 -20
  17. package/dist/node/lightning-paid-fetch.js.map +1 -1
  18. package/dist/node/lightning-x402-lnbtc.d.ts +15 -2
  19. package/dist/node/lightning-x402-lnbtc.d.ts.map +1 -1
  20. package/dist/node/lightning-x402-lnbtc.js +29 -4
  21. package/dist/node/lightning-x402-lnbtc.js.map +1 -1
  22. package/dist/node/nwc.d.ts +6 -0
  23. package/dist/node/nwc.d.ts.map +1 -1
  24. package/dist/node/nwc.js +9 -0
  25. package/dist/node/nwc.js.map +1 -1
  26. package/dist/node/onchain-balances.d.ts +24 -0
  27. package/dist/node/onchain-balances.d.ts.map +1 -0
  28. package/dist/node/onchain-balances.js +72 -0
  29. package/dist/node/onchain-balances.js.map +1 -0
  30. package/dist/node/paid-fetch.d.ts +26 -1
  31. package/dist/node/paid-fetch.d.ts.map +1 -1
  32. package/dist/node/paid-fetch.js +125 -7
  33. package/dist/node/paid-fetch.js.map +1 -1
  34. package/dist/node/status.d.ts +4 -0
  35. package/dist/node/status.d.ts.map +1 -1
  36. package/dist/node/status.js +6 -47
  37. package/dist/node/status.js.map +1 -1
  38. package/dist/node/tempo.d.ts +30 -0
  39. package/dist/node/tempo.d.ts.map +1 -0
  40. package/dist/node/tempo.js +36 -0
  41. package/dist/node/tempo.js.map +1 -0
  42. package/dist/secret-gate.d.ts +5 -0
  43. package/dist/secret-gate.d.ts.map +1 -1
  44. package/dist/secret-gate.js +9 -0
  45. package/dist/secret-gate.js.map +1 -1
  46. package/package.json +1 -1
@@ -1,4 +1,11 @@
1
+ import { type PayExecutor } from "../namespaces/pay.js";
1
2
  import { type LightningStack } from "./_paid-stack.js";
3
+ import { type X402LnbtcPaid } from "./lightning-x402-lnbtc.js";
4
+ /** The x402 network ids of Bitcoin mainnet and testnet3 (`lnbtc:` + the genesis hash prefix). */
5
+ export declare const LNBTC_MAINNET = "lnbtc:000000000019d6689c085ae165831e93";
6
+ export declare const LNBTC_TESTNET = "lnbtc:000000000933ea01ad0ee984209779ba";
7
+ /** The `lnbtc` network id for a node's reported network name, or null when the scheme defines none. */
8
+ export declare function lnbtcNetworkForNodeNetwork(name: string | null | undefined): string | null;
2
9
  type FetchFn = typeof globalThis.fetch;
3
10
  export declare const RUN402_MPP_LIGHTNING_PROFILE = "run402-mpp-lightning-charge-draft00-safety-v1";
4
11
  /** A single Run402 charge above this is refused before paying (the spec's conservative USD ceiling in sats). */
@@ -29,6 +36,19 @@ export interface LightningWalletLike {
29
36
  state: string | null;
30
37
  preimage: string | null;
31
38
  } | null>;
39
+ /** The node's network name (`mainnet`, `testnet`, …); used when the wallet's network is probed. */
40
+ getInfo?(): Promise<{
41
+ network: string | null;
42
+ pubkey: string | null;
43
+ methods: string[];
44
+ }>;
45
+ }
46
+ /** Per-call limits a `pay.fetch` call hands the buyer; read through `perCall`. */
47
+ export interface LightningCallOptions {
48
+ /** Refuse a Lightning payment whose invoice plus routing headroom exceeds this many sats. */
49
+ maxSats?: number;
50
+ /** A merchant receipt was demanded; no `lnbtc` entry carries one, so the buyer refuses before paying. */
51
+ requireReceipt?: boolean;
32
52
  }
33
53
  export interface LightningFetchOptions {
34
54
  pairingUri: string;
@@ -37,8 +57,16 @@ export interface LightningFetchOptions {
37
57
  baseFetch?: FetchFn;
38
58
  wallet?: LightningWalletLike;
39
59
  stack?: () => Promise<LightningStack>;
40
- /** Called with the payment hash of each paid challenge (never the preimage). */
41
- onPaid?: (paymentHash: string) => void;
60
+ /**
61
+ * The wallet's `lnbtc` network id: the platform Hub sub-wallet is mainnet
62
+ * (the default); `"probe"` asks the node once (`get_info`) and remembers
63
+ * the answer, for a bring-your-own pairing.
64
+ */
65
+ walletNetwork?: string | "probe";
66
+ /** The per-call limits of the `pay.fetch` call in flight, when any. */
67
+ perCall?: () => LightningCallOptions | undefined;
68
+ /** Called with the payment hash of each paid challenge (never the preimage), and what was paid. */
69
+ onPaid?: (paymentHash: string, paid?: X402LnbtcPaid) => void;
42
70
  /** The wait between post-settlement retries; tests pass an instant one. */
43
71
  sleep?: (ms: number) => Promise<void>;
44
72
  /** Unix seconds for x402 Lightning invoice checks; tests pin it. */
@@ -66,5 +94,16 @@ export declare function readLightningChallenge(response: Response, stack: Lightn
66
94
  */
67
95
  export declare function isLightningChargedRequest(input: RequestInfo | URL, init: RequestInit | undefined): boolean;
68
96
  export declare function createLightningFetch(options: LightningFetchOptions): FetchFn;
97
+ /**
98
+ * `pay.fetch` on the Lightning rail: the buyer above, run under a per-call
99
+ * context that carries the call's caps in and the payment it made out, so the
100
+ * result reports the `lnbtc` network and the payment hash as its
101
+ * transaction. A request that needed no payment, or that the x402 fallback
102
+ * paid, is reported as the fallback reports it.
103
+ */
104
+ export declare function createLightningPayExecutor(options: Omit<LightningFetchOptions, "perCall" | "onPaid"> & {
105
+ /** The x402 executor that reports a USDC payment made by the fallback, when there is one. */
106
+ fallbackPay?: PayExecutor | null;
107
+ }): PayExecutor;
69
108
  export {};
70
109
  //# sourceMappingURL=lightning-paid-fetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lightning-paid-fetch.d.ts","sourceRoot":"","sources":["../../src/node/lightning-paid-fetch.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAS3E,KAAK,OAAO,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;AAEvC,eAAO,MAAM,4BAA4B,kDAAkD,CAAC;AAI5F,gHAAgH;AAChH,eAAO,MAAM,wBAAwB,SAAU,CAAC;AAehD,4GAA4G;AAC5G,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAK7C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA2BlH;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAChF,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACvG;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,gFAAgF;IAChF,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,2EAA2E;IAC3E,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;aAClB,IAAI,EAAE,MAAM;aAAmC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAA/E,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAkB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAIjH;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,GAAG,kBAAkB,GAAG,IAAI,CAkB3G;AAyBD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAS1G;AA0BD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAuG5E"}
1
+ {"version":3,"file":"lightning-paid-fetch.d.ts","sourceRoot":"","sources":["../../src/node/lightning-paid-fetch.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,23 @@
20
20
  * payment; a settled intent never receives a fresh challenge.
21
21
  */
22
22
  import { createHash } from "node:crypto";
23
+ import { AsyncLocalStorage } from "node:async_hooks";
24
+ import { payResponseMetadata, responseSignalsReplay, } from "../namespaces/pay.js";
23
25
  import { loadLightningStack } from "./_paid-stack.js";
24
- import { explicitRequestHeaders, isX402LightningCandidate, payX402Lightning, readX402LightningOffer, } from "./lightning-x402-lnbtc.js";
26
+ import { explicitRequestHeaders, isX402LightningCandidate, payX402Lightning, readX402LightningOffer, x402LightningNetworks, } from "./lightning-x402-lnbtc.js";
25
27
  import { NwcError, NwcWallet } from "./nwc.js";
28
+ /** The x402 network ids of Bitcoin mainnet and testnet3 (`lnbtc:` + the genesis hash prefix). */
29
+ export const LNBTC_MAINNET = "lnbtc:000000000019d6689c085ae165831e93";
30
+ export const LNBTC_TESTNET = "lnbtc:000000000933ea01ad0ee984209779ba";
31
+ /** The `lnbtc` network id for a node's reported network name, or null when the scheme defines none. */
32
+ export function lnbtcNetworkForNodeNetwork(name) {
33
+ const lower = (name ?? "").toLowerCase();
34
+ if (lower === "mainnet" || lower === "bitcoin")
35
+ return LNBTC_MAINNET;
36
+ if (lower === "testnet" || lower === "testnet3")
37
+ return LNBTC_TESTNET;
38
+ return null;
39
+ }
26
40
  export const RUN402_MPP_LIGHTNING_PROFILE = "run402-mpp-lightning-charge-draft00-safety-v1";
27
41
  const ACCEPT_PAYMENT = `lightning/charge;profile=${RUN402_MPP_LIGHTNING_PROFILE}, tempo/charge;q=0.5`;
28
42
  /** Routing-fee headroom on top of the invoice, in sats (internal Hub payments cost 0). */
@@ -173,10 +187,13 @@ function defaultIdempotencyKey(input, init) {
173
187
  * routing-fee headroom must fit the rail's ceiling and the wallet's remaining
174
188
  * budget. Throws before anything is paid.
175
189
  */
176
- async function checkLightningCaps(wallet, amountSats) {
190
+ async function checkLightningCaps(wallet, amountSats, maxSats) {
177
191
  const allIn = amountSats + FEE_HEADROOM_SATS;
192
+ if (maxSats !== undefined && allIn > maxSats) {
193
+ throw new LightningPaymentError("LIGHTNING_DEBIT_ABOVE_CAP", `A Lightning charge of ${amountSats} sats (plus ${FEE_HEADROOM_SATS} sats routing headroom) exceeds the ${maxSats}-sat cap given for this call.`, { amount_sats: amountSats, cap_sats: maxSats, cap_source: "max_sats", next_action: "raise maxSats / --max-sats, or pay over x402" });
194
+ }
178
195
  if (allIn > LIGHTNING_MAX_DEBIT_SATS) {
179
- throw new LightningPaymentError("LIGHTNING_DEBIT_ABOVE_CAP", `A Lightning charge of ${amountSats} sats exceeds the ${LIGHTNING_MAX_DEBIT_SATS}-sat ceiling.`, { amount_sats: amountSats, cap_sats: LIGHTNING_MAX_DEBIT_SATS, next_action: "pay over x402 (run402 init --switch-rail)" });
196
+ throw new LightningPaymentError("LIGHTNING_DEBIT_ABOVE_CAP", `A Lightning charge of ${amountSats} sats exceeds the ${LIGHTNING_MAX_DEBIT_SATS}-sat ceiling.`, { amount_sats: amountSats, cap_sats: LIGHTNING_MAX_DEBIT_SATS, cap_source: "ceiling", next_action: "pay over x402 (run402 init --switch-rail)" });
180
197
  }
181
198
  const budget = await wallet.getBudgetSats().catch(() => null);
182
199
  if (budget && budget.totalSats !== null && budget.totalSats - budget.usedSats < allIn) {
@@ -188,15 +205,61 @@ export function createLightningFetch(options) {
188
205
  const wallet = options.wallet ?? new NwcWallet(options.pairingUri);
189
206
  const loadStack = options.stack ?? loadLightningStack;
190
207
  const sleep = options.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
208
+ const perCall = options.perCall ?? (() => undefined);
191
209
  let fallbackFetch;
210
+ let walletNetwork;
192
211
  const fallback = async () => {
193
212
  if (fallbackFetch === undefined)
194
213
  fallbackFetch = await options.fallback();
195
214
  return fallbackFetch;
196
215
  };
216
+ /** The wallet's `lnbtc` network: configured, or probed from the node once. */
217
+ const resolveWalletNetwork = () => {
218
+ if (walletNetwork === undefined) {
219
+ walletNetwork = options.walletNetwork === "probe"
220
+ ? (wallet.getInfo ? wallet.getInfo().then((info) => lnbtcNetworkForNodeNetwork(info.network)) : Promise.resolve(null))
221
+ : Promise.resolve(options.walletNetwork ?? LNBTC_MAINNET);
222
+ }
223
+ return walletNetwork;
224
+ };
225
+ /** Pay the 402's `lnbtc` entry on the wallet's network, or say exactly why not. */
226
+ const payOffer = async (input, init, probe) => {
227
+ const offered = x402LightningNetworks(probe);
228
+ if (offered.length === 0)
229
+ return null;
230
+ const network = await resolveWalletNetwork();
231
+ const offer = network === null ? null : readX402LightningOffer(probe, network);
232
+ await probe.body?.cancel().catch(() => undefined);
233
+ if (!offer) {
234
+ throw new LightningPaymentError("LIGHTNING_NETWORK_MISMATCH", `The seller's Lightning offer is on ${offered.join(", ")} and this wallet is on ${network ?? "an unsupported network"}; nothing was paid.`, { offered_networks: offered, wallet_network: network, next_action: "pay with a pairing on that network: run402 pay --lightning-pairing <file|->" });
235
+ }
236
+ const call = perCall();
237
+ if (call?.requireReceipt) {
238
+ throw new LightningPaymentError("LIGHTNING_RECEIPT_UNAVAILABLE", "An x402 Lightning entry carries no merchant receipt; drop requireReceipt (--require-receipt) or pay over x402 USDC. Nothing was paid.", { network: offer.requirements.network });
239
+ }
240
+ return payX402Lightning({
241
+ input,
242
+ init,
243
+ offer,
244
+ wallet,
245
+ baseFetch,
246
+ fail: (code, message, details) => new LightningPaymentError(code, message, details),
247
+ checkCaps: (amountSats) => checkLightningCaps(wallet, amountSats, call?.maxSats),
248
+ onPaid: options.onPaid,
249
+ ...(options.clock ? { clock: options.clock } : {}),
250
+ });
251
+ };
197
252
  return async (input, init) => {
198
253
  if (!isLightningChargedRequest(input, init)) {
199
- // Not a Lightning surface: the x402 buyer (or the plain fetch) owns it.
254
+ // Any other URL: the 402 decides. An `lnbtc` entry on the wallet's
255
+ // network is paid here; one on another network is refused by name; no
256
+ // entry at all hands the request to the x402 buyer (or the plain fetch).
257
+ const probe = await baseFetch(input, init);
258
+ if (probe.status !== 402)
259
+ return probe;
260
+ const paid = await payOffer(input, init, probe);
261
+ if (paid)
262
+ return paid;
200
263
  const other = (await fallback()) ?? baseFetch;
201
264
  return other(input, init);
202
265
  }
@@ -208,21 +271,9 @@ export function createLightningFetch(options) {
208
271
  const probe = await baseFetch(input, { ...init, headers: explicitRequestHeaders(init) });
209
272
  if (probe.status !== 402)
210
273
  return probe;
211
- const offer = readX402LightningOffer(probe);
212
- await probe.body?.cancel().catch(() => undefined);
213
- if (offer) {
214
- return payX402Lightning({
215
- input,
216
- init,
217
- offer,
218
- wallet,
219
- baseFetch,
220
- fail: (code, message, details) => new LightningPaymentError(code, message, details),
221
- checkCaps: (amountSats) => checkLightningCaps(wallet, amountSats),
222
- onPaid: options.onPaid,
223
- ...(options.clock ? { clock: options.clock } : {}),
224
- });
225
- }
274
+ const paid = await payOffer(input, init, probe);
275
+ if (paid)
276
+ return paid;
226
277
  }
227
278
  // Deterministic over the request bytes: a retry of the identical call
228
279
  // (after a crash, a timeout, or a gateway hiccup between payment and
@@ -245,7 +296,7 @@ export function createLightningFetch(options) {
245
296
  return x402(input, init);
246
297
  }
247
298
  await first.body?.cancel().catch(() => undefined);
248
- await checkLightningCaps(wallet, challenge.amountSats);
299
+ await checkLightningCaps(wallet, challenge.amountSats, perCall()?.maxSats);
249
300
  let preimage;
250
301
  try {
251
302
  preimage = (await wallet.payInvoice(challenge.invoice)).preimage;
@@ -293,4 +344,90 @@ export function createLightningFetch(options) {
293
344
  return response;
294
345
  };
295
346
  }
347
+ /**
348
+ * `pay.fetch` on the Lightning rail: the buyer above, run under a per-call
349
+ * context that carries the call's caps in and the payment it made out, so the
350
+ * result reports the `lnbtc` network and the payment hash as its
351
+ * transaction. A request that needed no payment, or that the x402 fallback
352
+ * paid, is reported as the fallback reports it.
353
+ */
354
+ export function createLightningPayExecutor(options) {
355
+ const calls = new AsyncLocalStorage();
356
+ const fetchFn = createLightningFetch({
357
+ ...options,
358
+ perCall: () => calls.getStore(),
359
+ onPaid: (paymentHash, paid) => {
360
+ const call = calls.getStore();
361
+ if (call) {
362
+ call.paymentHash = paymentHash;
363
+ if (paid)
364
+ call.paid = paid;
365
+ }
366
+ },
367
+ });
368
+ return async (url, init, payOptions) => {
369
+ const call = {
370
+ ...(payOptions.maxSats !== undefined ? { maxSats: payOptions.maxSats } : {}),
371
+ requireReceipt: payOptions.requireReceipt === true,
372
+ };
373
+ const response = await calls.run(call, () => fetchFn(url, init));
374
+ if (!call.paymentHash || !call.paid) {
375
+ return {
376
+ response,
377
+ payment: null,
378
+ outcome: "not_required",
379
+ replay: await responseSignalsReplay(response, payOptions.idempotencyKey !== undefined),
380
+ ...payResponseMetadata(response),
381
+ };
382
+ }
383
+ const settled = readSettledPaymentResponse(response);
384
+ // A Lightning entry carries no merchant receipt and no signer authorization, so these instants are absent.
385
+ const noInstant = null;
386
+ const payment = {
387
+ network: call.paid.network,
388
+ paymentId: null,
389
+ amountUsdMicros: 0,
390
+ amountMsat: call.paid.amountMsat,
391
+ asset: "BTC",
392
+ payer: null,
393
+ payTo: call.paid.payTo,
394
+ transaction: settled?.transaction ?? call.paymentHash,
395
+ resourceUrl: call.paid.resourceUrl,
396
+ settlement: { status: settled?.success ? "verified" : "unavailable" },
397
+ fundsMoved: true,
398
+ deduplicated: false,
399
+ delivery: { status: response.ok ? "fulfilled" : "failed", replay: false },
400
+ offer: { status: "absent", resourceUrl: null, validUntil: null },
401
+ merchantReceipt: { status: "absent", claim: null, issuedAt: noInstant },
402
+ signerRelationship: { kind: null, merchantRoot: null, signer: null, authorizationExpiresAt: noInstant },
403
+ policy: { requireReceipt: false, status: "not_required" },
404
+ evidence: { offer: null, merchantReceipt: null, signerAuthorization: null },
405
+ };
406
+ const result = {
407
+ response,
408
+ payment,
409
+ outcome: "settled",
410
+ replay: false,
411
+ ...payResponseMetadata(response),
412
+ };
413
+ return result;
414
+ };
415
+ }
416
+ /** The seller's `PAYMENT-RESPONSE` (x402 v2): `{ success, transaction, network }`, or null. */
417
+ function readSettledPaymentResponse(response) {
418
+ const header = response.headers.get("payment-response");
419
+ if (!header)
420
+ return null;
421
+ try {
422
+ const parsed = JSON.parse(Buffer.from(header, "base64").toString("utf8"));
423
+ return {
424
+ success: parsed.success === true,
425
+ transaction: typeof parsed.transaction === "string" ? parsed.transaction : "",
426
+ network: typeof parsed.network === "string" ? parsed.network : "",
427
+ };
428
+ }
429
+ catch {
430
+ return null;
431
+ }
432
+ }
296
433
  //# sourceMappingURL=lightning-paid-fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lightning-paid-fetch.js","sourceRoot":"","sources":["../../src/node/lightning-paid-fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lightning-paid-fetch.js","sourceRoot":"","sources":["../../src/node/lightning-paid-fetch.ts"],"names":[],"mappings":"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"}
@@ -36,13 +36,26 @@ export interface X402LnbtcWallet {
36
36
  /** A POST to a Run402 surface that offers x402 on Lightning. */
37
37
  export declare function isX402LightningCandidate(input: RequestInfo | URL, init: RequestInit | undefined): boolean;
38
38
  /** The x402 v2 challenge's `exact` entry on an `lnbtc:` network with an invoice, or null. */
39
- export declare function readX402LightningOffer(response: Response): X402LnbtcOffer | null;
39
+ /** The x402 network ids of every payable `lnbtc` entry in a 402 (empty when there is none). */
40
+ export declare function x402LightningNetworks(response: Response): string[];
41
+ /**
42
+ * The payable `lnbtc` entry of a 402: on `network` when one is named (the
43
+ * wallet's), else the first one. Null when the 402 carries none.
44
+ */
45
+ export declare function readX402LightningOffer(response: Response, network?: string): X402LnbtcOffer | null;
40
46
  /**
41
47
  * The request headers made explicit: a string body without a content type is
42
48
  * sent by fetch as `text/plain;charset=UTF-8`, and the request hash must bind
43
49
  * the value actually sent, so it is set here rather than left to fetch.
44
50
  */
45
51
  export declare function explicitRequestHeaders(init: RequestInit | undefined): Headers;
52
+ /** What `onPaid` learns about a payment: the entry it paid, never the preimage. */
53
+ export interface X402LnbtcPaid {
54
+ network: string;
55
+ amountMsat: number;
56
+ payTo: string;
57
+ resourceUrl: string;
58
+ }
46
59
  export interface PayX402LightningOptions {
47
60
  input: RequestInfo | URL;
48
61
  init: RequestInit | undefined;
@@ -52,7 +65,7 @@ export interface PayX402LightningOptions {
52
65
  fail: X402LnbtcErrorFactory;
53
66
  /** Checks the all-in cost (sats) against the rail's ceiling and the wallet's budget; throws to refuse. */
54
67
  checkCaps: (amountSats: number) => Promise<void>;
55
- onPaid?: (paymentHash: string) => void;
68
+ onPaid?: (paymentHash: string, paid: X402LnbtcPaid) => void;
56
69
  /** Unix seconds; the invoice checks' clock. Tests pin it; production uses the system clock. */
57
70
  clock?: () => number;
58
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lightning-x402-lnbtc.d.ts","sourceRoot":"","sources":["../../src/node/lightning-x402-lnbtc.ts"],"names":[],"mappings":"AAsBA,KAAK,OAAO,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;AAQvC,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACrE,OAAO,EAAE,qBAAqB,EAAE,CAAC;KAClC,CAAC;IACF,YAAY,EAAE,qBAAqB,CAAC;CACrC;AAED,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACpC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;CAC3E;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACvG;AAMD,gEAAgE;AAChE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAQzG;AAED,6FAA6F;AAC7F,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,GAAG,IAAI,CAkBhF;AAWD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAM7E;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC;IACzB,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,0GAA0G;IAC1G,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAED,6CAA6C;AAC7C,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAuF1F"}
1
+ {"version":3,"file":"lightning-x402-lnbtc.d.ts","sourceRoot":"","sources":["../../src/node/lightning-x402-lnbtc.ts"],"names":[],"mappings":"AAsBA,KAAK,OAAO,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;AAQvC,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACrE,OAAO,EAAE,qBAAqB,EAAE,CAAC;KAClC,CAAC;IACF,YAAY,EAAE,qBAAqB,CAAC;CACrC;AAED,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACpC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;CAC3E;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACvG;AAMD,gEAAgE;AAChE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAQzG;AAED,6FAA6F;AAC7F,+FAA+F;AAC/F,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,CAIlE;AAuBD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAKlG;AAWD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAM7E;AAED,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC;IACzB,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,0GAA0G;IAC1G,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5D,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAED,6CAA6C;AAC7C,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA4F1F"}
@@ -38,7 +38,14 @@ export function isX402LightningCandidate(input, init) {
38
38
  }
39
39
  }
40
40
  /** The x402 v2 challenge's `exact` entry on an `lnbtc:` network with an invoice, or null. */
41
- export function readX402LightningOffer(response) {
41
+ /** The x402 network ids of every payable `lnbtc` entry in a 402 (empty when there is none). */
42
+ export function x402LightningNetworks(response) {
43
+ const paymentRequired = decodePaymentRequired(response);
44
+ if (!paymentRequired)
45
+ return [];
46
+ return [...new Set(paymentRequired.accepts.filter(isPayableLnbtcEntry).map((entry) => entry.network))];
47
+ }
48
+ function decodePaymentRequired(response) {
42
49
  if (response.status !== 402)
43
50
  return null;
44
51
  const header = response.headers.get("payment-required");
@@ -54,9 +61,22 @@ export function readX402LightningOffer(response) {
54
61
  const paymentRequired = decoded;
55
62
  if (!paymentRequired || paymentRequired.x402Version !== 2 || !Array.isArray(paymentRequired.accepts))
56
63
  return null;
57
- const requirements = paymentRequired.accepts.find((entry) => entry?.scheme === "exact" &&
64
+ return paymentRequired;
65
+ }
66
+ function isPayableLnbtcEntry(entry) {
67
+ return Boolean(entry) && entry.scheme === "exact" &&
58
68
  typeof entry.network === "string" && entry.network.startsWith("lnbtc:") &&
59
- typeof entry.extra?.invoice === "string" && entry.extra.invoice.length > 0);
69
+ typeof entry.extra?.invoice === "string" && entry.extra.invoice.length > 0;
70
+ }
71
+ /**
72
+ * The payable `lnbtc` entry of a 402: on `network` when one is named (the
73
+ * wallet's), else the first one. Null when the 402 carries none.
74
+ */
75
+ export function readX402LightningOffer(response, network) {
76
+ const paymentRequired = decodePaymentRequired(response);
77
+ if (!paymentRequired)
78
+ return null;
79
+ const requirements = paymentRequired.accepts.find((entry) => isPayableLnbtcEntry(entry) && (network === undefined || entry.network === network));
60
80
  return requirements ? { paymentRequired, requirements } : null;
61
81
  }
62
82
  /** The body bytes exactly as fetch will send them, or null when they cannot be known up front. */
@@ -157,7 +177,12 @@ export async function payX402Lightning(options) {
157
177
  throw error;
158
178
  }
159
179
  const paymentHash = decodeInvoice(String(offer.requirements.extra.invoice)).paymentHash;
160
- options.onPaid?.(paymentHash);
180
+ options.onPaid?.(paymentHash, {
181
+ network: offer.requirements.network,
182
+ amountMsat: Number(offer.requirements.amount),
183
+ payTo: offer.requirements.payTo,
184
+ resourceUrl: url,
185
+ });
161
186
  const signature = Buffer.from(JSON.stringify({
162
187
  x402Version: 2,
163
188
  resource: offer.paymentRequired.resource,
@@ -1 +1 @@
1
- {"version":3,"file":"lightning-x402-lnbtc.js","sourceRoot":"","sources":["../../src/node/lightning-x402-lnbtc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lightning-x402-lnbtc.js","sourceRoot":"","sources":["../../src/node/lightning-x402-lnbtc.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,12 @@ export declare class NwcWallet {
47
47
  transport?: NwcTransport;
48
48
  });
49
49
  private call;
50
+ /** The node behind the pairing: its network name, pubkey, and permitted methods. */
51
+ getInfo(): Promise<{
52
+ network: string | null;
53
+ pubkey: string | null;
54
+ methods: string[];
55
+ }>;
50
56
  getBalanceSats(): Promise<number>;
51
57
  /** Remaining budget in sats, or null when the wallet has no budget. */
52
58
  getBudgetSats(): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"nwc.d.ts","sourceRoot":"","sources":["../../src/node/nwc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nwc.d.ts","sourceRoot":"","sources":["../../src/node/nwc.ts"],"names":[],"mappings":"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"}
package/dist/node/nwc.js CHANGED
@@ -325,6 +325,15 @@ export class NwcWallet {
325
325
  call(method, params) {
326
326
  return nwcRequest(this.connection, method, params, this.options);
327
327
  }
328
+ /** The node behind the pairing: its network name, pubkey, and permitted methods. */
329
+ async getInfo() {
330
+ const result = await this.call("get_info", {});
331
+ return {
332
+ network: typeof result.network === "string" ? result.network.toLowerCase() : null,
333
+ pubkey: typeof result.pubkey === "string" ? result.pubkey.toLowerCase() : null,
334
+ methods: Array.isArray(result.methods) ? result.methods.map(String) : [],
335
+ };
336
+ }
328
337
  async getBalanceSats() {
329
338
  const result = await this.call("get_balance", {});
330
339
  return Math.floor(Number(result.balance ?? 0) / 1_000);