beignet 0.7.2 → 0.7.4
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 +50 -3
- package/dist/cli/beignet-node.js.map +1 -1
- package/dist/cli/cli.js +16 -3
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/daemon.js +8 -2
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/openapi.js +44 -1
- package/dist/cli/openapi.js.map +1 -1
- package/dist/lightning/chain/chain-watcher.js +11 -1
- package/dist/lightning/chain/chain-watcher.js.map +1 -1
- package/dist/lightning/channel/channel-manager.js +50 -8
- package/dist/lightning/channel/channel-manager.js.map +1 -1
- package/dist/lightning/channel/channel.js +147 -25
- package/dist/lightning/channel/channel.js.map +1 -1
- package/dist/lightning/channel/dual-funding.js +1 -1
- package/dist/lightning/channel/dual-funding.js.map +1 -1
- package/dist/lightning/gossip/pathfinding.js +4 -2
- package/dist/lightning/gossip/pathfinding.js.map +1 -1
- package/dist/lightning/node/lightning-node.js +227 -23
- package/dist/lightning/node/lightning-node.js.map +1 -1
- package/dist/lightning/wallet/wallet-funding-provider.js +125 -9
- package/dist/lightning/wallet/wallet-funding-provider.js.map +1 -1
- package/dist/types/cli/beignet-node.d.ts +7 -2
- package/dist/types/cli/types.d.ts +15 -0
- package/dist/types/lightning/channel/channel-manager.d.ts +7 -2
- package/dist/types/lightning/channel/channel.d.ts +6 -1
- package/dist/types/lightning/channel/dual-funding.d.ts +1 -0
- package/dist/types/lightning/node/lightning-node.d.ts +24 -2
- package/dist/types/lightning/wallet/wallet-funding-provider.d.ts +29 -0
- package/dist/types/types/wallet.d.ts +2 -0
- package/dist/types/wallet/index.d.ts +2 -1
- package/dist/types/wallet.js.map +1 -1
- package/dist/wallet/index.js +5 -2
- package/dist/wallet/index.js.map +1 -1
- package/docs/ROADMAP.md +12 -0
- package/package.json +1 -1
|
@@ -202,7 +202,7 @@ class DualFundingSession {
|
|
|
202
202
|
dustLimitSatoshis: localParams.dustLimitSatoshis,
|
|
203
203
|
maxHtlcValueInFlightMsat: localParams.maxHtlcValueInFlightMsat,
|
|
204
204
|
htlcMinimumMsat: localParams.htlcMinimumMsat,
|
|
205
|
-
minimumDepth: 3,
|
|
205
|
+
minimumDepth: localParams.minimumDepth ?? 3,
|
|
206
206
|
toSelfDelay: localParams.toSelfDelay,
|
|
207
207
|
maxAcceptedHtlcs: localParams.maxAcceptedHtlcs,
|
|
208
208
|
fundingPubkey: localParams.localBasepoints.fundingPubkey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dual-funding.js","sourceRoot":"","sources":["../../../src/lightning/channel/dual-funding.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dual-funding.js","sourceRoot":"","sources":["../../../src/lightning/channel/dual-funding.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,12 +122,14 @@ function buildSyntheticEdges(hints, graph, destination) {
|
|
|
122
122
|
}
|
|
123
123
|
return syntheticEdges;
|
|
124
124
|
}
|
|
125
|
-
function buildHintDestinationMap(hints, destination) {
|
|
125
|
+
function buildHintDestinationMap(hints, graph, destination) {
|
|
126
126
|
const destMap = new Map();
|
|
127
127
|
const destHex = destination.toString('hex');
|
|
128
128
|
for (const hintRoute of hints) {
|
|
129
129
|
for (let i = 0; i < hintRoute.length; i++) {
|
|
130
130
|
const hop = hintRoute[i];
|
|
131
|
+
if (graph.getChannel(hop.shortChannelId))
|
|
132
|
+
continue;
|
|
131
133
|
const nextNodeHex = i < hintRoute.length - 1
|
|
132
134
|
? hintRoute[i + 1].pubkey.toString('hex')
|
|
133
135
|
: destHex;
|
|
@@ -168,7 +170,7 @@ function buildEdgeOverlay(graph, source, destination, routingHints, localChannel
|
|
|
168
170
|
for (const [k, v] of buildSyntheticEdges(routingHints, graph, destination)) {
|
|
169
171
|
syntheticEdges.set(k, [...(syntheticEdges.get(k) ?? []), ...v]);
|
|
170
172
|
}
|
|
171
|
-
for (const [k, v] of buildHintDestinationMap(routingHints, destination)) {
|
|
173
|
+
for (const [k, v] of buildHintDestinationMap(routingHints, graph, destination)) {
|
|
172
174
|
hintDestMap.set(k, v);
|
|
173
175
|
}
|
|
174
176
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pathfinding.js","sourceRoot":"","sources":["../../../src/lightning/gossip/pathfinding.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pathfinding.js","sourceRoot":"","sources":["../../../src/lightning/gossip/pathfinding.ts"],"names":[],"mappings":"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"}
|
|
@@ -468,6 +468,7 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
468
468
|
}
|
|
469
469
|
}
|
|
470
470
|
}
|
|
471
|
+
this.restorePendingFundingTxs();
|
|
471
472
|
const heldJson = this.storage.loadMetadata('held_htlcs');
|
|
472
473
|
if (heldJson) {
|
|
473
474
|
try {
|
|
@@ -792,17 +793,13 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
792
793
|
});
|
|
793
794
|
this.channelManager.on('watch:funding', (fundingTxid) => {
|
|
794
795
|
const txidHex = fundingTxid.toString('hex');
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
this.
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
code: 'FUNDING_BROADCAST_FAILED',
|
|
801
|
-
message: err.message,
|
|
802
|
-
timestamp: Date.now()
|
|
803
|
-
});
|
|
796
|
+
this.broadcastPendingFundingTx(txidHex);
|
|
797
|
+
this.registerFundingWatch(fundingTxid).catch((err) => {
|
|
798
|
+
this.emitStructuredLog('chain', 'funding_watch_failed', {
|
|
799
|
+
txid: txidHex,
|
|
800
|
+
error: err.message
|
|
804
801
|
});
|
|
805
|
-
}
|
|
802
|
+
});
|
|
806
803
|
});
|
|
807
804
|
this.channelManager.on('monitor:updated', (channelIdHex, monitor) => {
|
|
808
805
|
this.safeStorage(() => this.storage.saveChainMonitor(channelIdHex, monitor.getFullState()), 'saveChainMonitor');
|
|
@@ -1272,7 +1269,7 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
1272
1269
|
? this.signerFactory(channel.channelKeyIndex ?? 0)
|
|
1273
1270
|
: new signer_1.ChannelSigner(this.fundingPrivkey, this.htlcBasepointSecret));
|
|
1274
1271
|
const { signature } = (0, commitment_builder_1.signRemoteCommitment)(state, signer, state.remoteCurrentPerCommitmentPoint);
|
|
1275
|
-
this.
|
|
1272
|
+
this.setPendingFundingTx(txid.toString('hex'), txHex);
|
|
1276
1273
|
this.channelManager.createFunding(channel, txid, outputIndex, signature);
|
|
1277
1274
|
})
|
|
1278
1275
|
.catch((err) => {
|
|
@@ -1284,6 +1281,99 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
1284
1281
|
this.channelManager.abortPendingOpen(channel, `funding failed: ${err.message}`);
|
|
1285
1282
|
});
|
|
1286
1283
|
}
|
|
1284
|
+
voidMissingFundingChannel(channelId, txid) {
|
|
1285
|
+
if (!this.channelManager.voidChannel(channelId))
|
|
1286
|
+
return;
|
|
1287
|
+
const idHex = channelId.toString('hex');
|
|
1288
|
+
this.chainWatcher?.removeWatchedFunding(channelId);
|
|
1289
|
+
this.safeStorage(() => this.storage.deleteChannel(idHex), 'deleteChannel');
|
|
1290
|
+
this.deletePendingFundingTx(Buffer.from(txid, 'hex').reverse().toString('hex'));
|
|
1291
|
+
this.emitStructuredLog('channel', 'channel_voided', {
|
|
1292
|
+
channelId: idHex,
|
|
1293
|
+
txid
|
|
1294
|
+
});
|
|
1295
|
+
this.emit('channel:voided', { channelId });
|
|
1296
|
+
}
|
|
1297
|
+
persistPendingFundingTxs() {
|
|
1298
|
+
this.safeStorage(() => this.storage.saveMetadata(LightningNode.PENDING_FUNDING_TXS_KEY, JSON.stringify([...this.pendingFundingTxs].map(([txid, txHex]) => ({
|
|
1299
|
+
txid,
|
|
1300
|
+
txHex
|
|
1301
|
+
})))), 'savePendingFundingTxs');
|
|
1302
|
+
}
|
|
1303
|
+
setPendingFundingTx(txidHex, txHex) {
|
|
1304
|
+
this.pendingFundingTxs.set(txidHex, txHex);
|
|
1305
|
+
this.persistPendingFundingTxs();
|
|
1306
|
+
}
|
|
1307
|
+
deletePendingFundingTx(txidHex) {
|
|
1308
|
+
if (this.pendingFundingTxs.delete(txidHex)) {
|
|
1309
|
+
this.persistPendingFundingTxs();
|
|
1310
|
+
}
|
|
1311
|
+
}
|
|
1312
|
+
broadcastPendingFundingTx(txidHex) {
|
|
1313
|
+
const txHex = this.pendingFundingTxs.get(txidHex);
|
|
1314
|
+
if (!txHex || !this.fundingProvider)
|
|
1315
|
+
return;
|
|
1316
|
+
this.fundingProvider.broadcastTransaction(txHex).catch((err) => {
|
|
1317
|
+
const message = err?.message ?? String(err);
|
|
1318
|
+
if (/already in block ?chain|already known|txn-already/i.test(message)) {
|
|
1319
|
+
return;
|
|
1320
|
+
}
|
|
1321
|
+
this.emitStructuredLog('chain', 'funding_broadcast_failed', {
|
|
1322
|
+
txid: txidHex,
|
|
1323
|
+
error: message
|
|
1324
|
+
});
|
|
1325
|
+
this.emit('node:error', {
|
|
1326
|
+
code: 'FUNDING_BROADCAST_FAILED',
|
|
1327
|
+
message: `${message} (funding tx ${txidHex} retained; will retry)`,
|
|
1328
|
+
timestamp: Date.now()
|
|
1329
|
+
});
|
|
1330
|
+
});
|
|
1331
|
+
}
|
|
1332
|
+
retryPendingFundingBroadcasts() {
|
|
1333
|
+
if (this.pendingFundingTxs.size === 0)
|
|
1334
|
+
return;
|
|
1335
|
+
const deadStates = new Set([
|
|
1336
|
+
types_1.ChannelState.CLOSED,
|
|
1337
|
+
types_1.ChannelState.FORCE_CLOSED,
|
|
1338
|
+
types_1.ChannelState.ERRORED
|
|
1339
|
+
]);
|
|
1340
|
+
const liveByTxid = new Map();
|
|
1341
|
+
for (const channel of this.channelManager.listChannels()) {
|
|
1342
|
+
const state = channel.getFullState();
|
|
1343
|
+
if (state.fundingTxid) {
|
|
1344
|
+
liveByTxid.set(state.fundingTxid.toString('hex'), state.state);
|
|
1345
|
+
}
|
|
1346
|
+
}
|
|
1347
|
+
for (const [txidHex] of [...this.pendingFundingTxs]) {
|
|
1348
|
+
const channelState = liveByTxid.get(txidHex);
|
|
1349
|
+
if (channelState === undefined || deadStates.has(channelState)) {
|
|
1350
|
+
this.emitStructuredLog('chain', 'pending_funding_retired', {
|
|
1351
|
+
txid: txidHex,
|
|
1352
|
+
reason: channelState === undefined ? 'no channel' : channelState
|
|
1353
|
+
});
|
|
1354
|
+
this.deletePendingFundingTx(txidHex);
|
|
1355
|
+
continue;
|
|
1356
|
+
}
|
|
1357
|
+
this.broadcastPendingFundingTx(txidHex);
|
|
1358
|
+
}
|
|
1359
|
+
}
|
|
1360
|
+
restorePendingFundingTxs() {
|
|
1361
|
+
if (!this.storage)
|
|
1362
|
+
return;
|
|
1363
|
+
const json = this.storage.loadMetadata(LightningNode.PENDING_FUNDING_TXS_KEY);
|
|
1364
|
+
if (!json)
|
|
1365
|
+
return;
|
|
1366
|
+
try {
|
|
1367
|
+
const entries = JSON.parse(json);
|
|
1368
|
+
for (const entry of entries) {
|
|
1369
|
+
if (entry?.txid && entry?.txHex) {
|
|
1370
|
+
this.pendingFundingTxs.set(entry.txid, entry.txHex);
|
|
1371
|
+
}
|
|
1372
|
+
}
|
|
1373
|
+
}
|
|
1374
|
+
catch {
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1287
1377
|
getNodeId() {
|
|
1288
1378
|
return this.nodeId;
|
|
1289
1379
|
}
|
|
@@ -1814,11 +1904,53 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
1814
1904
|
this.channelManager.triggerAnnouncementDepth(channelId, blockHeight, txIndex, localNodeId, this.makeAnnouncementSigner(channelId));
|
|
1815
1905
|
this.persistChannel(channelId);
|
|
1816
1906
|
});
|
|
1907
|
+
this.chainWatcher.on('funding:missing', (channelId, txid) => {
|
|
1908
|
+
this.emitStructuredLog('chain', 'funding_missing', {
|
|
1909
|
+
channelId: channelId.toString('hex'),
|
|
1910
|
+
txid
|
|
1911
|
+
});
|
|
1912
|
+
this.emit('node:error', {
|
|
1913
|
+
code: 'FUNDING_MISSING',
|
|
1914
|
+
channelId,
|
|
1915
|
+
message: `funding tx ${txid} disappeared from mempool and chain before confirming`,
|
|
1916
|
+
timestamp: Date.now()
|
|
1917
|
+
});
|
|
1918
|
+
const channel = this.channelManager.getChannel(channelId);
|
|
1919
|
+
if (!channel)
|
|
1920
|
+
return;
|
|
1921
|
+
if (channel.getFullState().spliceInFlight)
|
|
1922
|
+
return;
|
|
1923
|
+
const internalHex = Buffer.from(txid, 'hex').reverse().toString('hex');
|
|
1924
|
+
const pendingHex = this.pendingFundingTxs.get(internalHex);
|
|
1925
|
+
if (pendingHex && this.fundingProvider) {
|
|
1926
|
+
this.fundingProvider
|
|
1927
|
+
.broadcastTransaction(pendingHex)
|
|
1928
|
+
.then(() => {
|
|
1929
|
+
this.emitStructuredLog('chain', 'funding_rebroadcast', {
|
|
1930
|
+
channelId: channelId.toString('hex'),
|
|
1931
|
+
txid
|
|
1932
|
+
});
|
|
1933
|
+
})
|
|
1934
|
+
.catch((err) => {
|
|
1935
|
+
this.emitStructuredLog('chain', 'funding_rebroadcast_rejected', {
|
|
1936
|
+
channelId: channelId.toString('hex'),
|
|
1937
|
+
txid,
|
|
1938
|
+
error: err.message
|
|
1939
|
+
});
|
|
1940
|
+
this.voidMissingFundingChannel(channelId, txid);
|
|
1941
|
+
});
|
|
1942
|
+
return;
|
|
1943
|
+
}
|
|
1944
|
+
this.voidMissingFundingChannel(channelId, txid);
|
|
1945
|
+
});
|
|
1817
1946
|
this.chainWatcher.on('funding:confirmed', (channelId) => {
|
|
1818
1947
|
const channel = this.channelManager.getChannel(channelId);
|
|
1819
1948
|
if (!channel)
|
|
1820
1949
|
return;
|
|
1821
1950
|
const state = channel.getFullState();
|
|
1951
|
+
if (state.fundingTxid) {
|
|
1952
|
+
this.deletePendingFundingTx(state.fundingTxid.toString('hex'));
|
|
1953
|
+
}
|
|
1822
1954
|
if (!state.spliceFundingTxid || !channel.getSpliceSession())
|
|
1823
1955
|
return;
|
|
1824
1956
|
const result = this.channelManager.sendSpliceLocked(channelId);
|
|
@@ -1842,6 +1974,7 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
1842
1974
|
this.wireChainWatcherEvents();
|
|
1843
1975
|
await this.chainWatcher.start();
|
|
1844
1976
|
await this.restoreChainWatches();
|
|
1977
|
+
this.retryPendingFundingBroadcasts();
|
|
1845
1978
|
if (this._chainBackend &&
|
|
1846
1979
|
typeof this._chainBackend.startReconnectMonitor ===
|
|
1847
1980
|
'function') {
|
|
@@ -1952,6 +2085,45 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
1952
2085
|
await this.chainWatcher.watchFundingOutput(state.channelId || state.temporaryChannelId, txidHex, state.fundingOutputIndex, state.minimumDepth ?? 3, fundingScript);
|
|
1953
2086
|
}
|
|
1954
2087
|
}
|
|
2088
|
+
async registerFundingWatch(fundingTxid) {
|
|
2089
|
+
if (!this.chainWatcher)
|
|
2090
|
+
return;
|
|
2091
|
+
const networkMap = {
|
|
2092
|
+
[types_4.Network.MAINNET]: bitcoin.networks.bitcoin,
|
|
2093
|
+
[types_4.Network.TESTNET]: bitcoin.networks.testnet,
|
|
2094
|
+
[types_4.Network.REGTEST]: bitcoin.networks.regtest,
|
|
2095
|
+
[types_4.Network.SIGNET]: bitcoin.networks.testnet
|
|
2096
|
+
};
|
|
2097
|
+
const btcNetwork = networkMap[this.network] || bitcoin.networks.regtest;
|
|
2098
|
+
const txidHex = Buffer.from(fundingTxid).reverse().toString('hex');
|
|
2099
|
+
for (const channel of this.channelManager.listChannels()) {
|
|
2100
|
+
const state = channel.getFullState();
|
|
2101
|
+
if (!state.localBasepoints)
|
|
2102
|
+
continue;
|
|
2103
|
+
const channelId = channel.getChannelId() ?? state.temporaryChannelId;
|
|
2104
|
+
const inflight = state.spliceInFlight;
|
|
2105
|
+
if (inflight && Buffer.from(inflight.spliceTxid).equals(fundingTxid)) {
|
|
2106
|
+
const spliceFunding = (0, funding_1.createFundingScript)(state.localBasepoints.fundingPubkey, inflight.remoteFundingPubkey, btcNetwork);
|
|
2107
|
+
await this.chainWatcher.watchFundingOutput(channelId, txidHex, inflight.newFundingOutputIndex, state.minimumDepth ?? 3, spliceFunding.p2wshOutput);
|
|
2108
|
+
if (state.fundingTxid && state.remoteBasepoints) {
|
|
2109
|
+
const oldFundingScript = (0, types_8.isTaprootChannel)(state.channelType)
|
|
2110
|
+
? (0, funding_taproot_1.createTaprootFundingScript)(state.localBasepoints.fundingPubkey, state.remoteBasepoints.fundingPubkey, btcNetwork).p2trOutput
|
|
2111
|
+
: (0, funding_1.createFundingScript)(state.localBasepoints.fundingPubkey, state.remoteBasepoints.fundingPubkey, btcNetwork).p2wshOutput;
|
|
2112
|
+
await this.chainWatcher.watchFundingSpendDuringSplice(channelId, Buffer.from(state.fundingTxid).reverse().toString('hex'), state.fundingOutputIndex, oldFundingScript, txidHex);
|
|
2113
|
+
}
|
|
2114
|
+
return;
|
|
2115
|
+
}
|
|
2116
|
+
if (!state.fundingTxid?.equals(fundingTxid))
|
|
2117
|
+
continue;
|
|
2118
|
+
if (!state.remoteBasepoints)
|
|
2119
|
+
continue;
|
|
2120
|
+
const fundingScript = (0, types_8.isTaprootChannel)(state.channelType)
|
|
2121
|
+
? (0, funding_taproot_1.createTaprootFundingScript)(state.localBasepoints.fundingPubkey, state.remoteBasepoints.fundingPubkey, btcNetwork).p2trOutput
|
|
2122
|
+
: (0, funding_1.createFundingScript)(state.localBasepoints.fundingPubkey, state.remoteBasepoints.fundingPubkey, btcNetwork).p2wshOutput;
|
|
2123
|
+
await this.chainWatcher.watchFundingOutput(channelId, txidHex, state.fundingOutputIndex, state.minimumDepth ?? 3, fundingScript);
|
|
2124
|
+
return;
|
|
2125
|
+
}
|
|
2126
|
+
}
|
|
1955
2127
|
async watchRecoveredFundingOutput(channelId, state) {
|
|
1956
2128
|
if (!this.chainWatcher || !this._chainBackend) {
|
|
1957
2129
|
throw new Error('Chain backend is not available');
|
|
@@ -2000,13 +2172,7 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
2000
2172
|
return this.channelManager.listTrustedPeers();
|
|
2001
2173
|
}
|
|
2002
2174
|
openZeroConfChannel(peerPubkey, fundingSatoshis, pushMsat) {
|
|
2003
|
-
|
|
2004
|
-
if (pubkeyErr)
|
|
2005
|
-
throw new Error(pubkeyErr);
|
|
2006
|
-
const satsErr = (0, validation_3.validatePositiveBigint)(fundingSatoshis, 'fundingSatoshis');
|
|
2007
|
-
if (satsErr)
|
|
2008
|
-
throw new Error(satsErr);
|
|
2009
|
-
return this.channelManager.openZeroConfChannel(peerPubkey, fundingSatoshis, pushMsat);
|
|
2175
|
+
return this.openChannel(peerPubkey, fundingSatoshis, pushMsat, undefined, false, true);
|
|
2010
2176
|
}
|
|
2011
2177
|
destroy() {
|
|
2012
2178
|
this._destroyed = true;
|
|
@@ -2213,7 +2379,36 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
2213
2379
|
const init = this.peerManager?.getPeer(peerPubkey)?.getRemoteInit();
|
|
2214
2380
|
return init ? init.features.hasFeature(flags_1.Feature.DUAL_FUND) : false;
|
|
2215
2381
|
}
|
|
2216
|
-
|
|
2382
|
+
peerNegotiatedZeroConf(peerPubkey) {
|
|
2383
|
+
if (!this.localFeatures.hasFeature(flags_1.Feature.ZERO_CONF) ||
|
|
2384
|
+
!this.localFeatures.hasFeature(flags_1.Feature.SCID_ALIAS)) {
|
|
2385
|
+
return false;
|
|
2386
|
+
}
|
|
2387
|
+
if (!this.peerManager)
|
|
2388
|
+
return true;
|
|
2389
|
+
const init = this.peerManager.getPeer(peerPubkey)?.getRemoteInit();
|
|
2390
|
+
return Boolean(init?.features.hasFeature(flags_1.Feature.ZERO_CONF) &&
|
|
2391
|
+
init.features.hasFeature(flags_1.Feature.SCID_ALIAS));
|
|
2392
|
+
}
|
|
2393
|
+
peerFundingInfo(peerPubkey) {
|
|
2394
|
+
const init = this.peerManager?.getPeer(peerPubkey)?.getRemoteInit();
|
|
2395
|
+
return {
|
|
2396
|
+
peerKnown: Boolean(init),
|
|
2397
|
+
dualFund: this.peerNegotiatedDualFund(peerPubkey)
|
|
2398
|
+
};
|
|
2399
|
+
}
|
|
2400
|
+
quoteDualFundingMaxOpen(satsPerVbyte) {
|
|
2401
|
+
if (!Number.isFinite(satsPerVbyte) || satsPerVbyte <= 0) {
|
|
2402
|
+
throw new Error(`satsPerVbyte (${satsPerVbyte}) must be a positive finite rate`);
|
|
2403
|
+
}
|
|
2404
|
+
const fp = this.fundingProvider;
|
|
2405
|
+
if (!fp?.quoteDualFundingMax) {
|
|
2406
|
+
throw new Error('quoting a max dual-funded (v2) open requires a funding provider with quoteDualFundingMax');
|
|
2407
|
+
}
|
|
2408
|
+
const feeratePerKw = Math.ceil(this.clampEstimatedFeeRate(satsPerVbyte) * 250);
|
|
2409
|
+
return { feeratePerKw, ...fp.quoteDualFundingMax(feeratePerKw) };
|
|
2410
|
+
}
|
|
2411
|
+
openChannel(peerPubkey, fundingSatoshis, pushMsat, satsPerVbyte, fundMax = false, trusted = false) {
|
|
2217
2412
|
const pubkeyErr = (0, validation_3.validateHexPubkey)(peerPubkey, 'peerPubkey');
|
|
2218
2413
|
if (pubkeyErr)
|
|
2219
2414
|
throw new Error(pubkeyErr);
|
|
@@ -2230,6 +2425,9 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
2230
2425
|
if (fundMax && satsPerVbyte === undefined) {
|
|
2231
2426
|
throw new Error('max funding requires a pinned satsPerVbyte (the rate the max amount was quoted at)');
|
|
2232
2427
|
}
|
|
2428
|
+
if (trusted && !this.peerNegotiatedZeroConf(peerPubkey)) {
|
|
2429
|
+
throw new Error(`Peer ${peerPubkey} did not negotiate option_zeroconf and option_scid_alias; a trusted (zero-conf) open needs both in its init features`);
|
|
2430
|
+
}
|
|
2233
2431
|
if (this.peerNegotiatedDualFund(peerPubkey)) {
|
|
2234
2432
|
if (pushMsat !== undefined && pushMsat > 0n) {
|
|
2235
2433
|
throw new Error('push is not possible on a dual-funded (v2) open: open_channel2 has no push_msat. Open without a push and pay the peer once the channel is ready.');
|
|
@@ -2247,7 +2445,8 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
2247
2445
|
return this.openChannelV2(peerPubkey, {
|
|
2248
2446
|
fundingSatoshis: quote.fundingSatoshis,
|
|
2249
2447
|
fundingFeeratePerkw: feeratePerKw,
|
|
2250
|
-
fundMax: true
|
|
2448
|
+
fundMax: true,
|
|
2449
|
+
trusted
|
|
2251
2450
|
});
|
|
2252
2451
|
}
|
|
2253
2452
|
const quotedSatPerVbyte = satsPerVbyte !== undefined
|
|
@@ -2260,7 +2459,8 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
2260
2459
|
fundingSatoshis,
|
|
2261
2460
|
fundingFeeratePerkw: quotedSatPerVbyte > 0
|
|
2262
2461
|
? Math.ceil(this.clampEstimatedFeeRate(quotedSatPerVbyte) * 250)
|
|
2263
|
-
: undefined
|
|
2462
|
+
: undefined,
|
|
2463
|
+
trusted
|
|
2264
2464
|
});
|
|
2265
2465
|
}
|
|
2266
2466
|
return this.channelManager.openChannel(peerPubkey, fundingSatoshis, pushMsat, (temporaryChannelId) => {
|
|
@@ -2285,7 +2485,7 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
2285
2485
|
}
|
|
2286
2486
|
this.fundingMaxRequests.add(tempId);
|
|
2287
2487
|
}
|
|
2288
|
-
});
|
|
2488
|
+
}, { trusted });
|
|
2289
2489
|
}
|
|
2290
2490
|
openChannelV2(peerPubkey, params) {
|
|
2291
2491
|
const pubkeyErr = (0, validation_3.validateHexPubkey)(peerPubkey, 'peerPubkey');
|
|
@@ -2320,7 +2520,9 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
2320
2520
|
channelType: params.channelType,
|
|
2321
2521
|
fundMax: params.fundMax
|
|
2322
2522
|
};
|
|
2323
|
-
return this.channelManager.createDualFundedChannel(peerPubkey, dualParams
|
|
2523
|
+
return this.channelManager.createDualFundedChannel(peerPubkey, dualParams, {
|
|
2524
|
+
trusted: params.trusted
|
|
2525
|
+
});
|
|
2324
2526
|
}
|
|
2325
2527
|
createFunding(channel, fundingTxid, outputIndex, signature) {
|
|
2326
2528
|
const txidErr = (0, validation_3.validateBuffer)(fundingTxid, 32, 'fundingTxid');
|
|
@@ -5615,6 +5817,7 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
5615
5817
|
handleNewBlock(blockHeight) {
|
|
5616
5818
|
this.currentBlockHeight = blockHeight;
|
|
5617
5819
|
this.channelManager.handleNewBlock(blockHeight);
|
|
5820
|
+
this.retryPendingFundingBroadcasts();
|
|
5618
5821
|
this.channelManager.reCpfpStuckCommitments(blockHeight, this.resolveForceCloseFeeRatePerVbyte());
|
|
5619
5822
|
this.scanExpiringHtlcs(blockHeight);
|
|
5620
5823
|
this.scanExpiringOfferedHtlcs(blockHeight);
|
|
@@ -6627,6 +6830,7 @@ class LightningNode extends events_1.EventEmitter {
|
|
|
6627
6830
|
}
|
|
6628
6831
|
exports.LightningNode = LightningNode;
|
|
6629
6832
|
LightningNode.PEER_STORAGE_MIN_INTERVAL_MS = 60000;
|
|
6833
|
+
LightningNode.PENDING_FUNDING_TXS_KEY = 'pending_funding_txs';
|
|
6630
6834
|
LightningNode.MAX_REQUESTED_FUNDING_FEE_RATES = 256;
|
|
6631
6835
|
LightningNode.SPLICE_MIN_AMOUNT_SATS = 546n;
|
|
6632
6836
|
LightningNode.REBALANCE_BUDGET_KEY = 'advisor:rebalance-budget';
|