-
Notifications
You must be signed in to change notification settings - Fork 2.2k
release: create v0.19.2-rc1 branch #9986
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
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.
Added #10012. |
Export NotifierOptions and its internal field to enable external satisfaction of the protofsm.DaemonAdapters interface.
Added #10028. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some nits in the release notes otherwise gtg
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 🎉
For reference, attempted an automated verification (as much as it is feasible) using the script in this PR: #10034 (co-authored with AI)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Added #10035. |
we need #10041 as well. |
We can add it for RC2. |
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. |
Re-created the PR on upstream branch so we can validate in other projects (replaces #9976).
Includes the following PRs:
BigSizeT
forHtlcIndex
in retribution log #9889RegisterSpendNtfn
#9921batchReplayBucket
#9929lnd.conf
#9973