Commit Graph

17624 Commits

Author SHA1 Message Date
Olaoluwa Osuntokun
7ef2683586 contractcourt: update encode/decode for taproot aux data
When we read/write the aux data, we need to make sure we always set the
new fields for aux HTLCs.
2024-11-14 16:09:58 -08:00
Olaoluwa Osuntokun
9b8adf5f5c contractcourt: add HtlcBlobs to taprootBriefcase
In this commit, we add the set of HtlcBlobs to the taprootBriefcase
struct. This new field will store all the resolution blobs for a given
HTLC. We also add some new property based tests along the way for
adequate test coverage.
2024-11-14 16:09:58 -08:00
Olaoluwa Osuntokun
1e7c5415ae input: add new Preimage method to input.Input
In this commit, we add a new method to obtain an option of a preimage to
the input.Input struct. This is useful for callers that have an Input,
and want to optionally obtain the preimage.
2024-11-14 16:09:58 -08:00
Olaoluwa Osuntokun
af60fa0c3a lnwallet: populate resolution blob for incoming+outgoing HTLC resolutions
In this commit, we populate the resolution blobs for the incoming and
outgoing HTLCs. We take care to populate the AuxSigDesc with the correct
information, as we need to pass along the second-level aux signature and
also sign desc along with it.
2024-11-14 16:09:57 -08:00
Olaoluwa Osuntokun
08d0aa2368 channel: add ResolutionBlob to Incoming+Outgoing HtlcResolution
Similar to the other blobs we have for the commitment output force close
resolution, these blobs will be used to ensure that we have everything
needed to sweep aux HTLCs.
2024-11-14 16:09:57 -08:00
Olaoluwa Osuntokun
98b41c6576 channel: always specify ChanType in ResolutionReq 2024-11-14 16:09:57 -08:00
Olaoluwa Osuntokun
bf350c6ede lnwallet: expand attributes in ResolutionReq
In this commit, we add some additional attributes to the ResolutionReq
struct. These will be used to make sure that we can properly handle all
the HTLC variants, on chain.

The `AuxSigDesc` will be used to communicate if an HTLC needs to go to
the second level or not. It contains the second-level sig information
needed to finalize a broadcast to the second level.
2024-11-14 16:09:57 -08:00
Yong
0876173c45 Merge pull request #9261 from yyforyongyu/fix-rpcclient-shutdown
multi: fix rpcclient shutdown
2024-11-14 03:18:07 +08:00
Oliver Gugger
60caa04a4d Merge pull request #9263 from morehouse/simplify_fuzz_lnwire
lnwire: simplify fuzz targets
2024-11-13 18:32:15 +01:00
yyforyongyu
1c6d89446d docs: update release notes 2024-11-14 01:22:32 +08:00
yyforyongyu
fc5f8e32f5 chanfitness: exit early when there are no updates 2024-11-14 01:22:32 +08:00
yyforyongyu
523ecc0653 multi: wait for rpcclients shutdown to complete
We need to call `WaitForShutdown` after stopping the rpc clients of the
chain backends.
2024-11-14 01:22:31 +08:00
Matt Morehouse
75bdf2d252 lnwire: use assertEqualFunc in onion failure harness
Simplifies the code slightly and improves the error message printed if
the original and deserialized messages do not match.
2024-11-13 10:25:16 -06:00
Matt Morehouse
d0e6a7a37b lnwire: adapt harness for custom equality funcs
There are several fuzz targets that can't use the standard require.Equal
check for various reasons. By adapting the harness to accept a custom
equality function, we can reduce code duplication in these targets.
2024-11-13 10:25:16 -06:00
Matt Morehouse
b9381acb2d lnwire: move message prefixing to the harness
The prefixing is done every time the harness is used, so it may as well
reside in the harness itself.
2024-11-13 10:25:16 -06:00
Matt Morehouse
b7a1a1e9b8 lnwire: s/harness/wireMsgHarness
This slightly more descriptive name distinguishes the wire message
harness from the onion failure harness while also obviating the
repetitive comments at every call site.
2024-11-13 10:25:16 -06:00
Matt Morehouse
4097527efc lnwire: remove superfluous "Prefix with..." comments
These comments add nothing of value since the following line is always
self-documenting:

  data = prefixWithMsgType(data, MsgTypeToBePrefixed)
