release: create v0.19.2-rc1 branch#9986
Merged
guggero merged 96 commits into0-19-2-branchfrom Jul 4, 2025
Merged
Conversation
This lead to the case that we would always record a HTLC two times in the decayed log protection which is not necessary in the first place.
In this commit we add htlcindex field to the forwardingevent struct, which is persisted alongside the other event fields.
In this commit we update the returned message for fwdinghistory to include the htlcindex for all forwarded htlcs.
Make sure we patch the `StartHeight` for btcd notifier.
Previously when deciding whether a UTXO is spent or not, we accept a height hint as the starting block to look for the spending tx in the rescan process. When it's already found spent before the rescan starts, we will update the height hint to be the spent height, only if the latter is greater. This means if the user-specified hint is greater than the actual spending height, this UTXO will never be found as spent. We now fix it by always using the spent height as the hint.
There's no guarantee that the `b.beat` is initialized when the dispatcher shuts down, especially with the case in the remote signer where no chainbackend is created.
In this commit, we add a new ConfMapper which is useful for state machines that want to project some of the conf attributes into a new event to be sent post conf.
This commit introduces a new generic type assertion function `assertState` to the state machine tests. This function asserts that the state machine is currently in the expected state type and returns the state cast to that type. This allows us to directly access the fields of the state without having to perform a type assertion manually.
In this commit, we add an option to allow a conf req caller to receive the full block. This is useful if the caller wants to be able to create an SPV proof.
We now rely on the forwarding package's state to decide whether a given packet is a reforwarding or not. If we know it's a reforwarding packet, there's no need to check for replays in the `sharedHashes` bucket, which behaves the same as if we are querying the `batchReplayBkt`.
This commit removes the `batchReplayBkt` as its only effect is to allow reforwarding htlcs during startup. Normally for every incoming htlc added, their shared secret is used as the key to be saved into the `sharedHashBucket`, which will be used for check for replays. In addition, the fwdPkg's ID, which is SCID+height is also saved to the bucket `batchReplayBkt`. Since replays of HTLCs cannot happen at the same commitment height, when a replay happens, `batchReplayBkt` simply doesn't have this info, and we again rely on `sharedHashBucket` to detect it. This means most of the time the `batchReplayBkt` is a list of SCID+height with empty values. The `batchReplayBkt` was previously used as a mechanism to check for reforwardings during startup - when reforwarding htlcs, it quries this bucket and finds an empty map, knowing this is a forwarding and skips the check in `sharedHashBucket`. Given now we use a bool flag to explicitly skip the replay check, this bucket is no longer useful.
We now move the check earlier in the loop so we don't even need to decode the hop for already processed ADDs.
Collaborator
Author
|
Added #9980. |
We cannot rely on a response currently so we avoid spawning goroutines. This is just a temporary fix to avoid the goroutine leak.
Collaborator
Author
|
Added #10012. |
Export NotifierOptions and its internal field to enable external satisfaction of the protofsm.DaemonAdapters interface.
Collaborator
Author
|
Added #10028. |
ziggie1984
approved these changes
Jul 4, 2025
Collaborator
ziggie1984
left a comment
There was a problem hiding this comment.
Some nits in the release notes otherwise gtg
yyforyongyu
approved these changes
Jul 4, 2025
Member
yyforyongyu
left a comment
There was a problem hiding this comment.
Thanks a lot for taking care of this tedious work❤️
We now unlock the mutex lock of the switch as soon as possible to avoid potetnial deadlock in the htlc switch.
Collaborator
Author
|
Added #10035. |
Collaborator
|
we need #10041 as well. |
Collaborator
Author
We can add it for RC2. |
Collaborator
Yes we can do that as well, with the current fix we can gc fwd packages which build up by nodes running RC1 so we should be fine. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Re-created the PR on upstream branch so we can validate in other projects (replaces #9976).
Includes the following PRs:
BigSizeTforHtlcIndexin retribution log #9889RegisterSpendNtfn#9921batchReplayBucket#9929lnd.conf#9973