beignet 0.8.2 → 0.9.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 (218) hide show
  1. package/README.md +9 -6
  2. package/dist/cli/auth.js +4 -0
  3. package/dist/cli/auth.js.map +1 -1
  4. package/dist/cli/beignet-node.js +76 -2
  5. package/dist/cli/beignet-node.js.map +1 -1
  6. package/dist/cli/cli.js +110 -4
  7. package/dist/cli/cli.js.map +1 -1
  8. package/dist/cli/config.js +7 -0
  9. package/dist/cli/config.js.map +1 -1
  10. package/dist/cli/daemon.js +128 -18
  11. package/dist/cli/daemon.js.map +1 -1
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/cli/openapi.js +174 -2
  14. package/dist/cli/openapi.js.map +1 -1
  15. package/dist/electrum/index.js +9 -5
  16. package/dist/electrum/index.js.map +1 -1
  17. package/dist/lightning/backup/scb.js +134 -1
  18. package/dist/lightning/backup/scb.js.map +1 -1
  19. package/dist/lightning/chain/chain-monitor.js +974 -69
  20. package/dist/lightning/chain/chain-monitor.js.map +1 -1
  21. package/dist/lightning/chain/chain-watcher.js +73 -12
  22. package/dist/lightning/chain/chain-watcher.js.map +1 -1
  23. package/dist/lightning/chain/electrum-backend.js +6 -3
  24. package/dist/lightning/chain/electrum-backend.js.map +1 -1
  25. package/dist/lightning/chain/output-resolver.js +216 -81
  26. package/dist/lightning/chain/output-resolver.js.map +1 -1
  27. package/dist/lightning/chain/sweep.js +1 -1
  28. package/dist/lightning/chain/types.js +1 -0
  29. package/dist/lightning/chain/types.js.map +1 -1
  30. package/dist/lightning/channel/channel-actions.js +41 -1
  31. package/dist/lightning/channel/channel-actions.js.map +1 -1
  32. package/dist/lightning/channel/channel-manager.js +1884 -199
  33. package/dist/lightning/channel/channel-manager.js.map +1 -1
  34. package/dist/lightning/channel/channel-state.js +7 -1
  35. package/dist/lightning/channel/channel-state.js.map +1 -1
  36. package/dist/lightning/channel/channel.js +3937 -1517
  37. package/dist/lightning/channel/channel.js.map +1 -1
  38. package/dist/lightning/channel/commitment-builder.js +15 -5
  39. package/dist/lightning/channel/commitment-builder.js.map +1 -1
  40. package/dist/lightning/channel/dual-funding.js +63 -5
  41. package/dist/lightning/channel/dual-funding.js.map +1 -1
  42. package/dist/lightning/channel/quiescence.js +8 -1
  43. package/dist/lightning/channel/quiescence.js.map +1 -1
  44. package/dist/lightning/channel/splice-weight.js +7 -2
  45. package/dist/lightning/channel/splice-weight.js.map +1 -1
  46. package/dist/lightning/channel/types.js +83 -1
  47. package/dist/lightning/channel/types.js.map +1 -1
  48. package/dist/lightning/channel/validation.js +26 -5
  49. package/dist/lightning/channel/validation.js.map +1 -1
  50. package/dist/lightning/crypto/ecdh.js +6 -1
  51. package/dist/lightning/crypto/ecdh.js.map +1 -1
  52. package/dist/lightning/crypto/musig.js.map +1 -1
  53. package/dist/lightning/gossip/network-graph.js +49 -10
  54. package/dist/lightning/gossip/network-graph.js.map +1 -1
  55. package/dist/lightning/gossip/rapid-sync.js.map +1 -1
  56. package/dist/lightning/gossip/types.js.map +1 -1
  57. package/dist/lightning/gossip/validation.js +29 -1
  58. package/dist/lightning/gossip/validation.js.map +1 -1
  59. package/dist/lightning/index.js +3 -1
  60. package/dist/lightning/index.js.map +1 -1
  61. package/dist/lightning/interactive-tx/validation.js +4 -4
  62. package/dist/lightning/interactive-tx/validation.js.map +1 -1
  63. package/dist/lightning/invoice/decode.js.map +1 -1
  64. package/dist/lightning/l402/challenge.js +122 -0
  65. package/dist/lightning/l402/challenge.js.map +1 -0
  66. package/dist/lightning/l402/client.js +314 -0
  67. package/dist/lightning/l402/client.js.map +1 -0
  68. package/dist/lightning/l402/credentials.js +34 -0
  69. package/dist/lightning/l402/credentials.js.map +1 -0
  70. package/dist/lightning/l402/index.js +21 -0
  71. package/dist/lightning/l402/index.js.map +1 -0
  72. package/dist/lightning/l402/macaroon.js +142 -0
  73. package/dist/lightning/l402/macaroon.js.map +1 -0
  74. package/dist/lightning/message/interactive-tx.js +45 -4
  75. package/dist/lightning/message/interactive-tx.js.map +1 -1
  76. package/dist/lightning/node/funding-selection.js +18 -0
  77. package/dist/lightning/node/funding-selection.js.map +1 -0
  78. package/dist/lightning/node/lightning-node.js +2744 -410
  79. package/dist/lightning/node/lightning-node.js.map +1 -1
  80. package/dist/lightning/node/types.js.map +1 -1
  81. package/dist/lightning/offer/schnorr.js +6 -1
  82. package/dist/lightning/offer/schnorr.js.map +1 -1
  83. package/dist/lightning/recovery/capsule.js +780 -0
  84. package/dist/lightning/recovery/capsule.js.map +1 -0
  85. package/dist/lightning/recovery/channel-status.js +14 -0
  86. package/dist/lightning/recovery/channel-status.js.map +1 -0
  87. package/dist/lightning/recovery/durability-barrier.js +312 -0
  88. package/dist/lightning/recovery/durability-barrier.js.map +1 -0
  89. package/dist/lightning/recovery/frame-codec.js +423 -0
  90. package/dist/lightning/recovery/frame-codec.js.map +1 -0
  91. package/dist/lightning/recovery/guardian-client.js +344 -0
  92. package/dist/lightning/recovery/guardian-client.js.map +1 -0
  93. package/dist/lightning/recovery/guardian-http.js +175 -0
  94. package/dist/lightning/recovery/guardian-http.js.map +1 -0
  95. package/dist/lightning/recovery/guardian-proto.js +973 -0
  96. package/dist/lightning/recovery/guardian-proto.js.map +1 -0
  97. package/dist/lightning/recovery/guardian-replication.js +607 -0
  98. package/dist/lightning/recovery/guardian-replication.js.map +1 -0
  99. package/dist/lightning/recovery/guardian-store.js +366 -0
  100. package/dist/lightning/recovery/guardian-store.js.map +1 -0
  101. package/dist/lightning/recovery/guardian-wire.js +275 -0
  102. package/dist/lightning/recovery/guardian-wire.js.map +1 -0
  103. package/dist/lightning/recovery/guardian.js +1368 -0
  104. package/dist/lightning/recovery/guardian.js.map +1 -0
  105. package/dist/lightning/recovery/index.js +35 -0
  106. package/dist/lightning/recovery/index.js.map +1 -0
  107. package/dist/lightning/recovery/journal.js +1120 -0
  108. package/dist/lightning/recovery/journal.js.map +1 -0
  109. package/dist/lightning/recovery/recovery-manager.js +260 -0
  110. package/dist/lightning/recovery/recovery-manager.js.map +1 -0
  111. package/dist/lightning/recovery/restore-driver.js +511 -0
  112. package/dist/lightning/recovery/restore-driver.js.map +1 -0
  113. package/dist/lightning/recovery/startup-gate.js +121 -0
  114. package/dist/lightning/recovery/startup-gate.js.map +1 -0
  115. package/dist/lightning/recovery/types.js +10 -0
  116. package/dist/lightning/recovery/types.js.map +1 -0
  117. package/dist/lightning/recovery/wire-safety.js +72 -0
  118. package/dist/lightning/recovery/wire-safety.js.map +1 -0
  119. package/dist/lightning/recovery/writer-lease.js +383 -0
  120. package/dist/lightning/recovery/writer-lease.js.map +1 -0
  121. package/dist/lightning/script/htlc-taproot.js +6 -1
  122. package/dist/lightning/script/htlc-taproot.js.map +1 -1
  123. package/dist/lightning/script/revocation.js +1 -1
  124. package/dist/lightning/script/revocation.js.map +1 -1
  125. package/dist/lightning/storage/serialization.js +124 -1
  126. package/dist/lightning/storage/serialization.js.map +1 -1
  127. package/dist/lightning/storage/sqlite-storage.js +248 -11
  128. package/dist/lightning/storage/sqlite-storage.js.map +1 -1
  129. package/dist/lightning/storage/transaction.js +22 -0
  130. package/dist/lightning/storage/transaction.js.map +1 -0
  131. package/dist/lightning/storage/types.js +8 -0
  132. package/dist/lightning/storage/types.js.map +1 -1
  133. package/dist/lightning/transport/peer-manager.js +332 -54
  134. package/dist/lightning/transport/peer-manager.js.map +1 -1
  135. package/dist/lightning/transport/peer.js +142 -5
  136. package/dist/lightning/transport/peer.js.map +1 -1
  137. package/dist/lightning/wallet/wallet-funding-provider.js +65 -6
  138. package/dist/lightning/wallet/wallet-funding-provider.js.map +1 -1
  139. package/dist/transaction/index.js +6 -6
  140. package/dist/transaction/index.js.map +1 -1
  141. package/dist/types/cli/beignet-node.d.ts +29 -0
  142. package/dist/types/cli/daemon.d.ts +4 -2
  143. package/dist/types/cli/index.d.ts +1 -1
  144. package/dist/types/cli/types.d.ts +16 -1
  145. package/dist/types/lightning/backup/scb.d.ts +10 -0
  146. package/dist/types/lightning/chain/chain-monitor.d.ts +21 -2
  147. package/dist/types/lightning/chain/chain-watcher.d.ts +17 -1
  148. package/dist/types/lightning/chain/electrum-backend.d.ts +1 -1
  149. package/dist/types/lightning/chain/output-resolver.d.ts +11 -2
  150. package/dist/types/lightning/chain/types.d.ts +15 -1
  151. package/dist/types/lightning/channel/channel-actions.d.ts +50 -2
  152. package/dist/types/lightning/channel/channel-manager.d.ts +85 -3
  153. package/dist/types/lightning/channel/channel-state.d.ts +48 -0
  154. package/dist/types/lightning/channel/channel.d.ts +136 -6
  155. package/dist/types/lightning/channel/commitment-builder.d.ts +1 -0
  156. package/dist/types/lightning/channel/dual-funding.d.ts +15 -2
  157. package/dist/types/lightning/channel/quiescence.d.ts +2 -1
  158. package/dist/types/lightning/channel/splice-weight.d.ts +2 -0
  159. package/dist/types/lightning/channel/types.d.ts +4 -0
  160. package/dist/types/lightning/channel/validation.d.ts +1 -0
  161. package/dist/types/lightning/gossip/network-graph.d.ts +9 -3
  162. package/dist/types/lightning/gossip/types.d.ts +4 -0
  163. package/dist/types/lightning/gossip/validation.d.ts +3 -0
  164. package/dist/types/lightning/index.d.ts +2 -0
  165. package/dist/types/lightning/interactive-tx/validation.d.ts +1 -0
  166. package/dist/types/lightning/l402/challenge.d.ts +14 -0
  167. package/dist/types/lightning/l402/client.d.ts +73 -0
  168. package/dist/types/lightning/l402/credentials.d.ts +25 -0
  169. package/dist/types/lightning/l402/index.d.ts +4 -0
  170. package/dist/types/lightning/l402/macaroon.d.ts +15 -0
  171. package/dist/types/lightning/message/interactive-tx.d.ts +4 -0
  172. package/dist/types/lightning/node/funding-selection.d.ts +9 -0
  173. package/dist/types/lightning/node/lightning-node.d.ts +116 -3
  174. package/dist/types/lightning/node/types.d.ts +33 -0
  175. package/dist/types/lightning/recovery/capsule.d.ts +77 -0
  176. package/dist/types/lightning/recovery/channel-status.d.ts +9 -0
  177. package/dist/types/lightning/recovery/durability-barrier.d.ts +71 -0
  178. package/dist/types/lightning/recovery/frame-codec.d.ts +5 -0
  179. package/dist/types/lightning/recovery/guardian-client.d.ts +87 -0
  180. package/dist/types/lightning/recovery/guardian-http.d.ts +17 -0
  181. package/dist/types/lightning/recovery/guardian-proto.d.ts +43 -0
  182. package/dist/types/lightning/recovery/guardian-replication.d.ts +96 -0
  183. package/dist/types/lightning/recovery/guardian-store.d.ts +81 -0
  184. package/dist/types/lightning/recovery/guardian-wire.d.ts +61 -0
  185. package/dist/types/lightning/recovery/guardian.d.ts +218 -0
  186. package/dist/types/lightning/recovery/index.d.ts +18 -0
  187. package/dist/types/lightning/recovery/journal.d.ts +108 -0
  188. package/dist/types/lightning/recovery/recovery-manager.d.ts +27 -0
  189. package/dist/types/lightning/recovery/restore-driver.d.ts +68 -0
  190. package/dist/types/lightning/recovery/startup-gate.d.ts +39 -0
  191. package/dist/types/lightning/recovery/types.d.ts +193 -0
  192. package/dist/types/lightning/recovery/wire-safety.d.ts +26 -0
  193. package/dist/types/lightning/recovery/writer-lease.d.ts +52 -0
  194. package/dist/types/lightning/storage/serialization.d.ts +46 -1
  195. package/dist/types/lightning/storage/sqlite-storage.d.ts +30 -2
  196. package/dist/types/lightning/storage/transaction.d.ts +3 -0
  197. package/dist/types/lightning/storage/types.d.ts +49 -0
  198. package/dist/types/lightning/transport/peer-manager.d.ts +27 -0
  199. package/dist/types/lightning/transport/peer.d.ts +10 -0
  200. package/dist/types/lightning/wallet/wallet-funding-provider.d.ts +11 -0
  201. package/dist/types/utils/helpers.d.ts +2 -2
  202. package/dist/types/utils/wallet.d.ts +1 -1
  203. package/dist/types/wallet/index.d.ts +3 -2
  204. package/dist/utils/electrum.js +21 -2
  205. package/dist/utils/electrum.js.map +1 -1
  206. package/dist/utils/helpers.js +5 -3
  207. package/dist/utils/helpers.js.map +1 -1
  208. package/dist/utils/transaction.js +4 -1
  209. package/dist/utils/transaction.js.map +1 -1
  210. package/dist/utils/wallet.js.map +1 -1
  211. package/dist/utils/watch-only.js.map +1 -1
  212. package/dist/wallet/index.js +40 -39
  213. package/dist/wallet/index.js.map +1 -1
  214. package/docs/AI_AGENT_GUIDE.md +72 -0
  215. package/docs/RECOVERY-GUARDIAN-WIRE.md +895 -0
  216. package/docs/RECOVERY-PROTOCOL.md +218 -63
  217. package/docs/RECOVERY-TRANSITION-MATRIX.md +162 -0
  218. package/package.json +17 -14
