beignet 0.8.1 → 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 +109 -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 +131 -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 +178 -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 +2756 -416
  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 +30 -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 +20 -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 +117 -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 +48 -43
  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;
@@ -314,6 +317,7 @@ class BeignetNode extends events_1.EventEmitter {
314
317
  servers: electrumServer
315
318
  },
316
319
  disableMessagesOnCreate: true,
320
+ onMessage: (key, data) => this.onWalletMessage(key, data),
317
321
  ...(this.logger ? { logger: this.logger } : {}),
318
322
  rbf: true,
319
323
  storage: (0, wallet_storage_1.createWalletStorage)(this.storage)
@@ -487,14 +491,22 @@ class BeignetNode extends events_1.EventEmitter {
487
491
  });
488
492
  this.node.on('channel:voided', (data) => {
489
493
  const channelId = data.channelId.toString('hex');
490
- 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)', {
491
495
  channelId
492
496
  });
493
497
  this.refreshStaticChannelBackup();
494
498
  this.emit('channel:voided', { channelId });
495
499
  });
496
- this.node.on('channel:resolved', () => {
500
+ this.node.on('channel:resolved', (data) => {
497
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 });
498
510
  });
499
511
  this.node.on('splice:complete', () => {
500
512
  this.refreshStaticChannelBackup();
@@ -725,6 +737,7 @@ class BeignetNode extends events_1.EventEmitter {
725
737
  erroredBalanceSats: this.getErroredBalanceSats(),
726
738
  splicingBalanceSats: this.getSplicingBalanceSats(),
727
739
  channelCount: info.channelCount,
740
+ openChannelCount: info.openChannelCount,
728
741
  peerCount: info.peerCount,
729
742
  listening: this.node.isListening()
730
743
  };
@@ -1280,6 +1293,33 @@ class BeignetNode extends events_1.EventEmitter {
1280
1293
  throw new errors_1.BeignetError('REFRESH_FAILED', result.error.message);
1281
1294
  }
1282
1295
  }
1296
+ onWalletMessage(key, data) {
1297
+ const relayed = {
1298
+ transactionReceived: {
1299
+ event: 'transaction:received',
1300
+ label: 'Transaction received'
1301
+ },
1302
+ transactionSent: {
1303
+ event: 'transaction:sent',
1304
+ label: 'Transaction sent'
1305
+ },
1306
+ transactionConfirmed: {
1307
+ event: 'transaction:confirmed',
1308
+ label: 'Transaction confirmed'
1309
+ }
1310
+ };
1311
+ if (!(key in relayed))
1312
+ return;
1313
+ const { event, label } = relayed[key];
1314
+ const { transaction } = data;
1315
+ const info = this.toOnchainTxInfo(transaction);
1316
+ this.log('info', label, {
1317
+ txid: info.txid,
1318
+ type: info.type,
1319
+ valueSats: info.valueSats
1320
+ });
1321
+ this.emit(event, info);
1322
+ }
1283
1323
  toOnchainTxInfo(tx) {
1284
1324
  return {
1285
1325
  txid: tx.txid,
@@ -1548,6 +1588,9 @@ class BeignetNode extends events_1.EventEmitter {
1548
1588
  }
1549
1589
  return this.node.forceCloseChannel(idBuf, destinationScript);
1550
1590
  }
1591
+ rebroadcastClose(channelId) {
1592
+ return this.node.rebroadcastClose(Buffer.from(channelId, 'hex'));
1593
+ }
1551
1594
  listChannels() {
1552
1595
  return this.node.listChannels().map((ch) => this.toChannelInfo(ch));
1553
1596
  }
@@ -1630,6 +1673,11 @@ class BeignetNode extends events_1.EventEmitter {
1630
1673
  capacitySats: Number(ch.fundingSatoshis),
1631
1674
  isAnchor: (0, types_3.isAnchorChannel)(ch.channelType ?? null)
1632
1675
  };
1676
+ if (peerPubkey) {
1677
+ const splice = this.node.peerSupportsSplicing(peerPubkey);
1678
+ if (splice !== null)
1679
+ info.peerSupportsSplicing = splice;
1680
+ }
1633
1681
  if (ch.fundingTxid)
1634
1682
  info.fundingTxid = ch.fundingTxid;
1635
1683
  if (ch.shortChannelId)
@@ -1656,6 +1704,8 @@ class BeignetNode extends events_1.EventEmitter {
1656
1704
  info.htlcMinimumMsat = ch.htlcMinimumMsat.toString();
1657
1705
  if (ch.htlcMaximumMsat !== undefined)
1658
1706
  info.htlcMaximumMsat = ch.htlcMaximumMsat.toString();
1707
+ if (ch.closeStatus)
1708
+ info.closeStatus = ch.closeStatus;
1659
1709
  return info;
1660
1710
  }
1661
1711
  createInvoice(amountSats, description, expirySecs, descriptionHash) {
@@ -2426,6 +2476,63 @@ class BeignetNode extends events_1.EventEmitter {
2426
2476
  removeWatchtower(uri) {
2427
2477
  this.node.removeWatchtower(uri);
2428
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
+ }
2429
2536
  getPaymentProof(paymentHash) {
2430
2537
  const proof = this.node.getPaymentProof(Buffer.from(paymentHash, 'hex'));
2431
2538
  if (!proof)