2024-11-13 10:25:12 -06:00
Oliver Gugger
8918b62943 Merge pull request #9266 from famouswizard/patch-1
Typo Update ruby.md
2024-11-13 16:46:03 +01:00
Oliver Gugger
304c8df7b9 Merge pull request #9251 from morehouse/fuzz_lnwire
lnwire: add new fuzz targets
2024-11-13 14:23:16 +01:00
Oliver Gugger
4d184dffd0 Merge pull request #9259 from yyforyongyu/prepare-itest-for-blockbeat
trivial: prepare itest for `blockbeat`
2024-11-13 12:57:42 +01:00
wizard
e0f27a68ea Typo Update ruby.md
Fix typo: "handhsake" to "handshake"
2024-11-13 13:59:58 +03:00
yyforyongyu
653a8ac55e lntest+itest: add new method AssertChannelInGraph
This commit replaces `AssertTopologyChannelOpen` with
`AssertChannelInGraph`, which asserts a given channel edge is found.
`AssertTopologyChannelOpen` only asserts a given edge has been received
via the topology subscription, while we need to make sure the channel is
in the graph before continuing our tests.
2024-11-12 23:55:40 +08:00
yyforyongyu
7dda2960a5 lntest: update the block height of HarnessTest during start 2024-11-12 23:55:40 +08:00
yyforyongyu
2905e7b3df lntest+itest: kill node and wait its process
Fix a flake found in `testRPCMiddlewareInterceptor` when running in
macOS.
2024-11-12 23:55:40 +08:00
yyforyongyu
90bca1022b lntest: retry finding the payment from ListPayments 2024-11-12 23:55:40 +08:00
yyforyongyu
4506fd30cb lntest: change the nodeCounter to be atomic 2024-11-12 23:55:13 +08:00
yyforyongyu
cc6ff150b9 lntest: remove deprecated config --profile 2024-11-12 14:46:31 +08:00
yyforyongyu
6ac588e655 lntest: remove an invalid check
`openChannelsForNodes` is called inside `openZeroConfChannelsForNodes`
so this value can be true.
2024-11-12 14:46:30 +08:00
Yong
4f6b510869 Merge pull request #9248 from yyforyongyu/fix-itest
lntest: fix edge assertion and reset min relay fee
2024-11-11 22:16:03 +08:00
yyforyongyu
7dd9a17625 lntest+itest: fix testUpdateChanStatus 2024-11-11 20:57:50 +08:00
yyforyongyu
d27ff34b04 lntest+itest: rename AssertNumEdges to AssertNumActiveEdges
To properly reflect what the assertion is.
2024-11-11 20:57:49 +08:00
yyforyongyu
35992e1503 lntest+itest: expore method createSimpleNetwork
So it can be used via `ht.CreateSimpleNetwork`.
2024-11-11 20:57:49 +08:00
yyforyongyu
9682aa7a78 itest: fix testZeroConfChannelOpen and testOptionScidAlias
Use a new node instead of standby node to avoid closing the channels in
the end.
2024-11-11 20:54:10 +08:00
yyforyongyu
a745d74e7c lntest: make sure standby nodes' edges are cleaned 2024-11-11 20:54:10 +08:00
yyforyongyu
e7d0754615 lntest: make sure minRelayFeerate is reset
So every test starts with the default minRelayFeerate.
2024-11-11 20:54:10 +08:00
Matt Morehouse
4f7267ecea lnwire: add fuzz target for Fee TLV
The new Fee TLV is not included in any other messages within the lnwire
package, so it currently has no fuzzing coverage.  This fuzz target
directly tests the encoding/decoding of the TLV to get some coverage.
2024-11-08 15:03:30 -06:00
Matt Morehouse
f1b7d52308 lnwire: add fuzz target for Schnorr sig conversion
Analogous to FuzzConvertFixedSignature but for Schnorr signatures.
2024-11-08 15:01:48 -06:00
Matt Morehouse
b82ae51a0b lnwire: add fuzz target for route blinding message
Add a simple decode/encode target for the FailInvalidBlinding message.
2024-11-08 15:00:06 -06:00
Matt Morehouse
2784da13f8 lnwire: add fuzz targets for gossip 1.75 messages
Add simple decode/encode targets for AnnouncementSignatures2,
ChannelAnnouncement2, and ChannelUpdate2.
2024-11-08 14:57:13 -06:00
Oliver Gugger
5a8026aba9 Merge pull request #9249 from yyforyongyu/fix-shutdown
routing: fix missionControlStore blocks on shutting down
2024-11-08 11:09:45 +01:00
Elle
4430687076 Merge pull request #9240 from carlaKC/9166-mergeonly
htlcswitch: merge htlc custom records on modify
2024-11-08 08:38:00 +02:00
Olaoluwa Osuntokun
faa4f24806 Merge pull request #9182 from ziggie1984/fix-feebuffer
Deprecate dust-threshold config value
2024-11-07 19:41:38 -08:00
Olaoluwa Osuntokun
3a14382720 Merge pull request #9068 from ziggie1984/cancel-back-dust-htlc
Cancel back outgoing dust htlcs before commitment is confirmed.
2024-11-07 19:40:33 -08:00
ziggie
59f32682a5 contractcourt: introduce option for commitKey. 2024-11-07 22:40:53 +01:00
ziggie
d5e8df7067 docs: add release-notes for LND 19 2024-11-07 22:40:53 +01:00
ziggie
50d6864137 itest: adopt itests for the new behavior
Now outgoing dust-htlcs are canceled back before the commitment
is confirmed onchain.
2024-11-07 22:40:53 +01:00
ziggie
7aa9ade4c2 contratcourt: dont consider dust htlc for anchor sweep
Now that we cancel dust htlcs prematurely even before the
commitment tx is confirmed we don't consider dust htlcs when
creating the cpfp transaction.
2024-11-07 22:40:52 +01:00
ziggie
8ed8665d50 contractcourt: Cancel dust htlcs prematurely
We will now cancel dust htlcs on the local/remote commits after
we decided to go onchain. This can be done because dust cannot
be enforced onchain and therefore there is no way to also reveil
the preimage onchain.
2024-11-07 22:40:52 +01:00
Carla Kirk-Cohen
151068c5e9 release-notes: note that modify custom records are merged 2024-11-07 13:48:04 -05:00
Carla Kirk-Cohen
7896bef2a0 htlcswitch: merge copy htlc custom records 2024-11-07 13:46:54 -05:00