package/README.md CHANGED
@@ -355,7 +355,7 @@ node.listInvoices();
355
355
  await node.destroy();
356
356
  ```
357
357
 
358
- Events: `node:ready`, `channel:ready`, `channel:closed`, `peer:connect`, `peer:disconnect`, `peer:error`, `payment:sent`, `payment:received`, `node:error`, `log`.
358
+ Events: `node:ready`, `channel:ready`, `channel:closed`, `channel:resolved`, `peer:connect`, `peer:disconnect`, `peer:error`, `payment:sent`, `payment:received`, `node:error`, `log`.
359
359
 
360
360
  Useful variants: `payInvoiceSafe` (never throws), `payInvoiceWithRetry({ maxRetries, backoffMs, maxFeeSats })`, `sendPaymentAsync` (returns the hash immediately), `connectAndOpenChannel`, `openChannelAndWait`, `sendKeysend`, `createOffer`/`payOffer`, `spliceIn`/`spliceOut`, `backup`, `gracefulShutdown`.
361
361
 
@@ -574,6 +574,8 @@ LightningNode High-level API (EventEmitter)
574
574
  | `interactive-tx/` | Interactive transaction construction for v2 dual-funded opens and splicing |
575
575
  | `watchtower/` | Altruist watchtower client: wtwire protocol, justice blobs, tower sessions |
576
576
  | `backup/` | Static channel backup (SCB) export/import |
577
+ | `recovery/` | Safety transition layer: atomic persistence, the durable outbound-message outbox, the opt-in hash-chained recovery journal, and the peer_storage Recovery Capsule |
578
+ | `l402/` | L402 (Lightning HTTP 402) client: challenge parsing, macaroon reading, paid credentials |
577
579
  | `node/` | LightningNode orchestrator, the main protocol-layer entry point |
578
580
  | `wallet/` | WalletFundingProvider, adapts the on-chain Wallet for auto-funded opens |
579
581
  | `bootstrap/` | DNS seed resolution for discovering initial peers |
@@ -588,9 +590,11 @@ LightningNode High-level API (EventEmitter)
588
590
  ## Tests
589
591
 
590
592
  ```bash
