beignet 0.26.0 → 0.27.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.
- package/README.md +11 -0
- package/dist/cli/auth.js +7 -0
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/beignet-node.js +240 -27
- package/dist/cli/beignet-node.js.map +1 -1
- package/dist/cli/cli.js +65 -2
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/config.js +7 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/daemon-options.js +1 -0
- package/dist/cli/daemon-options.js.map +1 -1
- package/dist/cli/daemon.js +49 -4
- package/dist/cli/daemon.js.map +1 -1
- package/dist/cli/errors.js +7 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/onchain-sweep.js +391 -0
- package/dist/cli/onchain-sweep.js.map +1 -0
- package/dist/cli/openapi.js +274 -6
- package/dist/cli/openapi.js.map +1 -1
- package/dist/lightning/chain/chain-monitor.js +3 -0
- package/dist/lightning/chain/chain-monitor.js.map +1 -1
- package/dist/lightning/chain/closing.js.map +1 -1
- package/dist/lightning/chain/types.js.map +1 -1
- package/dist/lightning/channel/channel-manager.js +111 -11
- package/dist/lightning/channel/channel-manager.js.map +1 -1
- package/dist/lightning/channel/channel-state.js.map +1 -1
- package/dist/lightning/channel/channel.js +386 -37
- package/dist/lightning/channel/channel.js.map +1 -1
- package/dist/lightning/channel/commitment-builder.js +2 -0
- package/dist/lightning/channel/commitment-builder.js.map +1 -1
- package/dist/lightning/channel/validation.js +10 -7
- package/dist/lightning/channel/validation.js.map +1 -1
- package/dist/lightning/channel/zero-reserve.js +3 -0
- package/dist/lightning/channel/zero-reserve.js.map +1 -0
- package/dist/lightning/features/flags.js +2 -0
- package/dist/lightning/features/flags.js.map +1 -1
- package/dist/lightning/gossip/gossip-sync.js +118 -34
- package/dist/lightning/gossip/gossip-sync.js.map +1 -1
- package/dist/lightning/gossip/pathfinding.js +3 -1
- package/dist/lightning/gossip/pathfinding.js.map +1 -1
- package/dist/lightning/gossip/pay-all.js +197 -0
- package/dist/lightning/gossip/pay-all.js.map +1 -0
- package/dist/lightning/message/dual-funding.js +30 -5
- package/dist/lightning/message/dual-funding.js.map +1 -1
- package/dist/lightning/node/lightning-node.js +337 -48
- package/dist/lightning/node/lightning-node.js.map +1 -1
- package/dist/lightning/node/types.js +3 -0
- package/dist/lightning/node/types.js.map +1 -1
- package/dist/lightning/storage/serialization.js +28 -0
- package/dist/lightning/storage/serialization.js.map +1 -1
- package/dist/lightning/watchtower/watchtower-client.js +8 -2
- package/dist/lightning/watchtower/watchtower-client.js.map +1 -1
- package/dist/types/cli/beignet-node.d.ts +16 -3
- package/dist/types/cli/errors.d.ts +3 -0
- package/dist/types/cli/index.d.ts +1 -0
- package/dist/types/cli/onchain-sweep.d.ts +57 -0
- package/dist/types/cli/types.d.ts +27 -0
- package/dist/types/lightning/chain/closing.d.ts +8 -0
- package/dist/types/lightning/chain/types.d.ts +1 -0
- package/dist/types/lightning/channel/channel-manager.d.ts +5 -1
- package/dist/types/lightning/channel/channel-state.d.ts +10 -0
- package/dist/types/lightning/channel/channel.d.ts +16 -2
- package/dist/types/lightning/channel/commitment-builder.d.ts +1 -0
- package/dist/types/lightning/channel/validation.d.ts +6 -3
- package/dist/types/lightning/channel/zero-reserve.d.ts +10 -0
- package/dist/types/lightning/features/flags.d.ts +1 -0
- package/dist/types/lightning/gossip/gossip-sync.d.ts +14 -0
- package/dist/types/lightning/gossip/pathfinding.d.ts +8 -1
- package/dist/types/lightning/gossip/pay-all.d.ts +26 -0
- package/dist/types/lightning/message/dual-funding.d.ts +3 -0
- package/dist/types/lightning/node/lightning-node.d.ts +29 -3
- package/dist/types/lightning/node/types.d.ts +25 -0
- package/dist/types/lightning/storage/serialization.d.ts +17 -0
- package/docs/IROH-QUALIFICATION-2026-10-03.json +239 -0
- package/docs/IROH-QUALIFICATION-2026-10-03.md +115 -0
- package/docs/PAY-ALL.md +61 -0
- package/docs/ZERO-RESERVE.md +47 -0
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -670,6 +670,17 @@ LightningNode High-level API (EventEmitter)
|
|
|
670
670
|
|
|
671
671
|
## Tests
|
|
672
672
|
|
|
673
|
+
Use **Node.js 20 (20.19+)** for development and `npm ci` to install the locked tools.
|
|
674
|
+
The linter and test runner have newer Node requirements than the library API.
|
|
675
|
+
CI uses Node.js 20.
|
|
676
|
+
|
|
677
|
+
The lint configuration keeps the established CommonJS imports, enum aliases,
|
|
678
|
+
unused catch bindings, `any` warnings and Chai assertion style. Rules removed
|
|
679
|
+
from the upgraded linter's recommended preset remain explicitly enabled where
|
|
680
|
+
they were enforced before. Prettier covers TypeScript semicolons, with the core
|
|
681
|
+
semicolon rule retained for JavaScript. Typed promise checks remain enabled for
|
|
682
|
+
every TypeScript file.
|
|
683
|
+
|
|
673
684
|
```bash
|
|
674
685
|
npm run test:local # test:lightning + test:cli at once; no infrastructure needed
|
|
675
686
|
npm run test:lightning # 6200+ Lightning unit tests (parallel), no infrastructure needed
|
package/dist/cli/auth.js
CHANGED
|
@@ -18,6 +18,7 @@ exports.ROUTE_SCOPES = {
|
|
|
18
18
|
'GET /channels/ready': ['readonly'],
|
|
19
19
|
'GET /payments': ['readonly'],
|
|
20
20
|
'GET /payment': ['readonly'],
|
|
21
|
+
'GET /onchain/sweep': ['readonly'],
|
|
21
22
|
'GET /payment/proof': ['readonly'],
|
|
22
23
|
'GET /payment/verify-proof': ['readonly'],
|
|
23
24
|
'GET /forwards': ['readonly'],
|
|
@@ -89,6 +90,7 @@ exports.ROUTE_SCOPES = {
|
|
|
89
90
|
'GET /can-receive': ['readonly', 'invoice'],
|
|
90
91
|
'GET /events': ['readonly', 'invoice'],
|
|
91
92
|
'POST /invoice/decode': ['readonly', 'invoice'],
|
|
93
|
+
'POST /invoice/pay-all/quote': ['readonly'],
|
|
92
94
|
'POST /invoice/validate': ['readonly', 'invoice'],
|
|
93
95
|
'POST /offer/decode': ['readonly', 'invoice'],
|
|
94
96
|
'POST /payment/wait': ['readonly', 'invoice'],
|
|
@@ -111,10 +113,14 @@ exports.ROUTE_SCOPES = {
|
|
|
111
113
|
'GET /webhooks': [],
|
|
112
114
|
'POST /send': [],
|
|
113
115
|
'POST /send-max': [],
|
|
116
|
+
'POST /onchain/sweep/prepare': [],
|
|
117
|
+
'POST /onchain/sweep/submit': [],
|
|
118
|
+
'POST /onchain/sweep/cancel': [],
|
|
114
119
|
'POST /tx/bump-fee': [],
|
|
115
120
|
'POST /tx/boost': [],
|
|
116
121
|
'POST /consolidate': [],
|
|
117
122
|
'POST /invoice/pay': [],
|
|
123
|
+
'POST /invoice/pay-all': [],
|
|
118
124
|
'POST /invoice/pay-safe': [],
|
|
119
125
|
'POST /invoice/pay-async': [],
|
|
120
126
|
'POST /invoice/pay-retry': [],
|
|
@@ -154,6 +160,7 @@ exports.ROUTE_SCOPES = {
|
|
|
154
160
|
'POST /channel/connect-and-open': [],
|
|
155
161
|
'POST /channels/ensure-minimum': [],
|
|
156
162
|
'POST /channel/close': [],
|
|
163
|
+
'POST /channel/close-quote': ['readonly'],
|
|
157
164
|
'POST /channel/forceclose': [],
|
|
158
165
|
'POST /channel/rebroadcast-close': [],
|
|
159
166
|
'POST /channel/funding-quote': ['readonly'],
|
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
|
@@ -43,6 +43,7 @@ const helpers_1 = require("../utils/helpers");
|
|
|
43
43
|
const conversion_1 = require("../utils/conversion");
|
|
44
44
|
const wallet_3 = require("../types/wallet");
|
|
45
45
|
const wallet_storage_1 = require("./wallet-storage");
|
|
46
|
+
const onchain_sweep_1 = require("./onchain-sweep");
|
|
46
47
|
const fs_utils_1 = require("./fs-utils");
|
|
47
48
|
const backup_mac_1 = require("./backup-mac");
|
|
48
49
|
const node_storage_view_1 = require("./node-storage-view");
|
|
@@ -174,6 +175,9 @@ function parseScid(scid) {
|
|
|
174
175
|
}
|
|
175
176
|
exports.parseScid = parseScid;
|
|
176
177
|
exports.ENGINE_PAYMENT_ERROR_CODES = {
|
|
178
|
+
PAY_ALL_REVIEW_EXPIRED: 'PAY_ALL_REVIEW_EXPIRED',
|
|
179
|
+
PAY_ALL_REMAINDER: 'PAY_ALL_REMAINDER',
|
|
180
|
+
PAY_ALL_BUDGET_MISMATCH: 'PAY_ALL_BUDGET_MISMATCH',
|
|
177
181
|
NO_ROUTE: 'NO_ROUTE',
|
|
178
182
|
DUPLICATE_PAYMENT: 'DUPLICATE_PAYMENT',
|
|
179
183
|
NO_CHANNEL_TO_HOP: 'PEER_NOT_CONNECTED',
|
|
@@ -861,6 +865,10 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
861
865
|
throw new errors_1.BeignetError('INVALID_PARAMS', `leaseRates: ${refusal}`);
|
|
862
866
|
}
|
|
863
867
|
}
|
|
868
|
+
if (opts.waiveClientReserve !== undefined &&
|
|
869
|
+
typeof opts.waiveClientReserve !== 'boolean') {
|
|
870
|
+
throw new errors_1.BeignetError('INVALID_PARAMS', 'waiveClientReserve must be a boolean');
|
|
871
|
+
}
|
|
864
872
|
if (opts.jitReceive !== undefined) {
|
|
865
873
|
const refusal = jitReceiveRefusal(opts.jitReceive);
|
|
866
874
|
if (refusal !== null) {
|
|
@@ -1135,6 +1143,11 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
1135
1143
|
}
|
|
1136
1144
|
: {}),
|
|
1137
1145
|
...(opts.fforIssuer === true ? { fforIssuer: { enabled: true } } : {}),
|
|
1146
|
+
zeroReserve: {
|
|
1147
|
+
role: 'primary',
|
|
1148
|
+
advertise: opts.waiveClientReserve === true,
|
|
1149
|
+
waiveClientReserve: opts.waiveClientReserve === true
|
|
1150
|
+
},
|
|
1138
1151
|
jitReceive: opts.jitReceive?.enabled === true
|
|
1139
1152
|
? {
|
|
1140
1153
|
enabled: true,
|
|
@@ -2700,6 +2713,7 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
2700
2713
|
return path.join(this.dataDir, `${this.networkName}.capsule-restore.json`);
|
|
2701
2714
|
}
|
|
2702
2715
|
carryDaemonState(from, to) {
|
|
2716
|
+
this.onchainSweeps().carryTo(to);
|
|
2703
2717
|
const overrides = from.loadWalletData(auth_1.AUTH_KEY_OVERRIDES_STORAGE_KEY);
|
|
2704
2718
|
if (overrides !== null) {
|
|
2705
2719
|
to.saveWalletData(auth_1.AUTH_KEY_OVERRIDES_STORAGE_KEY, overrides);
|
|
@@ -3286,9 +3300,15 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
3286
3300
|
]);
|
|
3287
3301
|
let totalMsat = 0n;
|
|
3288
3302
|
for (const ch of this.node.listChannels()) {
|
|
3289
|
-
|
|
3303
|
+
const effectiveState = ch.state === types_7.ChannelState.AWAITING_REESTABLISH
|
|
3304
|
+
? this.node
|
|
3305
|
+
.getChannelManager()
|
|
3306
|
+
.getChannel(ch.channelId)
|
|
3307
|
+
?.getFullState().preReestablishState ?? ch.state
|
|
3308
|
+
: ch.state;
|
|
3309
|
+
if (!recovering.has(effectiveState))
|
|
3290
3310
|
continue;
|
|
3291
|
-
if (
|
|
3311
|
+
if (effectiveState === types_7.ChannelState.FORCE_CLOSED &&
|
|
3292
3312
|
this.isForceCloseBalanceInWallet(ch.channelId)) {
|
|
3293
3313
|
continue;
|
|
3294
3314
|
}
|
|
@@ -3730,6 +3750,50 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
3730
3750
|
}
|
|
3731
3751
|
});
|
|
3732
3752
|
}
|
|
3753
|
+
onchainSweeps() {
|
|
3754
|
+
return new onchain_sweep_1.OnchainSweeps({
|
|
3755
|
+
storage: this.storage,
|
|
3756
|
+
wallet: this.wallet,
|
|
3757
|
+
network: this.getBitcoinNetwork(),
|
|
3758
|
+
broadcast: (hex) => this._broadcastRawTx(hex),
|
|
3759
|
+
admitAndSave: (debitSats, save) => {
|
|
3760
|
+
this._checkMaxPayment(debitSats);
|
|
3761
|
+
this._checkSpendLimit(debitSats);
|
|
3762
|
+
const before = {
|
|
3763
|
+
total: this._dailySpentSats,
|
|
3764
|
+
onchain: this._dailySpentOnchainSats,
|
|
3765
|
+
lightning: this._dailySpentLightningSats,
|
|
3766
|
+
reset: this._dailySpendResetTime
|
|
3767
|
+
};
|
|
3768
|
+
try {
|
|
3769
|
+
this.storage.transaction(() => {
|
|
3770
|
+
this._recordSpend(debitSats, 'onchain');
|
|
3771
|
+
this._persistSpendState(true);
|
|
3772
|
+
save();
|
|
3773
|
+
});
|
|
3774
|
+
}
|
|
3775
|
+
catch (error) {
|
|
3776
|
+
this._dailySpentSats = before.total;
|
|
3777
|
+
this._dailySpentOnchainSats = before.onchain;
|
|
3778
|
+
this._dailySpentLightningSats = before.lightning;
|
|
3779
|
+
this._dailySpendResetTime = before.reset;
|
|
3780
|
+
throw error;
|
|
3781
|
+
}
|
|
3782
|
+
}
|
|
3783
|
+
});
|
|
3784
|
+
}
|
|
3785
|
+
prepareOnchainSweep(request) {
|
|
3786
|
+
return this._runOnchainSend(() => this.onchainSweeps().prepare(request));
|
|
3787
|
+
}
|
|
3788
|
+
submitOnchainSweep(requestId) {
|
|
3789
|
+
return this._runOnchainSend(() => this.onchainSweeps().submit(requestId));
|
|
3790
|
+
}
|
|
3791
|
+
getOnchainSweep(requestId) {
|
|
3792
|
+
return this.onchainSweeps().get(requestId);
|
|
3793
|
+
}
|
|
3794
|
+
cancelOnchainSweep(requestId) {
|
|
3795
|
+
return this._runOnchainSend(() => this.onchainSweeps().cancel(requestId));
|
|
3796
|
+
}
|
|
3733
3797
|
async bumpFeeOnchain(txid, satsPerVbyte) {
|
|
3734
3798
|
this._validateTxid(txid);
|
|
3735
3799
|
this._validateFeeRate(satsPerVbyte, true);
|
|
@@ -3942,9 +4006,48 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
3942
4006
|
};
|
|
3943
4007
|
}
|
|
3944
4008
|
listOnchainTransactions() {
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
.
|
|
4009
|
+
const transactions = new Map(Object.values(this.wallet.transactions).map((tx) => {
|
|
4010
|
+
const info = this.toOnchainTxInfo(tx);
|
|
4011
|
+
return [info.txid, info];
|
|
4012
|
+
}));
|
|
4013
|
+
for (const close of this.node.listExternalClosePayments()) {
|
|
4014
|
+
const bitcoin = require('bitcoinjs-lib');
|
|
4015
|
+
transactions.set(close.txid, {
|
|
4016
|
+
txid: close.txid,
|
|
4017
|
+
type: 'sent',
|
|
4018
|
+
valueSats: close.amountSats,
|
|
4019
|
+
feeSats: close.feeSats,
|
|
4020
|
+
satsPerVbyte: close.satsPerVbyte,
|
|
4021
|
+
address: bitcoin.address.fromOutputScript(Buffer.from(close.scriptHex, 'hex'), this.getBitcoinNetwork()),
|
|
4022
|
+
confirmed: close.confirmationHeight > 0,
|
|
4023
|
+
...(close.confirmationHeight > 0
|
|
4024
|
+
? { height: close.confirmationHeight }
|
|
4025
|
+
: {}),
|
|
4026
|
+
timestamp: close.timestamp,
|
|
4027
|
+
source: 'cooperative-close',
|
|
4028
|
+
channelId: close.channelId
|
|
4029
|
+
});
|
|
4030
|
+
}
|
|
4031
|
+
if (typeof this.storage?.loadWalletData === 'function') {
|
|
4032
|
+
for (const sweep of this.onchainSweeps().list()) {
|
|
4033
|
+
if (!sweep.txid ||
|
|
4034
|
+
!['submitted', 'confirmed'].includes(sweep.status) ||
|
|
4035
|
+
transactions.has(sweep.txid))
|
|
4036
|
+
continue;
|
|
4037
|
+
transactions.set(sweep.txid, {
|
|
4038
|
+
txid: sweep.txid,
|
|
4039
|
+
type: 'sent',
|
|
4040
|
+
valueSats: sweep.amountSats,
|
|
4041
|
+
feeSats: sweep.feeSats,
|
|
4042
|
+
satsPerVbyte: sweep.satsPerVbyte,
|
|
4043
|
+
address: sweep.address,
|
|
4044
|
+
confirmed: sweep.status === 'confirmed',
|
|
4045
|
+
timestamp: sweep.createdAt,
|
|
4046
|
+
source: 'onchain-sweep'
|
|
4047
|
+
});
|
|
4048
|
+
}
|
|
4049
|
+
}
|
|
4050
|
+
return [...transactions.values()].sort((a, b) => b.timestamp - a.timestamp);
|
|
3948
4051
|
}
|
|
3949
4052
|
listUtxos() {
|
|
3950
4053
|
return this.wallet.listUtxos().map((utxo) => ({
|
|
@@ -3958,19 +4061,23 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
3958
4061
|
}
|
|
3959
4062
|
async freezeUtxo(txid, index) {
|
|
3960
4063
|
this._validateTxid(txid);
|
|
3961
|
-
|
|
3962
|
-
|
|
3963
|
-
|
|
3964
|
-
|
|
3965
|
-
|
|
4064
|
+
return this._runOnchainSend(async () => {
|
|
4065
|
+
this.onchainSweeps().assertInputMutable(txid, index);
|
|
4066
|
+
const res = await this.wallet.freezeUtxo({ txid, index });
|
|
4067
|
+
if (res.isErr())
|
|
4068
|
+
throw new errors_1.BeignetError(errors_1.BeignetErrorCode.INVALID_PARAMS, res.error.message);
|
|
4069
|
+
return { frozen: `${txid}:${index}` };
|
|
4070
|
+
});
|
|
3966
4071
|
}
|
|
3967
4072
|
async unfreezeUtxo(txid, index) {
|
|
3968
4073
|
this._validateTxid(txid);
|
|
3969
|
-
|
|
3970
|
-
|
|
3971
|
-
|
|
3972
|
-
|
|
3973
|
-
|
|
4074
|
+
return this._runOnchainSend(async () => {
|
|
4075
|
+
this.onchainSweeps().assertInputMutable(txid, index);
|
|
4076
|
+
const res = await this.wallet.unfreezeUtxo({ txid, index });
|
|
4077
|
+
if (res.isErr())
|
|
4078
|
+
throw new errors_1.BeignetError(errors_1.BeignetErrorCode.INVALID_PARAMS, res.error.message);
|
|
4079
|
+
return { unfrozen: `${txid}:${index}` };
|
|
4080
|
+
});
|
|
3974
4081
|
}
|
|
3975
4082
|
async setAddressLabel(address, label) {
|
|
3976
4083
|
const res = await this.wallet.setAddressLabel(address, label);
|
|
@@ -4182,11 +4289,45 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
4182
4289
|
await Promise.all(openPromises);
|
|
4183
4290
|
return opened;
|
|
4184
4291
|
}
|
|
4185
|
-
async
|
|
4292
|
+
async closeQuote(channelId, address, acceptStaleStateRisk = false) {
|
|
4293
|
+
const idBuf = requireChannelIdHex(channelId);
|
|
4294
|
+
const script = this._decodeSpliceDestination(address);
|
|
4295
|
+
if (!this.node.getChannel(idBuf))
|
|
4296
|
+
throw new errors_1.BeignetError(errors_1.BeignetErrorCode.CHANNEL_NOT_FOUND, `Channel not found: ${channelId}`);
|
|
4297
|
+
const destination = script ?? (await this.cooperativeCloseDestination());
|
|
4298
|
+
try {
|
|
4299
|
+
return this.node.closeQuote(idBuf, destination, acceptStaleStateRisk);
|
|
4300
|
+
}
|
|
4301
|
+
catch (error) {
|
|
4302
|
+
throw new errors_1.BeignetError('CLOSE_UNAVAILABLE', error.message);
|
|
4303
|
+
}
|
|
4304
|
+
}
|
|
4305
|
+
async closeChannel(channelId, acceptStaleStateRisk = false, address) {
|
|
4186
4306
|
const idBuf = requireChannelIdHex(channelId);
|
|
4307
|
+
const destination = this._decodeSpliceDestination(address);
|
|
4187
4308
|
if (!this.node.getChannel(idBuf)) {
|
|
4188
4309
|
throw new errors_1.BeignetError(errors_1.BeignetErrorCode.CHANNEL_NOT_FOUND, `Channel not found: ${idBuf.toString('hex')}`);
|
|
4189
4310
|
}
|
|
4311
|
+
const scriptPubkey = destination ?? (await this.cooperativeCloseDestination());
|
|
4312
|
+
let externalSpendSats;
|
|
4313
|
+
if (destination) {
|
|
4314
|
+
let quote;
|
|
4315
|
+
try {
|
|
4316
|
+
quote = this.node.closeQuote(idBuf, destination, acceptStaleStateRisk);
|
|
4317
|
+
}
|
|
4318
|
+
catch (error) {
|
|
4319
|
+
throw new errors_1.BeignetError('CLOSE_UNAVAILABLE', error.message);
|
|
4320
|
+
}
|
|
4321
|
+
externalSpendSats = quote.amountSats + quote.feeSats;
|
|
4322
|
+
this._checkMaxPayment(externalSpendSats);
|
|
4323
|
+
this._checkSpendLimit(externalSpendSats);
|
|
4324
|
+
}
|
|
4325
|
+
const result = this.node.closeChannel(idBuf, scriptPubkey, acceptStaleStateRisk, destination !== undefined);
|
|
4326
|
+
if (result.ok && externalSpendSats !== undefined)
|
|
4327
|
+
this._recordSpend(externalSpendSats, 'onchain');
|
|
4328
|
+
return result;
|
|
4329
|
+
}
|
|
4330
|
+
async cooperativeCloseDestination() {
|
|
4190
4331
|
let scriptPubkey = await this.boundedCurrentWalletAddressScript();
|
|
4191
4332
|
if (!scriptPubkey)
|
|
4192
4333
|
scriptPubkey = this.sweepDestinationScript;
|
|
@@ -4194,7 +4335,7 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
4194
4335
|
const bitcoin = require('bitcoinjs-lib');
|
|
4195
4336
|
scriptPubkey = bitcoin.address.toOutputScript(this.node.getFundingAddress(), this.getBitcoinNetwork());
|
|
4196
4337
|
}
|
|
4197
|
-
return
|
|
4338
|
+
return scriptPubkey;
|
|
4198
4339
|
}
|
|
4199
4340
|
async boundedCurrentWalletAddressScript() {
|
|
4200
4341
|
return this.raceWithTimeout(this.resolveCurrentWalletAddressScript().catch(() => undefined), this._closeAddressLookupTimeoutMs);
|
|
@@ -4814,6 +4955,12 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
4814
4955
|
peerPubkey,
|
|
4815
4956
|
state: ch.state,
|
|
4816
4957
|
localBalanceSats: Number(ch.localBalanceMsat / 1000n),
|
|
4958
|
+
maxSendableSats: Number((ch.spendableOutboundMsat ?? 0n) / 1000n),
|
|
4959
|
+
localReserveWaived: ch.localReserveWaived === true,
|
|
4960
|
+
remoteReserveWaived: ch.remoteReserveWaived === true,
|
|
4961
|
+
isOpener: ch.isOpener,
|
|
4962
|
+
localReserveSats: Number((ch.localReserveMsat ?? 0n) / 1000n),
|
|
4963
|
+
remoteReserveSats: Number((ch.remoteReserveMsat ?? 0n) / 1000n),
|
|
4817
4964
|
remoteBalanceSats: Number(ch.remoteBalanceMsat / 1000n),
|
|
4818
4965
|
capacitySats: Number(ch.fundingSatoshis),
|
|
4819
4966
|
isAnchor: (0, types_7.isAnchorChannel)(ch.channelType ?? null)
|
|
@@ -5680,7 +5827,7 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
5680
5827
|
this._persistSpendState();
|
|
5681
5828
|
return count;
|
|
5682
5829
|
}
|
|
5683
|
-
_persistSpendState() {
|
|
5830
|
+
_persistSpendState(strict = false) {
|
|
5684
5831
|
if (this._dailySpendLimitSats === undefined)
|
|
5685
5832
|
return;
|
|
5686
5833
|
const storage = this.storage;
|
|
@@ -5702,6 +5849,8 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
5702
5849
|
storage.saveMetadata(exports.DAILY_SPEND_STATE_KEY, JSON.stringify(state));
|
|
5703
5850
|
}
|
|
5704
5851
|
catch (err) {
|
|
5852
|
+
if (strict)
|
|
5853
|
+
throw err;
|
|
5705
5854
|
this.log('warn', 'Could not persist the daily spend ledger', {
|
|
5706
5855
|
error: err instanceof Error ? err.message : String(err)
|
|
5707
5856
|
});
|
|
@@ -6161,6 +6310,39 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
6161
6310
|
}
|
|
6162
6311
|
return new errors_1.BeignetError(code, msg);
|
|
6163
6312
|
}
|
|
6313
|
+
quotePayAll(bolt11, maxFeeMsat) {
|
|
6314
|
+
try {
|
|
6315
|
+
const quote = this.node.quotePayAll(bolt11, requireMsatValue(maxFeeMsat, 'maxFeeMsat'));
|
|
6316
|
+
return {
|
|
6317
|
+
...quote,
|
|
6318
|
+
debitMsat: quote.debitMsat.toString(),
|
|
6319
|
+
maxFeeMsat: quote.maxFeeMsat.toString(),
|
|
6320
|
+
minRecipientMsat: quote.minRecipientMsat.toString(),
|
|
6321
|
+
remainderMsat: quote.remainderMsat.toString()
|
|
6322
|
+
};
|
|
6323
|
+
}
|
|
6324
|
+
catch (err) {
|
|
6325
|
+
throw this._toBeignetPaymentError(err);
|
|
6326
|
+
}
|
|
6327
|
+
}
|
|
6328
|
+
async payInvoiceAll(bolt11, debitMsat, maxFeeMsat, timeoutMs = 60000) {
|
|
6329
|
+
this._checkDraining();
|
|
6330
|
+
const decoded = decodeInvoiceInput(bolt11);
|
|
6331
|
+
const debit = requireMsatValue(debitMsat, 'debitMsat');
|
|
6332
|
+
const feeCap = requireMsatValue(maxFeeMsat, 'maxFeeMsat');
|
|
6333
|
+
if (debit <= 0n || debit > 0xffffffffffffffffn || feeCap >= debit) {
|
|
6334
|
+
throw new errors_1.BeignetError('INVALID_PARAMS', 'Pay-all requires a positive u64 debitMsat and maxFeeMsat below it');
|
|
6335
|
+
}
|
|
6336
|
+
if (!Number.isSafeInteger(timeoutMs) ||
|
|
6337
|
+
timeoutMs < 1 ||
|
|
6338
|
+
timeoutMs > 2147483647) {
|
|
6339
|
+
throw new errors_1.BeignetError('INVALID_PARAMS', 'timeoutMs must be a positive timer duration');
|
|
6340
|
+
}
|
|
6341
|
+
const claim = this._admitLightningSpend(decoded.paymentHash.toString('hex'), debit, 0n);
|
|
6342
|
+
return this.waitForInvoicePayment(decoded.paymentHash, timeoutMs, claim, () => {
|
|
6343
|
+
this.node.sendPayAll(bolt11, debit, feeCap);
|
|
6344
|
+
});
|
|
6345
|
+
}
|
|
6164
6346
|
async payInvoice(bolt11, timeoutMs = 60000, maxFeeSats, amountSats, metadata, cltvLimit, maxFeeMsatCap) {
|
|
6165
6347
|
this._checkDraining();
|
|
6166
6348
|
const decoded = decodeInvoiceInput(bolt11);
|
|
@@ -6173,10 +6355,16 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
6173
6355
|
const maxFeeMsat = resolveMaxFeeMsat(maxFeeSats, maxFeeMsatCap, payAmountMsat);
|
|
6174
6356
|
const maxCltvExpiryHeight = this._cltvCeiling(cltvLimit);
|
|
6175
6357
|
const claim = this._admitLightningSpend(paymentHashHex, payAmountMsat, maxFeeMsat);
|
|
6358
|
+
return this.waitForInvoicePayment(decoded.paymentHash, timeoutMs, claim, () => {
|
|
6359
|
+
this.node.sendPayment(bolt11, undefined, maxFeeMsat, amountMsat, maxCltvExpiryHeight, undefined, metadata);
|
|
6360
|
+
});
|
|
6361
|
+
}
|
|
6362
|
+
waitForInvoicePayment(paymentHash, timeoutMs, claim, dispatch) {
|
|
6363
|
+
const paymentHashHex = paymentHash.toString('hex');
|
|
6176
6364
|
return new Promise((resolve, reject) => {
|
|
6177
6365
|
const timer = setTimeout(() => {
|
|
6178
6366
|
cleanup();
|
|
6179
|
-
reject(this._paymentTimeout(
|
|
6367
|
+
reject(this._paymentTimeout(paymentHash, 'Payment', timeoutMs, claim));
|
|
6180
6368
|
}, timeoutMs);
|
|
6181
6369
|
const cleanup = () => {
|
|
6182
6370
|
clearTimeout(timer);
|
|
@@ -6200,13 +6388,19 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
6200
6388
|
};
|
|
6201
6389
|
this.node.on('payment:sent', onSent);
|
|
6202
6390
|
this.node.on('payment:failed', onFailed);
|
|
6391
|
+
const beforeDispatch = this.node.getPayment(paymentHash);
|
|
6203
6392
|
try {
|
|
6204
|
-
|
|
6393
|
+
dispatch();
|
|
6205
6394
|
}
|
|
6206
6395
|
catch (err) {
|
|
6207
6396
|
cleanup();
|
|
6208
|
-
|
|
6397
|
+
const dispatched = this.node.getPayment(paymentHash) !== beforeDispatch;
|
|
6398
|
+
if (dispatched && this.node.hasHtlcInFlight(paymentHash)) {
|
|
6399
|
+
this.node.failPaymentUnlessInFlight(paymentHash);
|
|
6400
|
+
}
|
|
6401
|
+
else if (claim) {
|
|
6209
6402
|
this._closeAsyncSpendClaim(paymentHashHex, claim);
|
|
6403
|
+
}
|
|
6210
6404
|
reject(this._toBeignetPaymentError(err));
|
|
6211
6405
|
}
|
|
6212
6406
|
});
|
|
@@ -6621,6 +6815,7 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
6621
6815
|
return null;
|
|
6622
6816
|
const feeMsat = paymentFeeMsat(record);
|
|
6623
6817
|
return {
|
|
6818
|
+
...(record.payAll ? { payAll: this.toPaymentInfo(record).payAll } : {}),
|
|
6624
6819
|
paymentHash: proof.paymentHash.toString('hex'),
|
|
6625
6820
|
preimage: proof.preimage.toString('hex'),
|
|
6626
6821
|
amountSats: paymentAmountSats(record),
|
|
@@ -6711,6 +6906,17 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
6711
6906
|
}
|
|
6712
6907
|
toPaymentInfo(p) {
|
|
6713
6908
|
const info = {
|
|
6909
|
+
...(p.payAll
|
|
6910
|
+
? {
|
|
6911
|
+
payAll: {
|
|
6912
|
+
debitMsat: p.payAll.debitMsat.toString(),
|
|
6913
|
+
maxFeeMsat: p.payAll.maxFeeMsat.toString(),
|
|
6914
|
+
deliveredMsat: p.payAll.deliveredMsat.toString(),
|
|
6915
|
+
feeMsat: p.payAll.feeMsat.toString(),
|
|
6916
|
+
remainderMsat: p.payAll.remainderMsat.toString()
|
|
6917
|
+
}
|
|
6918
|
+
}
|
|
6919
|
+
: {}),
|
|
6714
6920
|
paymentHash: p.paymentHash.toString('hex'),
|
|
6715
6921
|
amountSats: paymentAmountSats(p),
|
|
6716
6922
|
status: p.status,
|
|
@@ -6853,10 +7059,10 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
6853
7059
|
isAnchor: (0, types_7.isAnchorChannel)(state.channelType)
|
|
6854
7060
|
};
|
|
6855
7061
|
}
|
|
6856
|
-
spliceQuote(channelId, direction, feeratePerkw) {
|
|
7062
|
+
spliceQuote(channelId, direction, feeratePerkw, destinationAddress) {
|
|
6857
7063
|
const idBuf = requireChannelIdHex(channelId);
|
|
6858
7064
|
requireU32(feeratePerkw, 'feeratePerkw', 1, splice_weight_1.MAX_SPLICE_FEERATE_PERKW);
|
|
6859
|
-
return fundingOrRefuse(() => this.node.spliceQuote(idBuf, direction, feeratePerkw));
|
|
7065
|
+
return fundingOrRefuse(() => this.node.spliceQuote(idBuf, direction, feeratePerkw, this._decodeSpliceDestination(destinationAddress)));
|
|
6860
7066
|
}
|
|
6861
7067
|
spliceIn(channelId, amountSats, feeratePerkw, fundingUtxos) {
|
|
6862
7068
|
const idBuf = requireChannelIdHex(channelId);
|
|
@@ -6865,10 +7071,7 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
6865
7071
|
const result = fundingOrRefuse(() => this.node.spliceIn(idBuf, BigInt(amountSats), feeratePerkw, fundingUtxos));
|
|
6866
7072
|
return result;
|
|
6867
7073
|
}
|
|
6868
|
-
|
|
6869
|
-
const idBuf = requireChannelIdHex(channelId);
|
|
6870
|
-
requirePositiveSafeInteger(amountSats, 'amountSats');
|
|
6871
|
-
requireU32(feeratePerkw, 'feeratePerkw', 1, splice_weight_1.MAX_SPLICE_FEERATE_PERKW);
|
|
7074
|
+
_decodeSpliceDestination(destinationAddress) {
|
|
6872
7075
|
let destinationScript;
|
|
6873
7076
|
if (destinationAddress !== undefined) {
|
|
6874
7077
|
if (typeof destinationAddress !== 'string' ||
|
|
@@ -6883,6 +7086,13 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
6883
7086
|
throw new errors_1.BeignetError(errors_1.BeignetErrorCode.INVALID_PARAMS, `destinationAddress is not a valid address for this network: ${err instanceof Error ? err.message : 'failed to decode'}`);
|
|
6884
7087
|
}
|
|
6885
7088
|
}
|
|
7089
|
+
return destinationScript;
|
|
7090
|
+
}
|
|
7091
|
+
spliceOut(channelId, amountSats, feeratePerkw, destinationAddress) {
|
|
7092
|
+
const idBuf = requireChannelIdHex(channelId);
|
|
7093
|
+
requirePositiveSafeInteger(amountSats, 'amountSats');
|
|
7094
|
+
requireU32(feeratePerkw, 'feeratePerkw', 1, splice_weight_1.MAX_SPLICE_FEERATE_PERKW);
|
|
7095
|
+
const destinationScript = this._decodeSpliceDestination(destinationAddress);
|
|
6886
7096
|
let externalSpendSats;
|
|
6887
7097
|
if (destinationScript !== undefined) {
|
|
6888
7098
|
const feeSats = Number((0, splice_weight_1.spliceFeeSats)((0, splice_weight_1.estimateSpliceTxWeight)({
|
|
@@ -7327,7 +7537,9 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
7327
7537
|
const snapshot = this.node.getLiquiditySnapshot();
|
|
7328
7538
|
let reserveMsat = 0n;
|
|
7329
7539
|
let sendableMsat = 0n;
|
|
7540
|
+
let maxSendableMsat = 0n;
|
|
7330
7541
|
for (const ch of this.node.listChannels()) {
|
|
7542
|
+
maxSendableMsat += ch.spendableOutboundMsat ?? 0n;
|
|
7331
7543
|
if (isHeldRestore(ch))
|
|
7332
7544
|
continue;
|
|
7333
7545
|
if (ch.state !== types_7.ChannelState.NORMAL && !ch.htlcUsable)
|
|
@@ -7351,6 +7563,7 @@ class BeignetNode extends events_1.EventEmitter {
|
|
|
7351
7563
|
inboundLiquidityPct: snapshot.inboundLiquidityPct,
|
|
7352
7564
|
reserveSats: Number(reserveMsat / 1000n),
|
|
7353
7565
|
sendableSats: Number(sendableMsat / 1000n),
|
|
7566
|
+
maxSendableSats: Number(maxSendableMsat / 1000n),
|
|
7354
7567
|
recommendations: snapshot.recommendations
|
|
7355
7568
|
};
|
|
7356
7569
|
}
|