beignet 0.10.0 → 0.11.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.
- package/dist/cli/auth.js +1 -0
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/beignet-node.js +326 -10
- package/dist/cli/beignet-node.js.map +1 -1
- package/dist/cli/cli.js +42 -1
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/config.js +13 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/daemon.js +61 -0
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/openapi.js +58 -3
- package/dist/cli/openapi.js.map +1 -1
- package/dist/lightning/liquidity/index.js +5 -1
- package/dist/lightning/liquidity/index.js.map +1 -1
- package/dist/lightning/liquidity/jit-receive.js +117 -1
- package/dist/lightning/liquidity/jit-receive.js.map +1 -1
- package/dist/lightning/message/custom.js +2 -0
- package/dist/lightning/message/custom.js.map +1 -1
- package/dist/lightning/node/lightning-node.js +129 -26
- package/dist/lightning/node/lightning-node.js.map +1 -1
- package/dist/lightning/recovery/capsule.js +7 -1
- package/dist/lightning/recovery/capsule.js.map +1 -1
- package/dist/types/cli/beignet-node.d.ts +34 -1
- package/dist/types/cli/types.d.ts +28 -0
- package/dist/types/lightning/liquidity/index.d.ts +2 -2
- package/dist/types/lightning/liquidity/jit-receive.d.ts +20 -0
- package/dist/types/lightning/message/custom.d.ts +2 -0
- package/dist/types/lightning/node/lightning-node.d.ts +14 -1
- package/dist/types/lightning/recovery/capsule.d.ts +2 -0
- package/docs/RECOVERY-PROTOCOL.md +49 -0
- package/package.json +1 -1
package/dist/cli/auth.js
CHANGED
|
@@ -73,6 +73,7 @@ exports.ROUTE_SCOPES = {
|
|
|
73
73
|
'POST /invoice/create': ['invoice'],
|
|
74
74
|
'POST /jit/invoice': ['invoice'],
|
|
75
75
|
'GET /jit/status': ['readonly'],
|
|
76
|
+
'GET /jit/quote': ['readonly'],
|
|
76
77
|
'POST /direct-funding/request': ['invoice'],
|
|
77
78
|
'GET /direct-funding/config': ['readonly'],
|
|
78
79
|
'POST /invoice/create-hold': ['invoice'],
|
package/dist/cli/auth.js.map
CHANGED
|
@@ -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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"}
|
package/dist/cli/beignet-node.js
CHANGED
|
@@ -470,6 +470,12 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
470
470
|
this._leaseCheckInFlight = false;
|
|
471
471
|
this._leaseCheckIntervalMs = BeignetNode.DEFAULT_LEASE_CHECK_INTERVAL_MS;
|
|
472
472
|
this._reestablishHoldMs = BeignetNode.DEFAULT_REESTABLISH_HOLD_MS;
|
|
473
|
+
this._recoveryAutoApply = false;
|
|
474
|
+
this._autoApplySettleMs = BeignetNode.DEFAULT_AUTO_APPLY_SETTLE_MS;
|
|
475
|
+
this._autoApplyMaxWaitMs = BeignetNode.DEFAULT_AUTO_APPLY_MAX_WAIT_MS;
|
|
476
|
+
this._bootTargetEmpty = false;
|
|
477
|
+
this._autoApply = { phase: 'idle' };
|
|
478
|
+
this._resuming = false;
|
|
473
479
|
this._lockPath = null;
|
|
474
480
|
this._lockExitHandler = null;
|
|
475
481
|
this.destroyed = false;
|
|
@@ -545,6 +551,39 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
545
551
|
}
|
|
546
552
|
this._reestablishHoldMs = ms;
|
|
547
553
|
}
|
|
554
|
+
if (opts.recoveryAutoApply !== undefined) {
|
|
555
|
+
if (typeof opts.recoveryAutoApply !== 'boolean') {
|
|
556
|
+
throw new errors_1.BeignetError('INVALID_PARAMS', 'recoveryAutoApply must be a boolean');
|
|
557
|
+
}
|
|
558
|
+
this._recoveryAutoApply = opts.recoveryAutoApply;
|
|
559
|
+
}
|
|
560
|
+
for (const [name, value] of [
|
|
561
|
+
['recoveryAutoApplySettleMs', opts.recoveryAutoApplySettleMs],
|
|
562
|
+
['recoveryAutoApplyMaxWaitMs', opts.recoveryAutoApplyMaxWaitMs]
|
|
563
|
+
]) {
|
|
564
|
+
if (value === undefined)
|
|
565
|
+
continue;
|
|
566
|
+
if (!Number.isInteger(value) ||
|
|
567
|
+
value < 0 ||
|
|
568
|
+
value > BeignetNode.MAX_TIMER_MS) {
|
|
569
|
+
throw new errors_1.BeignetError('INVALID_PARAMS', `${name} must be an integer between 0 and ` +
|
|
570
|
+
`${BeignetNode.MAX_TIMER_MS} (got ${String(value)})`);
|
|
571
|
+
}
|
|
572
|
+
if (name === 'recoveryAutoApplySettleMs')
|
|
573
|
+
this._autoApplySettleMs = value;
|
|
574
|
+
else
|
|
575
|
+
this._autoApplyMaxWaitMs = value;
|
|
576
|
+
}
|
|
577
|
+
if (this._autoApplyMaxWaitMs < this._autoApplySettleMs) {
|
|
578
|
+
throw new errors_1.BeignetError('INVALID_PARAMS', `recoveryAutoApplyMaxWaitMs (${this._autoApplyMaxWaitMs}) must be ` +
|
|
579
|
+
`at least recoveryAutoApplySettleMs (${this._autoApplySettleMs})`);
|
|
580
|
+
}
|
|
581
|
+
if (this._recoveryAutoApply &&
|
|
582
|
+
this._reestablishHoldMs > 0 &&
|
|
583
|
+
this._autoApplyMaxWaitMs >= this._reestablishHoldMs) {
|
|
584
|
+
throw new errors_1.BeignetError('INVALID_PARAMS', `recoveryAutoApplyMaxWaitMs (${this._autoApplyMaxWaitMs}) must fit ` +
|
|
585
|
+
`inside recoveryReestablishHoldMs (${this._reestablishHoldMs})`);
|
|
586
|
+
}
|
|
548
587
|
if (opts.routingFeeBaseMsat !== undefined) {
|
|
549
588
|
const v = opts.routingFeeBaseMsat;
|
|
550
589
|
if (!Number.isInteger(v) || v < 0 || v > 0xffffffff) {
|
|
@@ -626,7 +665,22 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
626
665
|
});
|
|
627
666
|
}, encryptionKey ? { encryptionKey } : undefined);
|
|
628
667
|
this.storage.open();
|
|
668
|
+
this._bootOpts = opts;
|
|
629
669
|
await this.prepareRecovery(opts);
|
|
670
|
+
if (this._recoveryAutoApply && this.recoveryMode !== 'peer-storage') {
|
|
671
|
+
throw new errors_1.BeignetError('INVALID_PARAMS', 'recoveryAutoApply applies to peer-storage mode only');
|
|
672
|
+
}
|
|
673
|
+
if (this._recoveryAutoApply) {
|
|
674
|
+
try {
|
|
675
|
+
(0, recovery_1.assertEmptyTarget)(this.storage);
|
|
676
|
+
this._bootTargetEmpty = true;
|
|
677
|
+
}
|
|
678
|
+
catch {
|
|
679
|
+
this._bootTargetEmpty = false;
|
|
680
|
+
this.log('info', 'Recovery auto-apply is armed but this database already holds ' +
|
|
681
|
+
'state; capsules storage peers return are reported, not applied');
|
|
682
|
+
}
|
|
683
|
+
}
|
|
630
684
|
if (this._restorePending) {
|
|
631
685
|
this._deferredOpts = opts;
|
|
632
686
|
this.log('warn', 'Recovery restore required: this database is fresh and the ' +
|
|
@@ -1221,7 +1275,8 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
1221
1275
|
this.recoveryNodeConfig = {
|
|
1222
1276
|
enabled: true,
|
|
1223
1277
|
durability: 'local',
|
|
1224
|
-
unknownChannelReestablishHoldMs: this._reestablishHoldMs
|
|
1278
|
+
unknownChannelReestablishHoldMs: this._reestablishHoldMs,
|
|
1279
|
+
snapshotIntervalBytes: recovery_1.PEER_STORAGE_SNAPSHOT_INTERVAL_BYTES
|
|
1225
1280
|
};
|
|
1226
1281
|
return;
|
|
1227
1282
|
}
|
|
@@ -1363,6 +1418,7 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
1363
1418
|
return this._restorePending;
|
|
1364
1419
|
}
|
|
1365
1420
|
getRecoverySurfaceStatus() {
|
|
1421
|
+
const autoApply = this.describeAutoApply();
|
|
1366
1422
|
const guardians = this.recoveryGuardianSet.map((g) => ({
|
|
1367
1423
|
guardianId: g.guardianId.toString('hex'),
|
|
1368
1424
|
url: g.url
|
|
@@ -1383,7 +1439,8 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
1383
1439
|
state: 'restart-required',
|
|
1384
1440
|
node: null,
|
|
1385
1441
|
capsules,
|
|
1386
|
-
restore
|
|
1442
|
+
restore,
|
|
1443
|
+
autoApply
|
|
1387
1444
|
};
|
|
1388
1445
|
}
|
|
1389
1446
|
if (this.recoveryMode === 'off') {
|
|
@@ -1393,10 +1450,11 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
1393
1450
|
guardians: [],
|
|
1394
1451
|
state: 'disabled',
|
|
1395
1452
|
node: null,
|
|
1396
|
-
capsules
|
|
1453
|
+
capsules,
|
|
1454
|
+
autoApply
|
|
1397
1455
|
};
|
|
1398
1456
|
}
|
|
1399
|
-
if (this._restorePending) {
|
|
1457
|
+
if (this._restorePending || this._resuming) {
|
|
1400
1458
|
return {
|
|
1401
1459
|
mode: this.recoveryMode,
|
|
1402
1460
|
profile,
|
|
@@ -1404,7 +1462,8 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
1404
1462
|
state: this._restoreInFlight ? 'restoring' : 'restore-required',
|
|
1405
1463
|
node: null,
|
|
1406
1464
|
capsules,
|
|
1407
|
-
restore
|
|
1465
|
+
restore,
|
|
1466
|
+
autoApply
|
|
1408
1467
|
};
|
|
1409
1468
|
}
|
|
1410
1469
|
const node = this.node.getRecoveryStatus();
|
|
@@ -1414,7 +1473,9 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
1414
1473
|
guardians,
|
|
1415
1474
|
state: node.fenced || node.gate === 'fenced' ? 'fenced' : 'running',
|
|
1416
1475
|
node,
|
|
1417
|
-
capsules
|
|
1476
|
+
capsules,
|
|
1477
|
+
...(this._lastRestoreEvent ? { restore } : {}),
|
|
1478
|
+
autoApply
|
|
1418
1479
|
};
|
|
1419
1480
|
}
|
|
1420
1481
|
get restartRequired() {
|
|
@@ -1478,6 +1539,10 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
1478
1539
|
throw new errors_1.BeignetError('INVALID_PARAMS', 'unfenced must be a boolean');
|
|
1479
1540
|
}
|
|
1480
1541
|
const unfencedRequested = options.unfenced === true;
|
|
1542
|
+
if (options.resume !== undefined && typeof options.resume !== 'boolean') {
|
|
1543
|
+
throw new errors_1.BeignetError('INVALID_PARAMS', 'resume must be a boolean');
|
|
1544
|
+
}
|
|
1545
|
+
const resume = options.resume === true && this._bootOpts !== undefined;
|
|
1481
1546
|
if (this.recoveryMode !== 'peer-storage' || this._restorePending) {
|
|
1482
1547
|
throw new errors_1.BeignetError('CAPSULE_RESTORE_UNSUPPORTED', 'Capsule restore applies to peer-storage mode only. Guardian ' +
|
|
1483
1548
|
'modes restore through the guardian set (the /recovery/restore ' +
|
|
@@ -1609,6 +1674,7 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
1609
1674
|
dropStaged();
|
|
1610
1675
|
progress('capsule:tier1', `no inline journal validated; recovering ${common.channelCount} channel(s) from the embedded SCB`);
|
|
1611
1676
|
const { recovering, skipped } = await this.node.recoverFromStaticChannelBackup(result.scb.channels);
|
|
1677
|
+
this._bootTargetEmpty = false;
|
|
1612
1678
|
const info = {
|
|
1613
1679
|
tier: 1,
|
|
1614
1680
|
...common,
|
|
@@ -1656,12 +1722,17 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
1656
1722
|
dropStaged();
|
|
1657
1723
|
throw installFailure(err);
|
|
1658
1724
|
}
|
|
1659
|
-
|
|
1725
|
+
if (resume)
|
|
1726
|
+
this._resuming = true;
|
|
1727
|
+
else
|
|
1728
|
+
this._restartRequired = true;
|
|
1660
1729
|
this.teardownNodeForRestart();
|
|
1661
1730
|
try {
|
|
1662
1731
|
this.finishStagedCapsuleRestore(dbPath);
|
|
1663
1732
|
}
|
|
1664
1733
|
catch (err) {
|
|
1734
|
+
this._resuming = false;
|
|
1735
|
+
this._restartRequired = true;
|
|
1665
1736
|
this.log('error', 'Capsule restore swap did not complete', {
|
|
1666
1737
|
error: err instanceof Error ? err.message : String(err)
|
|
1667
1738
|
});
|
|
@@ -1670,19 +1741,85 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
1670
1741
|
(err instanceof Error ? err.message : String(err)) +
|
|
1671
1742
|
')');
|
|
1672
1743
|
}
|
|
1744
|
+
if (!resume) {
|
|
1745
|
+
const info = {
|
|
1746
|
+
tier: 2,
|
|
1747
|
+
...common,
|
|
1748
|
+
restartRequired: true
|
|
1749
|
+
};
|
|
1750
|
+
progress('restore:complete', `restored database installed (previous kept at ${path.basename(keptPath)}); restart the daemon to resume ${common.channelCount} channel(s)`);
|
|
1751
|
+
this.emit('recovery:restored', {
|
|
1752
|
+
exact: true,
|
|
1753
|
+
framesApplied: result.framesApplied,
|
|
1754
|
+
guardiansRepaired: 0,
|
|
1755
|
+
epoch: head.writerEpoch,
|
|
1756
|
+
tier: 2,
|
|
1757
|
+
restartRequired: true
|
|
1758
|
+
});
|
|
1759
|
+
return info;
|
|
1760
|
+
}
|
|
1761
|
+
progress('capsule:resuming', `rebuilding the node in-process on the restored database (previous kept at ${path.basename(keptPath)})`);
|
|
1762
|
+
const opts = this._bootOpts;
|
|
1763
|
+
let uncoveredEntries = [];
|
|
1764
|
+
try {
|
|
1765
|
+
this.storage = new sqlite_storage_1.SqliteStorage(dbPath, (err) => {
|
|
1766
|
+
this.log('warn', 'Skipped corrupted storage row during load', {
|
|
1767
|
+
error: err instanceof Error ? err.message : String(err)
|
|
1768
|
+
});
|
|
1769
|
+
}, this._storageEncryptionKey
|
|
1770
|
+
? { encryptionKey: this._storageEncryptionKey }
|
|
1771
|
+
: undefined);
|
|
1772
|
+
this.storage.open();
|
|
1773
|
+
await this.prepareRecovery(opts);
|
|
1774
|
+
await this.initNode(opts);
|
|
1775
|
+
const restoredIds = new Set(this.storage.loadAllChannels().map((c) => c.channelId.toLowerCase()));
|
|
1776
|
+
uncoveredEntries = result.scb.channels.filter((entry) => !restoredIds.has(entry.channelId.toLowerCase()));
|
|
1777
|
+
}
|
|
1778
|
+
catch (err) {
|
|
1779
|
+
this._resuming = false;
|
|
1780
|
+
this._restartRequired = true;
|
|
1781
|
+
this.log('error', 'Capsule restore installed but the in-process rebuild failed; ' +
|
|
1782
|
+
'holding for a restart', { error: err instanceof Error ? err.message : String(err) });
|
|
1783
|
+
throw new errors_1.BeignetError('CAPSULE_RESTORE_INSTALL_FAILED', 'The restored database is installed but the node could not be ' +
|
|
1784
|
+
'rebuilt on it in-process; restart the daemon, which runs on ' +
|
|
1785
|
+
'the restored state (' +
|
|
1786
|
+
(err instanceof Error ? err.message : String(err)) +
|
|
1787
|
+
')');
|
|
1788
|
+
}
|
|
1789
|
+
this._resuming = false;
|
|
1790
|
+
this._bootTargetEmpty = false;
|
|
1791
|
+
this._peerRetrievedCapsules.clear();
|
|
1792
|
+
const uncovered = uncoveredEntries.map((e) => e.channelId);
|
|
1793
|
+
if (uncovered.length > 0) {
|
|
1794
|
+
progress('capsule:uncovered', `${uncovered.length} channel(s) the capsule's journal does not carry will close safely through the peer (SCB recovery): ${uncovered.join(', ')}`);
|
|
1795
|
+
try {
|
|
1796
|
+
await this.node.recoverFromStaticChannelBackup(uncoveredEntries);
|
|
1797
|
+
}
|
|
1798
|
+
catch (err) {
|
|
1799
|
+
this.log('warn', 'SCB recovery of uncovered channels failed', {
|
|
1800
|
+
error: err instanceof Error ? err.message : String(err)
|
|
1801
|
+
});
|
|
1802
|
+
}
|
|
1803
|
+
}
|
|
1673
1804
|
const info = {
|
|
1674
1805
|
tier: 2,
|
|
1675
1806
|
...common,
|
|
1676
|
-
restartRequired:
|
|
1807
|
+
restartRequired: false,
|
|
1808
|
+
resumed: true,
|
|
1809
|
+
uncovered
|
|
1677
1810
|
};
|
|
1678
|
-
progress('restore:complete', `restored database installed (previous kept at ${path.basename(keptPath)});
|
|
1811
|
+
progress('restore:complete', `restored database installed (previous kept at ${path.basename(keptPath)}); node rebuilt in-process, ${common.channelCount - uncovered.length} channel(s) resuming` +
|
|
1812
|
+
(uncovered.length > 0
|
|
1813
|
+
? `, ${uncovered.length} closing safely through the peer`
|
|
1814
|
+
: ''));
|
|
1679
1815
|
this.emit('recovery:restored', {
|
|
1680
1816
|
exact: true,
|
|
1681
1817
|
framesApplied: result.framesApplied,
|
|
1682
1818
|
guardiansRepaired: 0,
|
|
1683
1819
|
epoch: head.writerEpoch,
|
|
1684
1820
|
tier: 2,
|
|
1685
|
-
restartRequired:
|
|
1821
|
+
restartRequired: false,
|
|
1822
|
+
resumed: true
|
|
1686
1823
|
});
|
|
1687
1824
|
return info;
|
|
1688
1825
|
}
|
|
@@ -1690,6 +1827,135 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
1690
1827
|
this._restoreInFlight = false;
|
|
1691
1828
|
}
|
|
1692
1829
|
}
|
|
1830
|
+
connectedStoragePeers() {
|
|
1831
|
+
try {
|
|
1832
|
+
return this.node?.listStoragePeers() ?? [];
|
|
1833
|
+
}
|
|
1834
|
+
catch {
|
|
1835
|
+
return [];
|
|
1836
|
+
}
|
|
1837
|
+
}
|
|
1838
|
+
noteCapsuleForAutoApply() {
|
|
1839
|
+
if (!this._recoveryAutoApply || this.recoveryMode !== 'peer-storage') {
|
|
1840
|
+
return;
|
|
1841
|
+
}
|
|
1842
|
+
if (!this._bootTargetEmpty)
|
|
1843
|
+
return;
|
|
1844
|
+
const a = this._autoApply;
|
|
1845
|
+
if (a.phase !== 'idle' && a.phase !== 'settling')
|
|
1846
|
+
return;
|
|
1847
|
+
if (this._restoreInFlight || this._restartRequired || this._resuming) {
|
|
1848
|
+
return;
|
|
1849
|
+
}
|
|
1850
|
+
if (fs.existsSync(this.capsuleRestoreMarkerPath()))
|
|
1851
|
+
return;
|
|
1852
|
+
if (a.phase === 'idle') {
|
|
1853
|
+
const now = Date.now();
|
|
1854
|
+
this._autoApply = { phase: 'settling', firstArrivalAt: now };
|
|
1855
|
+
const ceiling = setTimeout(() => {
|
|
1856
|
+
this._autoApply.ceilingTimer = undefined;
|
|
1857
|
+
void this.runAutoApply('ceiling');
|
|
1858
|
+
}, this._autoApplyMaxWaitMs);
|
|
1859
|
+
ceiling.unref?.();
|
|
1860
|
+
this._autoApply.ceilingTimer = ceiling;
|
|
1861
|
+
this.log('info', 'Recovery auto-apply: first capsule arrived, settling', {
|
|
1862
|
+
settleMs: this._autoApplySettleMs,
|
|
1863
|
+
maxWaitMs: this._autoApplyMaxWaitMs
|
|
1864
|
+
});
|
|
1865
|
+
}
|
|
1866
|
+
this.evaluateAutoApplySettle();
|
|
1867
|
+
}
|
|
1868
|
+
evaluateAutoApplySettle() {
|
|
1869
|
+
const a = this._autoApply;
|
|
1870
|
+
if (a.phase !== 'settling' || a.firstArrivalAt === undefined)
|
|
1871
|
+
return;
|
|
1872
|
+
const settleAt = a.firstArrivalAt + this._autoApplySettleMs;
|
|
1873
|
+
const now = Date.now();
|
|
1874
|
+
if (now < settleAt) {
|
|
1875
|
+
a.settleUntil = settleAt;
|
|
1876
|
+
if (!a.settleTimer) {
|
|
1877
|
+
const t = setTimeout(() => {
|
|
1878
|
+
this._autoApply.settleTimer = undefined;
|
|
1879
|
+
this.evaluateAutoApplySettle();
|
|
1880
|
+
}, settleAt - now);
|
|
1881
|
+
t.unref?.();
|
|
1882
|
+
a.settleTimer = t;
|
|
1883
|
+
}
|
|
1884
|
+
return;
|
|
1885
|
+
}
|
|
1886
|
+
const waiting = this.connectedStoragePeers().filter((p) => !this._peerRetrievedCapsules.has(p));
|
|
1887
|
+
if (waiting.length === 0) {
|
|
1888
|
+
void this.runAutoApply('settled');
|
|
1889
|
+
return;
|
|
1890
|
+
}
|
|
1891
|
+
a.settleUntil = a.firstArrivalAt + this._autoApplyMaxWaitMs;
|
|
1892
|
+
this.log('debug', 'Recovery auto-apply: waiting on storage peers', {
|
|
1893
|
+
waiting: waiting.length,
|
|
1894
|
+
until: a.settleUntil
|
|
1895
|
+
});
|
|
1896
|
+
}
|
|
1897
|
+
clearAutoApplyTimers() {
|
|
1898
|
+
const a = this._autoApply;
|
|
1899
|
+
if (a.settleTimer) {
|
|
1900
|
+
clearTimeout(a.settleTimer);
|
|
1901
|
+
a.settleTimer = undefined;
|
|
1902
|
+
}
|
|
1903
|
+
if (a.ceilingTimer) {
|
|
1904
|
+
clearTimeout(a.ceilingTimer);
|
|
1905
|
+
a.ceilingTimer = undefined;
|
|
1906
|
+
}
|
|
1907
|
+
}
|
|
1908
|
+
async runAutoApply(trigger) {
|
|
1909
|
+
const a = this._autoApply;
|
|
1910
|
+
if (a.phase !== 'settling')
|
|
1911
|
+
return;
|
|
1912
|
+
this.clearAutoApplyTimers();
|
|
1913
|
+
a.phase = 'applying';
|
|
1914
|
+
a.settleUntil = undefined;
|
|
1915
|
+
this.log('info', 'Recovery auto-apply: applying the best capsule', {
|
|
1916
|
+
trigger,
|
|
1917
|
+
candidates: this._peerRetrievedCapsules.size
|
|
1918
|
+
});
|
|
1919
|
+
try {
|
|
1920
|
+
const info = await this.restoreFromCapsules({ resume: true });
|
|
1921
|
+
a.phase = 'applied';
|
|
1922
|
+
this.log('info', 'Recovery auto-apply: complete', {
|
|
1923
|
+
tier: info.tier,
|
|
1924
|
+
channelCount: info.channelCount,
|
|
1925
|
+
resumed: info.resumed === true
|
|
1926
|
+
});
|
|
1927
|
+
}
|
|
1928
|
+
catch (err) {
|
|
1929
|
+
a.phase = 'refused';
|
|
1930
|
+
const code = err instanceof errors_1.BeignetError ? err.code : 'ERROR';
|
|
1931
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
1932
|
+
a.lastReason = `${code}: ${message}`;
|
|
1933
|
+
this._lastRestoreEvent = {
|
|
1934
|
+
type: 'capsule:auto-refused',
|
|
1935
|
+
detail: a.lastReason
|
|
1936
|
+
};
|
|
1937
|
+
this.log('warn', 'Recovery auto-apply refused; the manual route stays available', {
|
|
1938
|
+
code,
|
|
1939
|
+
message
|
|
1940
|
+
});
|
|
1941
|
+
this.emit('recovery:restore-progress', {
|
|
1942
|
+
type: 'capsule:auto-refused',
|
|
1943
|
+
detail: a.lastReason
|
|
1944
|
+
});
|
|
1945
|
+
}
|
|
1946
|
+
}
|
|
1947
|
+
describeAutoApply() {
|
|
1948
|
+
const a = this._autoApply;
|
|
1949
|
+
return {
|
|
1950
|
+
enabled: this._recoveryAutoApply,
|
|
1951
|
+
phase: a.phase,
|
|
1952
|
+
settleUntil: a.settleUntil ?? null,
|
|
1953
|
+
lastReason: a.lastReason ?? null
|
|
1954
|
+
};
|
|
1955
|
+
}
|
|
1956
|
+
get resuming() {
|
|
1957
|
+
return this._resuming;
|
|
1958
|
+
}
|
|
1693
1959
|
teardownNodeForRestart() {
|
|
1694
1960
|
if (this.backupTimer) {
|
|
1695
1961
|
clearInterval(this.backupTimer);
|
|
@@ -3123,6 +3389,43 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
3123
3389
|
: null
|
|
3124
3390
|
};
|
|
3125
3391
|
}
|
|
3392
|
+
async getJitQuote(opts) {
|
|
3393
|
+
if (!/^0[23][0-9a-fA-F]{64}$/.test(opts.lspPubkey)) {
|
|
3394
|
+
throw new errors_1.BeignetError(errors_1.BeignetErrorCode.INVALID_PARAMS, 'lspPubkey must be a 33-byte compressed public key (66 hex chars)');
|
|
3395
|
+
}
|
|
3396
|
+
const amountSats = opts.amountSats !== undefined && opts.amountSats !== 0
|
|
3397
|
+
? requireNonNegativeSafeInteger(opts.amountSats, 'amountSats')
|
|
3398
|
+
: null;
|
|
3399
|
+
let quote;
|
|
3400
|
+
try {
|
|
3401
|
+
quote = await this.node.requestJitQuote(opts.lspPubkey, {
|
|
3402
|
+
...(amountSats !== null
|
|
3403
|
+
? { maxAmountMsat: BigInt(amountSats) * 1000n }
|
|
3404
|
+
: {}),
|
|
3405
|
+
targetRemainingInboundSat: BigInt(requireNonNegativeSafeInteger(opts.targetRemainingInboundSat ?? 0, 'targetRemainingInboundSat'))
|
|
3406
|
+
});
|
|
3407
|
+
}
|
|
3408
|
+
catch (err) {
|
|
3409
|
+
throw jitInvoiceError(err);
|
|
3410
|
+
}
|
|
3411
|
+
const ceilings = this.node.getJitClientCeilings();
|
|
3412
|
+
return {
|
|
3413
|
+
lspPubkey: opts.lspPubkey,
|
|
3414
|
+
amountSats,
|
|
3415
|
+
accepted: quote.accepted,
|
|
3416
|
+
reason: quote.reason ?? null,
|
|
3417
|
+
flatFeeSat: Number(quote.flatFeeSat),
|
|
3418
|
+
feePpm: quote.feePpm,
|
|
3419
|
+
feeSats: Number(quote.feeSats),
|
|
3420
|
+
maxClientFundingSats: Number(quote.maxClientFundingSats),
|
|
3421
|
+
fundingSats: Number(quote.fundingSats),
|
|
3422
|
+
withinCeilings: quote.withinCeilings,
|
|
3423
|
+
client: {
|
|
3424
|
+
maxFlatFeeSat: Number(ceilings.maxFlatFeeSat),
|
|
3425
|
+
maxFeePpm: ceilings.maxFeePpm
|
|
3426
|
+
}
|
|
3427
|
+
};
|
|
3428
|
+
}
|
|
3126
3429
|
getDirectFundingConfig() {
|
|
3127
3430
|
const policy = this.node.getDirectFundingPolicy() ?? {};
|
|
3128
3431
|
return {
|
|
@@ -5536,6 +5839,15 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
5536
5839
|
channelCount: embedded.channels.length,
|
|
5537
5840
|
guardians: capsule.guardians.length
|
|
5538
5841
|
});
|
|
5842
|
+
this.emit('recovery:capsule-retrieved', {
|
|
5843
|
+
fromPeer: peerPubkey,
|
|
5844
|
+
writerEpoch: capsule.writerEpoch.toString(),
|
|
5845
|
+
latestSequence: capsule.latestSequence.toString(),
|
|
5846
|
+
inline,
|
|
5847
|
+
channelCount: embedded.channels.length,
|
|
5848
|
+
candidates: this._peerRetrievedCapsules.size
|
|
5849
|
+
});
|
|
5850
|
+
this.noteCapsuleForAutoApply();
|
|
5539
5851
|
if (this.recoveryGuardianSet.length > 0 &&
|
|
5540
5852
|
!sameGuardianIds(capsule.guardians.map((g) => g.guardianId), this.recoveryGuardianSet.map((g) => g.guardianId.toString('hex'))) &&
|
|
5541
5853
|
(!held ||
|
|
@@ -5646,6 +5958,7 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
5646
5958
|
this._confirmTimer = undefined;
|
|
5647
5959
|
}
|
|
5648
5960
|
this.stopRecoveryLeaseCheck();
|
|
5961
|
+
this.clearAutoApplyTimers();
|
|
5649
5962
|
if (this._backupPromise) {
|
|
5650
5963
|
await this._backupPromise.catch(() => {
|
|
5651
5964
|
});
|
|
@@ -5681,6 +5994,7 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
5681
5994
|
this._confirmTimer = undefined;
|
|
5682
5995
|
}
|
|
5683
5996
|
this.stopRecoveryLeaseCheck();
|
|
5997
|
+
this.clearAutoApplyTimers();
|
|
5684
5998
|
this.paymentQueue?.removeAllListeners();
|
|
5685
5999
|
this.directFundingSender?.stop();
|
|
5686
6000
|
this.node?.destroy();
|
|
@@ -5753,6 +6067,8 @@ exports.BeignetNode = BeignetNode;
|
|
|
5753
6067
|
BeignetNode.INITIAL_GOSSIP_PRIME_TIMEOUT_MS = 90000;
|
|
5754
6068
|
BeignetNode.DEFAULT_LEASE_CHECK_INTERVAL_MS = 5 * 60000;
|
|
5755
6069
|
BeignetNode.DEFAULT_REESTABLISH_HOLD_MS = 10 * 60000;
|
|
6070
|
+
BeignetNode.DEFAULT_AUTO_APPLY_SETTLE_MS = 15000;
|
|
6071
|
+
BeignetNode.DEFAULT_AUTO_APPLY_MAX_WAIT_MS = 120000;
|
|
5756
6072
|
BeignetNode.MAX_TIMER_MS = 2147483647;
|
|
5757
6073
|
BeignetNode.INITIAL_SYNC_TIMEOUT_MS = 120000;
|
|
5758
6074
|
BeignetNode.STARTUP_ADDRESS_LOOKUP_TIMEOUT_MS = 15000;
|