591
- npm run test:lightning # 4000+ Lightning unit tests, no infrastructure needed
593
+ npm run test:lightning # 5400+ Lightning unit tests (parallel), no infrastructure needed
592
594
  npm run test:cli # 900+ CLI + daemon unit tests, no infrastructure needed
593
595
  npm run test:conformance # 250+ official BOLT vector cases (subset of test:lightning)
596
+ npm run test:chaos # recovery kill matrices, split out of test:lightning
597
+ npm run test:sigkill # process-level SIGKILL chaos matrix (builds dist first)
594
598
  npm run test:integration # daemon/Electrum integration (needs an Electrum server)
595
599
  npm run test:interop # 190+ cases vs LND/CLN/Eclair (needs Docker)
596
600
  npm run test:all # Lightning + CLI + interop (needs Docker + Electrum)
@@ -600,8 +604,7 @@ Counts are floors, not snapshots. Run the suites for exact numbers.
600
604
 
601
605
  The on-chain wallet suites live in `tests/*.test.ts` and connect to **live public
602
606
  Electrum servers**, so they need network access and can fail on a server outage
603
- rather than on your change. Each script runs `yarn build` first, so yarn has to be
604
- installed:
607
+ rather than on your change. Each script runs `npm run build` first:
605
608
 
606
609
  ```bash
607
610
  npm run test:wallet # also test:transaction, test:electrum, test:storage,
@@ -632,10 +635,10 @@ Services in `docker/docker-compose.yml`:
632
635
 
633
636
  | Service | Image | Ports |
634
637
  |---------|-------|-------|
635
- | bitcoind | Bitcoin Core 29.1 (regtest) | RPC 43782, ZMQ 28334/28335/28336 |
638
+ | bitcoind | Bitcoin Core 31.0 (regtest) | RPC 43782, ZMQ 28334/28335/28336 |
636
639
  | lnd | `lightninglabs/lnd:v0.20.0-beta` | P2P 9735, REST 8081 |
637
640
  | cln | `elementsproject/lightningd:v26.06.1` | CLNRest 3010 |
638
- | eclair | `polarlightning/eclair:0.13.1` | HTTP API 8082 |
641
+ | eclair | 0.14.1, built locally from the release zip (`docker/eclair/Dockerfile`) | HTTP API 8082 |
639
642
  | electrs | `getumbrel/electrs:v0.10.10` | Electrum 60001 |
640
643
 
641
644
  Covered per implementation: BOLT 8 handshake and BOLT 1 init/feature negotiation, disconnect/reconnect and ping/pong survival, channel open in both directions, bidirectional payments and payment_secret validation, MPP, SCID aliases, cooperative close, reestablish, gossip sync, inbound connections, anchor channels, anchor force-close with wallet-funded CPFP and HTLC-timeout fee-attach, and crash recovery. Beyond the shared matrix: taproot channel lifecycle vs LND (open, pay both directions, reestablish, coop and force close, penalty, SCB recovery), splice matrix and lease/liquidity-ads flows vs CLN, `simple_close` vs Eclair, blinded-path payments, and the watchtower client vs an LND tower.
package/dist/cli/auth.js CHANGED
@@ -90,6 +90,9 @@ exports.ROUTE_SCOPES = {
90
90
  'POST /keysend': [],
91
91
  'POST /keysend/safe': [],
92
92
  'POST /offer/pay': [],
93
+ 'POST /l402/fetch': [],
94
+ 'GET /l402/credentials': [],
95
+ 'DELETE /l402/credential': [],
93
96
  'POST /payment/send-to-route': [],
94
97
  'POST /payment/cancel': [],
95
98
  'POST /queue/add': [],
@@ -118,6 +121,7 @@ exports.ROUTE_SCOPES = {
118
121
  'POST /channels/ensure-minimum': [],
119
122
  'POST /channel/close': [],
120
123
  'POST /channel/forceclose': [],
124
+ 'POST /channel/rebroadcast-close': [],
121
125
  'POST /channel/funding-quote': ['readonly'],
122
126
  'POST /channel/splice-quote': ['readonly'],
123
127
  'POST /channel/splice-in': [],
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ const wallet_3 = require("../types/wallet");
41
41
  const wallet_storage_1 = require("./wallet-storage");
42
42
  const electrum_1 = require("../types/electrum");
43
43
  const lightning_node_1 = require("../lightning/node/lightning-node");
44
+ const l402_1 = require("../lightning/l402");
44
45
  const wallet_funding_provider_1 = require("../lightning/wallet/wallet-funding-provider");
45
46
  const sqlite_storage_1 = require("../lightning/storage/sqlite-storage");
46
47
  const encryption_1 = require("../lightning/storage/encryption");
@@ -148,6 +149,7 @@ function jsonToRouteHops(hops) {
148
149
  }
149
150
  exports.jsonToRouteHops = jsonToRouteHops;
150
151
  const GRAPH_DESCRIBE_MAX_LIMIT = 500;
152
+ const DEFAULT_L402_MAX_RESPONSE_BYTES = 5 * 1024 * 1024;
151
153
  const DEFAULT_ELECTRUM = {
152
154
  mainnet: { host: 'fulcrum.bitkit.blocktank.to', port: 8900, useTls: true },
153
155
  testnet: { host: 'electrum.blockstream.info', port: 60002, useTls: true },
@@ -204,6 +206,7 @@ class BeignetNode extends events_1.EventEmitter {
204
206
  this._dailySpentOnchainSats = 0;
205
207
  this._dailySpendResetTime = 0;
206
208
  this._pendingSpendSats = 0;
209
+ this._l402Credentials = new l402_1.MemoryL402CredentialStore();
207
210
  this._draining = false;
208
211
  this.peerStorageEnabled = true;
209
212
  this._peerRetrievedScb = null;
@@ -488,14 +491,22 @@ class BeignetNode extends events_1.EventEmitter {
488
491
  });
489
492
  this.node.on('channel:voided', (data) => {
490
493
  const channelId = data.channelId.toString('hex');
491
- this.log('warn', 'Channel voided: funding tx vanished before confirming', {
494
+ this.log('warn', 'Channel voided: removed with nothing to close on chain (funding tx vanished, or the open was aborted or abandoned before funding)', {
492
495
  channelId
493
496
  });
494
497
  this.refreshStaticChannelBackup();
495
498
  this.emit('channel:voided', { channelId });
496
499
  });
497
- this.node.on('channel:resolved', () => {
500
+ this.node.on('channel:resolved', (data) => {
498
501
  this.refreshStaticChannelBackup();
502
+ const channelId = data.channelId.toString('hex');
503
+ const monitor = this.node.getChannelManager().getMonitor(data.channelId);
504
+ if (monitor && !monitor.isCommitmentConfirmed()) {
505
+ this.log('warn', 'Suppressing channel:resolved relay for unconfirmed close', { channelId });
506
+ return;
507
+ }
508
+ this.log('info', 'Channel resolved', { channelId });
509
+ this.emit('channel:resolved', { channelId });
499
510
  });
500
511
  this.node.on('splice:complete', () => {
501
512
  this.refreshStaticChannelBackup();
@@ -726,6 +737,7 @@ class BeignetNode extends events_1.EventEmitter {
726
737
  erroredBalanceSats: this.getErroredBalanceSats(),
727
738
  splicingBalanceSats: this.getSplicingBalanceSats(),
728
739
  channelCount: info.channelCount,
740
+ openChannelCount: info.openChannelCount,
729
741
  peerCount: info.peerCount,
730
742
  listening: this.node.isListening()
731
743
  };
@@ -1576,6 +1588,9 @@ class BeignetNode extends events_1.EventEmitter {
1576
1588
  }
1577
1589
  return this.node.forceCloseChannel(idBuf, destinationScript);
1578
1590
  }
1591
+ rebroadcastClose(channelId) {
1592
+ return this.node.rebroadcastClose(Buffer.from(channelId, 'hex'));
1593
+ }
1579
1594
  listChannels() {
1580
1595
  return this.node.listChannels().map((ch) => this.toChannelInfo(ch));
1581
1596
  }
@@ -1689,6 +1704,8 @@ class BeignetNode extends events_1.EventEmitter {
1689
1704
  info.htlcMinimumMsat = ch.htlcMinimumMsat.toString();
1690
1705
  if (ch.htlcMaximumMsat !== undefined)
1691
1706
  info.htlcMaximumMsat = ch.htlcMaximumMsat.toString();
1707
+ if (ch.closeStatus)
1708
+ info.closeStatus = ch.closeStatus;
1692
1709
  return info;
1693
1710
  }
1694
1711
  createInvoice(amountSats, description, expirySecs, descriptionHash) {
@@ -2459,6 +2476,63 @@ class BeignetNode extends events_1.EventEmitter {
2459
2476
  removeWatchtower(uri) {
2460
2477
  this.node.removeWatchtower(uri);
2461
2478
  }
2479
+ async l402Fetch(url, init = {}, options) {
2480
+ this._checkDraining();
2481
+ this._assertL402TargetAllowed(url, options.allowPrivateNetwork);
2482
+ const result = await (0, l402_1.l402Fetch)(url, init, {
2483
+ ...options,
2484
+ credentials: this._l402Credentials,
2485
+ payer: {
2486
+ payInvoice: async (bolt11, payOptions) => {
2487
+ const info = await this.payInvoice(bolt11, payOptions.timeoutMs ?? 60000, payOptions.maxFeeSats);
2488
+ if (!info.preimage) {
2489
+ throw new errors_1.BeignetError('PAYMENT_FAILED', 'L402 payment completed without a preimage, so no credential can be built');
2490
+ }
2491
+ return { preimage: Buffer.from(info.preimage, 'hex') };
2492
+ }
2493
+ }
2494
+ });
2495
+ if (result.response.url) {
2496
+ this._assertL402TargetAllowed(result.response.url, options.allowPrivateNetwork);
2497
+ }
2498
+ const cap = options.maxResponseBytes ?? DEFAULT_L402_MAX_RESPONSE_BYTES;
2499
+ const declared = Number(result.response.headers.get('content-length'));
2500
+ if (Number.isFinite(declared) && declared > cap) {
2501
+ throw new errors_1.BeignetError('RESPONSE_TOO_LARGE', `L402 response declares ${declared} bytes, above the ${cap} byte limit`);
2502
+ }
2503
+ const { body, truncated } = await (0, l402_1.readCappedBody)(result.response, cap);
2504
+ return {
2505
+ status: result.response.status,
2506
+ body,
2507
+ truncated,
2508
+ paid: result.paid,
2509
+ amountPaidSats: result.amountPaidSats,
2510
+ paymentHash: result.credential?.paymentHash
2511
+ };
2512
+ }
2513
+ _assertL402TargetAllowed(url, allowPrivateNetwork) {
2514
+ let protocol;
2515
+ try {
2516
+ protocol = new URL(url).protocol;
2517
+ }
2518
+ catch {
2519
+ throw new errors_1.BeignetError('INVALID_PARAMS', `L402 fetch URL is invalid`);
2520
+ }
2521
+ if (protocol !== 'http:' && protocol !== 'https:') {
2522
+ throw new errors_1.BeignetError('INVALID_PARAMS', `L402 fetch only supports http and https URLs, got ${protocol}`);
2523
+ }
2524
+ if (!allowPrivateNetwork && (0, l402_1.isPrivateNetworkUrl)(url)) {
2525
+ throw new errors_1.BeignetError('PRIVATE_NETWORK_REFUSED', 'L402 fetch target names a private, loopback, or link-local host; pass allowPrivateNetwork to permit it');
2526
+ }
2527
+ }
2528
+ listL402Credentials() {
2529
+ return this._l402Credentials
2530
+ .list()
2531
+ .map((credential) => ({ ...credential, preimage: '***' }));
2532
+ }
2533
+ forgetL402Credential(scope) {
2534
+ this._l402Credentials.delete(scope);
2535
+ }
2462
2536
  getPaymentProof(paymentHash) {
2463
2537
  const proof = this.node.getPaymentProof(Buffer.from(paymentHash, 'hex'));
2464
2538
  if (!proof)