beignet 0.6.9 → 0.7.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.
Files changed (38) hide show
  1. package/dist/cli/beignet-node.js +28 -4
  2. package/dist/cli/beignet-node.js.map +1 -1
  3. package/dist/cli/cli.js +6 -0
  4. package/dist/cli/cli.js.map +1 -1
  5. package/dist/cli/config.js +5 -0
  6. package/dist/cli/config.js.map +1 -1
  7. package/dist/cli/daemon.js.map +1 -1
  8. package/dist/lightning/advisor/liquidity-advisor.js +1 -1
  9. package/dist/lightning/advisor/liquidity-advisor.js.map +1 -1
  10. package/dist/lightning/chain/electrum-backend.js.map +1 -1
  11. package/dist/lightning/channel/channel-manager.js +158 -19
  12. package/dist/lightning/channel/channel-manager.js.map +1 -1
  13. package/dist/lightning/channel/channel.js +82 -13
  14. package/dist/lightning/channel/channel.js.map +1 -1
  15. package/dist/lightning/channel/types.js.map +1 -1
  16. package/dist/lightning/crypto/chacha20poly1305.js.map +1 -1
  17. package/dist/lightning/gossip/pathfinding.js +3 -1
  18. package/dist/lightning/gossip/pathfinding.js.map +1 -1
  19. package/dist/lightning/node/lightning-node.js +396 -101
  20. package/dist/lightning/node/lightning-node.js.map +1 -1
  21. package/dist/lightning/node/types.js.map +1 -1
  22. package/dist/lightning/storage/serialization.js +6 -0
  23. package/dist/lightning/storage/serialization.js.map +1 -1
  24. package/dist/lightning/storage/sqlite-storage.js.map +1 -1
  25. package/dist/lightning/transport/noise.js.map +1 -1
  26. package/dist/lightning/wallet/wallet-funding-provider.js +5 -5
  27. package/dist/lightning/wallet/wallet-funding-provider.js.map +1 -1
  28. package/dist/types/cli/beignet-node.d.ts +1 -0
  29. package/dist/types/cli/types.d.ts +1 -0
  30. package/dist/types/lightning/advisor/liquidity-advisor.d.ts +1 -0
  31. package/dist/types/lightning/channel/channel-manager.d.ts +7 -1
  32. package/dist/types/lightning/channel/channel.d.ts +2 -0
  33. package/dist/types/lightning/channel/types.d.ts +1 -0
  34. package/dist/types/lightning/node/lightning-node.d.ts +14 -0
  35. package/dist/types/lightning/node/types.d.ts +9 -1
  36. package/dist/types/lightning/storage/serialization.d.ts +1 -0
  37. package/docs/RECOVERY-PROTOCOL.md +556 -0
  38. package/package.json +1 -1
@@ -391,6 +391,7 @@ class BeignetNode extends events_1.EventEmitter {
391
391
  enableNetworking: true,
392
392
  autoReconnect: opts.autoReconnect ?? true,
393
393
  autoUpdateChannelFees: opts.autoUpdateChannelFees ?? false,
394
+ forwardingEnabled: opts.forwardingEnabled ?? true,
394
395
  localFeatures: lightning_node_1.LightningNode.defaultFeatures(),
395
396
  chainHashes: [chainHash],
396
397
  alias: opts.alias,
@@ -512,7 +513,22 @@ class BeignetNode extends events_1.EventEmitter {
512
513
  });
513
514
  this.emit('invoice:settled', info);
514
515
  });
516
+ this.node.on('htlc:forward', (inChannelId, outChannelId, amountMsat, paymentHash) => {
517
+ this.log('info', 'HTLC forward', {
518
+ paymentHash: paymentHash.toString('hex'),
519
+ inChannelId: inChannelId.toString('hex'),
520
+ outChannelId: outChannelId.toString('hex'),
521
+ amountSats: (amountMsat / 1000n).toString()
522
+ });
523
+ });
515
524
  this.node.on('htlc:forwarded', (data) => {
525
+ this.log('info', 'HTLC forwarded', {
526
+ inChannelId: data.inChannelId.toString('hex'),
527
+ outChannelId: data.outChannelId.toString('hex'),
528
+ amountInSats: (data.amountInMsat / 1000n).toString(),
529
+ amountOutSats: (data.amountOutMsat / 1000n).toString(),
530
+ feeMsat: data.feeMsat.toString()
531
+ });
516
532
  this.emit('htlc:forwarded', {
517
533
  inChannelId: data.inChannelId.toString('hex'),
518
534
  outChannelId: data.outChannelId.toString('hex'),
@@ -521,6 +537,12 @@ class BeignetNode extends events_1.EventEmitter {
521
537
  feeMsat: data.feeMsat.toString()
522
538
  });
523
539
  });
540
+ this.node.on('htlc:forward-failed', (data) => {
541
+ this.log('info', 'HTLC forward failed', {
542
+ inChannelId: data.inChannelId.toString('hex'),
543
+ outChannelId: data.outChannelId.toString('hex')
544
+ });
545
+ });
524
546
  this.node.on('htlc:fulfilled', (data) => {
525
547
  this.emit('htlc:fulfilled', {
526
548
  channelId: data.channelId.toString('hex'),
@@ -2877,14 +2899,16 @@ class BeignetNode extends events_1.EventEmitter {
2877
2899
  let reserveMsat = 0n;
2878
2900
  let sendableMsat = 0n;
2879
2901
  for (const ch of this.node.listChannels()) {
2880
- if (ch.state !== types_3.ChannelState.NORMAL)
2902
+ if (ch.state !== types_3.ChannelState.NORMAL && !ch.htlcUsable)
2881
2903
  continue;
2882
2904
  const chReserveMsat = ch.localReserveMsat ?? 0n;
2883
2905
  reserveMsat += chReserveMsat;
2906
+ const effLocalMsat = ch.pendingSpliceLocalBalanceMsat !== undefined &&
2907
+ ch.pendingSpliceLocalBalanceMsat < ch.localBalanceMsat
2908
+ ? ch.pendingSpliceLocalBalanceMsat
2909
+ : ch.localBalanceMsat;
2884
2910
  sendableMsat +=
2885
- ch.localBalanceMsat > chReserveMsat
2886
- ? ch.localBalanceMsat - chReserveMsat
2887
- : 0n;
2911
+ effLocalMsat > chReserveMsat ? effLocalMsat - chReserveMsat : 0n;
2888
2912
  }
2889
2913
  return {
2890
2914
  totalLocalBalanceSats: snapshot.totalLocalBalanceSats,