Dusty Daemon
bc9333ac1e
addpsbtoutput: New onchain command for PSBT output
...
Also added splice_out tests that use the new PSBT command.
ChangeLog-Added: New `addpsbtoutput` command for creating a PSBT that can receive funds to the on-chain wallet.
2023-10-03 10:12:39 +02:00
ShahanaFarooqui
9561094433
db: removed deprecated runes_uniqueid
from vars
table
...
Fixes : #6696
Changelog-Fixed: rune: use runes table `id` instead `runes_uniqueid` from `vars` because it returns incorrect unique id if rune/s migrated from datastore.
2023-10-03 08:56:53 +10:30
ShahanaFarooqui
9bcabbc912
runes: Reimplement rate
in terms of per
...
Changelog-Changed: JSON-RPC: `checkrune` `rate` restriction is slightly stricter (exact division of time like `per`)
2023-10-03 06:57:54 +10:30
Rusty Russell
d61dec8925
pytest: trim mostly-reundant commando-rune test.
...
We test this in test_runes, so make this test more cursory (otherwise
next patch breaks it).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-10-03 06:57:54 +10:30
Rusty Russell
acc30c0b3f
lightningd: split DUALOPEND_OPEN_INIT into DUALOPEND_OPEN_INIT and DUALOPEND_OPEN_COMMITTED.
...
The latter is used when we're put in the db, the former is the uncommitted state.
Currently dbid == 0 is used in addition to the state, which is unwieldy.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-Experimental: JSON-RPC: added new dual-funding state `DUALOPEND_OPEN_COMMITTED`
2023-10-02 11:41:19 +10:30
Rusty Russell
2de7171286
lightningd: fold funding tx depth into a single function.
...
Currently it's half done in funding_depth_cb, and half in
channeld_tell_depth. It's very confusing as a result,
with splicing, dual-funding and zeroconf.
This does introduce a behaviour change: if a channel is NORMAL and
it gets reorganized, we force close (unless we were the one who funded
it, or it's zeroconf anyway). This is safer than continuing to use
the channel in this case!
Some tests are changed to zeroconf to make them work, but v2 doesn't
support zeroconf, so that's removed.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-10-02 11:41:19 +10:30
Rusty Russell
8dcfe1a75c
pytest: make test_splice_gossip more precise.
...
Check the exact scids. Makes it simpler when failures occur.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-10-02 11:41:19 +10:30
Rusty Russell
eaf76ddbd6
doc: fix listpeerchannels schema to allow CHANNELD_AWAITING_SPLICE in state.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-10-02 11:41:19 +10:30
Rusty Russell
c52ab02bc9
patch remove-developer-test-annotations.patch
2023-10-02 11:41:19 +10:30
Rusty Russell
6203d250bf
pytest: fix flake in upfront warning.
...
This is actually a real issue (l1 doesn't see the warning before l2
drops the connection), but it's unrelated to this PR, and will require
another one to fix.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-10-02 11:41:19 +10:30
Christian Decker
4121941d92
pytest: Fix elementsd tests
2023-09-26 19:21:05 +02:00
Rusty Russell
6c15ea44dd
pytest: use --developer instead of environment variable.
...
And we always enable it.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-09-21 20:08:24 +09:30
Rusty Russell
2bcae6fc76
plugins/renepay: remove DEVELOPER build-time, in favor of runtime.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-09-21 20:08:24 +09:30
Rusty Russell
f725edad62
plugins: remove #if DEVELOPER.
...
And rename dev-only-option `use_shadow` to `dev_use_shadow`.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-09-21 20:08:24 +09:30
Rusty Russell
de81a59b1e
lightningd: mark explicitly what commands are dev-only.
...
And require --developer to use them.
Also refuse redirection to deprecated APIs if deprecated APIs are disabled!
Changelog-Removed: `dev-sendcustommsg` (use `sendcustommsg`, which was added in v0.10.1)
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-09-21 20:08:24 +09:30
Rusty Russell
c5f6893e28
common: remove #if DEVELOPER.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-09-21 20:08:24 +09:30
Rusty Russell
67a391f8d0
lightningd: pass --developer down to plugins, subdaemons when it set.
...
They might need to know this before they do anything, so cmdline seems most
natural.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-09-21 20:08:24 +09:30
Dusty Daemon
0a5ef7f2e6
splice: Fixes from splice-out test
...
Added a test for splicing out that exposed some behavior and code glitches that are addressed in this commit.
Added test for splice gossip.
Also added documentation for how to do a splice out.
ChangeLog-Fixed: Added docs, testing, and some fixes related to splicing out, insufficent balance handling, and restarting during a splice.
2023-09-21 13:41:45 +09:30
ShahanaFarooqui
f60882feaf
tests/runes: per restriction test cases
2023-09-21 13:31:34 +09:30
ShahanaFarooqui
d745323f74
lightning/runes: added last_used in showrunes
...
Changelog-Added: JSON-RPC: `showrunes` new field `last_used`
2023-09-21 13:31:34 +09:30
Rusty Russell
48522f3e9e
common: don't hang up when we receive a warning.
...
We were allowed to, but the spec removed that. So we handle warnings
differently from errors now.
This also means the LND "internal error" workaround is done in
lightningd (we still disconnect, but we don't want to close channel).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-Changed: Protocol: we no longer disconnect every time we receive a warning message.
2023-09-20 13:56:46 +09:30
Rusty Russell
8be888e63f
pytest: fix renepay test_shadow flake.
...
Sometimes we don't shadow because it would break our budget:
```
def test_shadow(node_factory):
'''Make sure we shadow correctly.'''
l1, l2, l3 = node_factory.line_graph(3,
wait_for_announce=True,
opts=[{},
{'fee-base': 2000, 'fee-per-satoshi': 20, 'cltv-delta': 20},
{'fee-base': 3000, 'fee-per-satoshi': 30, 'cltv-delta': 30}])
# Shadow doesn't always happen (50% chance)!
for i in range(20):
inv = l2.rpc.invoice(123000, f'test_renepay{i}', 'description')['bolt11']
details = l1.rpc.call('renepay', {'invstring': inv})
assert details['status'] == 'complete'
assert details['amount_msat'] == Millisatoshi(123000)
assert details['destination'] == l2.info['id']
> line = l1.daemon.wait_for_log("No MPP, so added .*msat shadow fee")
tests/test_renepay.py:51:
```
```
lightningd-1 2023-09-12T05:08:39.699Z UNUSUAL plugin-cln-renepay: No shadow fee for flow 0/1: fee would add 5005msat to 123000msat, exceeding budget 128000msat.
```
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-09-19 10:20:24 +09:30
Matt Morehouse
8596208f52
fuzz: initial wire message seeds
...
Seeds for every peer wire message, generated from fuzzing with
-max_len=65533 and minimizing the resulting corpora.
2023-09-18 13:58:45 +09:30
Matt Morehouse
42fb17fe58
fuzz: target for your_peer_storage
...
Fuzz the decoding and encoding of your_peer_storage.
2023-09-18 13:58:45 +09:30
Matt Morehouse
6a975f3c1d
fuzz: target for update_blockheight
...
Fuzz the decoding and encoding of update_blockheight.
2023-09-18 13:58:45 +09:30
Matt Morehouse
eec261101f
fuzz: target for tx_signatures
...
Fuzz the decoding and encoding of tx_signatures.
2023-09-18 13:58:45 +09:30
Matt Morehouse
6b5df73cf4
fuzz: target for tx_remove_output
...
Fuzz the decoding and encoding of tx_remove_output.
2023-09-18 13:58:45 +09:30
Matt Morehouse
f3db6642a1
fuzz: target for tx_remove_input
...
Fuzz the decoding and encoding of tx_remove_input.
2023-09-18 13:58:45 +09:30
Matt Morehouse
7ddad8b7df
fuzz: target for tx_init_rbf
...
Fuzz the decoding and encoding of tx_init_rbf.
2023-09-18 13:58:45 +09:30
Matt Morehouse
1dda44c351
fuzz: target for tx_complete
...
Fuzz the decoding and encoding of tx_complete.
2023-09-18 13:58:45 +09:30
Matt Morehouse
c0e8ccea49
fuzz: target for tx_add_output
...
Fuzz the decoding and encoding of tx_add_output.
2023-09-18 13:58:45 +09:30
Matt Morehouse
dac211c73e
fuzz: target for tx_add_input
...
Fuzz the decoding and encoding of tx_add_input.
2023-09-18 13:58:45 +09:30
Matt Morehouse
82c719142e
fuzz: target for tx_ack_rbf
...
Fuzz the decoding and encoding of tx_ack_rbf.
2023-09-18 13:58:45 +09:30
Matt Morehouse
9b7ceb7307
fuzz: target for tx_abort
...
Fuzz the decoding and encoding of tx_abort.
2023-09-18 13:58:45 +09:30
Matt Morehouse
4a09ef122e
fuzz: target for stfu
...
Fuzz the decoding and encoding of stfu.
2023-09-18 13:58:45 +09:30
Matt Morehouse
34ca0f6eac
fuzz: target for splice_locked
...
Fuzz the decoding and encoding of splice_locked.
2023-09-18 13:58:45 +09:30
Matt Morehouse
ae56dcf882
fuzz: target for splice_ack
...
Fuzz the decoding and encoding of splice_ack.
2023-09-18 13:58:45 +09:30
Matt Morehouse
ea488f767b
fuzz: target for splice
...
Fuzz the decoding and encoding of splice.
2023-09-18 13:58:45 +09:30
Matt Morehouse
e473bfda16
fuzz: target for peer_storage
...
Fuzz the decoding and encoding of peer_storage.
2023-09-18 13:58:45 +09:30
Matt Morehouse
451edb7c20
fuzz: target for open_channel2
...
Fuzz the decoding and encoding of open_channel2.
2023-09-18 13:58:45 +09:30
Matt Morehouse
76ccdcd5d0
fuzz: target for onion_message
...
Fuzz the decoding and encoding of onion_message.
2023-09-18 13:58:45 +09:30
Matt Morehouse
70694c23f1
fuzz: target for accept_channel2
...
Fuzz the decoding and encoding of accept_channel2.
2023-09-18 13:58:45 +09:30
Matt Morehouse
a72128a0b6
fuzz: target for warning
...
Fuzz the decoding and encoding of warning.
2023-09-18 13:58:45 +09:30
Matt Morehouse
d60077a8d9
fuzz: target for update_fulfill_htlc
...
Fuzz the decoding and encoding of update_fulfill_htlc.
2023-09-18 13:58:45 +09:30
Matt Morehouse
41a2901ad4
fuzz: target for update_fee
...
Fuzz the decoding and encoding of update_fee.
2023-09-18 13:58:45 +09:30
Matt Morehouse
08898333a4
fuzz: target for update_fail_malformed_htlc
...
Fuzz the decoding and encoding of update_fail_malformed_htlc.
2023-09-18 13:58:45 +09:30
Matt Morehouse
298fe06c20
fuzz: target for update_fail_htlc
...
Fuzz the decoding and encoding of update_fail_htlc.
2023-09-18 13:58:45 +09:30
Matt Morehouse
fb6d5cf587
fuzz: target for update_add_htlc
...
Fuzz the decoding and encoding of update_add_htlc.
2023-09-18 13:58:45 +09:30
Matt Morehouse
1fff136d66
fuzz: target for shutdown
...
Fuzz the decoding and encoding of shutdown.
2023-09-18 13:58:45 +09:30
Matt Morehouse
4aa165e7a2
fuzz: target for revoke_and_ack
...
Fuzz the decoding and encoding of revoke_and_ack.
2023-09-18 13:58:45 +09:30