Christian Decker
a503032bab
lightning: Add status field to htlc_in
2021-06-05 17:47:32 +09:30
Christian Decker
6062b40a5d
plugin: Add the plugin we're serializing for in the serializer
...
We will start annotating some of the in-memory objects with a message
indicating which plugin currently is processing the hook.
2021-06-05 17:47:32 +09:30
Christian Decker
eeba75ca7c
pay: Do not attempt to filter routehints if we can't find outselves
...
There are a couple of ways this can happen, but we shouldn't crash.
Fixed #4488
Fixes #4533
Changelog-Fixed: pay: Fixed an issue when filtering routehints when we can't find ourselves in the local network view.
2021-06-05 13:56:01 +09:30
Rusty Russell
67c03c02a0
pytest: speed up test_opening.py::test_funder_contribution_limits when !DEVELOPER
...
This test takes 695 seconds, because fundwallet waits for the wallet to
notice the tx, which takes 60 seconds if not DEVELOPER. Do all the waiting
at once, and this speeds the test up to 153 seconds.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-05 09:47:50 +09:30
Rusty Russell
2f21435195
pytest: test that both sides refuse upgrade if not quiescent.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
ebcadc50c3
pytest: test onchaind handles unilateral and penalty txs on either side of upgrade.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
5526c6797b
channeld: set desired_type to upgrade option_static_remotekey
if not already.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
29f042daac
channeld: handle upgrade match.
...
We don't actually set desired_type yet, but this handles it.
Changelog-EXPERIMENTAL: Protocol: we can now upgrade old channels to `option_static_remotekey` from https://github.com/lightningnetwork/lightning-rfc/pull/868
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
fa0cd3cc76
onchaind: handle static_remotekey thresholds.
...
No longer a global "on" or "off", it depends on the commitment number.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
220b6129bf
wallet: save thresholds for option_static_remotekey.
...
Since we will soon be able to activate it on existing channels,
we need to mark the threshold.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
d305b8ada6
channeld: send upgradable types, add logging (EXPERIMENTAL_FEATURES)
...
For now the only upgrade possible is to enable option_static_remotekey.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
d2814a957f
channeld: send current features (EXPERIMENTAL_FEATURES)
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
7e33e4430d
channeld: send next_to_send if EXPERIMENTAL_FEATURES
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
45e6080764
channel: import upgrade spec.
...
See https://github.com/lightningnetwork/lightning-rfc/pull/868
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
325d33a902
common/features: helper to pretty-print feature bits.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
2ffd344299
channeld: tweak function to allow testing for pending *uncommitted* changes.
...
For quiescence, we can't have sent any updates at all.
But for upgrades on reconnection, we may have already added
uncommitted HTLCs for retransmission, but they don't count towards
"are we quiesced" since they're not sent yet.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
5473d66993
onchaind: limp along if we cheat.
...
We don't handle our own cheat txs: rather than crash, we should just
log broken and limp along.
This also makes our upcoming penalty test easier: we don't have to
spin up a new node.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
77ed0c280b
onchaind: don't hand redundant commit_num to handle_unknown_commitment.
...
It's a global.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
7d666e9bfd
onchaind: don't rely on knowing option_static_remotekey for unknown commitments.
...
Just always handle both cases.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
Rusty Russell
2fea448498
gen/impl_template: fix generation of singleton varsize elements.
...
And as Lisa requested, add testcases.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-04 16:13:08 +09:30
fiatjaf
28953256d0
stop requiring channel and direction on sendonion
since they're not used.
...
Changelog-Changed: `sendonion` no longer requires the gratuitous `direction` and `channel` fields in the `firsthop` parameter.
2021-06-04 10:48:10 +09:30
openoms
fab1ed6fca
hsm_encryption.c: fix source include order
2021-06-03 20:10:07 +02:00
openoms
b821de13eb
hsm_encryption.c: remove whitespace from line end
2021-06-03 20:10:07 +02:00
openoms
c2e22344f7
lightningd: remove duplicate temp term creation
2021-06-03 20:10:07 +02:00
openoms
b72c05fbda
hsm_encryption: read from STDIN if not in a TTY
...
Changelog-Added: hsmtool: allow piped passwords
2021-06-03 20:10:07 +02:00
Christian Decker
5e1fadf799
pay: Skip the presplitter mod if it'd exhaust our HTLC budget
...
Changelog-Fixed: pay: The presplitter mod will no longer exhaust the HTLC budget.
2021-06-03 16:59:53 +09:30
Christian Decker
803c048a1f
pay: Compute the number of HTLCs needed after presplit correctly
...
We were counting the attempts including the root payment, which
resulted in an off-by-one error with the `test_pay_low_max_htlcs`
test. Counting the children of the root payment after the presplitter
had a go is the correct way to do it, since at that time we only have
one level in the tree, no need to recurse and potentially count
ourselves.
2021-06-03 16:59:53 +09:30
Rusty Russell
d4def7e73a
plugin/pay: prevent presplitter from dividing if max already tiny.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-03 16:59:53 +09:30
Christian Decker
05a3be15a3
pay: Fix use-after-free issue with routehints in shortlived payments
...
This was triggered by having some part being started after the overall
command already gave up, cleaning up the `cmd` context from which the
routehints were allocated. The early exit of the command, as a result
from a terminal state does not guarantee that no later attempt will
try to find a route, especially if the attempt was started before we
knew that it is doomed.
2021-06-03 16:59:53 +09:30
Rusty Russell
e619bf00fb
pytest: show problem with pay when not enough HTLCs available.
...
As you can see, I did a lot of debugging before realizing that the
actual problem is in the pay plugin :(
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-03 16:59:53 +09:30
Rusty Russell
bf0320a53e
openingd/dualopend: remove send_msg functionality.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-03 16:16:34 +09:30
Rusty Russell
e2f225e4cd
lightningd: use connectd to send the final error message, not openingd/dualopend
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-03 16:16:34 +09:30
Rusty Russell
7cffea10ce
connectd: new command to make us send message and close.
...
Currently we abuse openingd and dualopend to do this, but connectd already
has the ability to talk to peers, so it's more efficient.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-03 16:16:34 +09:30
fiatjaf
e424180058
remove checking for unused "direction" property in sendpay.
2021-06-03 13:25:59 +09:30
niftynei
cead5e16c0
openingd: return more informative error message for v2 opens
...
Fixes #4562
Reported-By: William Casarin @jb55
New error message:
zircon:lightning (nifty/fix-4562)$ l1-cli fundchannel_start 03fce775508719e4064b7f19d4e884ddaf51db23bbfc560286ce872f9ed106fee0 10000 253perkw
{
"code": 312,
"message": "Peer negotiated `option_dual_fund`, must use `openchannel_init` not `fundchannel_start`."
}
2021-06-03 11:30:16 +09:30
niftynei
e95fc74884
tests: cleanup any unfinished/hanging channel opens
...
Otherwise it hangs on cleanup, as l2 is waiting for l1 to respond (and
it's not going to), so the memleak call hangs.
2021-06-03 11:30:05 +09:30
Antoine Poinsot
b5aaee6679
Revert "pytest: Skip hsm encryption test if we don't have a TTY"
...
This reverts commit 2b12cac31e
. There is
no need to skip the test in this case, and it seems to simply be an artifact
of CI-debugging hell :)
Changelog-None
2021-06-03 11:27:16 +09:30
niftynei
5d69964dde
reqs: Remove wallycore, no longer needed for CI tests
...
With the migration from a python plugin to the `funder` plugin, we
removed our dependency on wallycore python libs
2021-06-03 11:24:33 +09:30
niftynei
3c4c8d4fa0
libwally: update to release_0.8.3
...
Remove hacks to get around empty PSBT deserialization bug
2021-06-03 11:24:33 +09:30
Rusty Russell
03cfe0b468
EXPERIMENTAL: dev-quiesce to initiate (and test) quiescence.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-01 12:08:51 -05:00
Rusty Russell
e29c9c2fc0
EXPERIMENTAL: handle receiving quiescence request.
...
Changelog-EXPERIMENTAL: Protocol: we support the quiescence protocol from https://github.com/lightningnetwork/lightning-rfc/pull/869
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-01 12:08:51 -05:00
Rusty Russell
40e217872a
channeld: implement pending_updates()
...
Says if we have started an update which is still pending somewhere.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-01 12:08:51 -05:00
Rusty Russell
f7adbd5d58
EXPERIMENTAL: import spec for quiescence.
...
Imported from commit b96218b06b68cf349457b282f05d48ebd89c7273
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-01 12:08:51 -05:00
Rusty Russell
0b01a8c76f
doc: document ordering of listpays/listsendpays.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-01 11:14:38 -05:00
Rusty Russell
a794e87edd
pytest: test pay ordering.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2021-06-01 11:14:38 -05:00
Nalin Bhardwaj
23fada090c
plugins/pay: sort output payments in listpays
...
Changelog-Changed: `listpays` output is now ordered by the `created_at` timestamp.
2021-06-01 11:14:38 -05:00
Nalin Bhardwaj
a88a6e604c
wallet: sort listsendpays by ID
...
Changelog-Changed: JSON: `listsendpays` output is now ordered by `id`.
2021-06-01 11:14:38 -05:00
Vincenzo Palazzo
0ed7c0d083
Suggested code cleanup by TODO comment
...
This commit introduces the code cleanup suggested by the TODO comment in the code.
Basically, it moves the code from the if-else statement to a switch statement without the default case. I used the basic idea of the code used in PR #4507 .
Changelog-Changed: None.
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2021-05-31 11:52:07 +09:30
Christian Decker
90ced7ecde
libhsmd: Do not use the message as the peer ID...
2021-05-30 19:49:22 +09:30
Christian Decker
e27ce7d5b6
libhsmd: Add a simple tx signature test
2021-05-30 19:49:22 +09:30