tx-pool: simplify FinalizedBlockTracker update logic (#11664)

This commit is contained in:
Thomas Coratger
2024-10-11 20:11:58 +02:00
committed by GitHub
parent bca11aa2dd
commit 160e4b2ce7

View File

@ -454,22 +454,13 @@ impl FinalizedBlockTracker {
/// Updates the tracked finalized block and returns the new finalized block if it changed
fn update(&mut self, finalized_block: Option<BlockNumber>) -> Option<BlockNumber> {
match (self.last_finalized_block, finalized_block) {
(Some(last), Some(finalized)) => {
self.last_finalized_block = Some(finalized);
if last < finalized {
let finalized = finalized_block?;
if self.last_finalized_block.replace(finalized).map_or(true, |last| last < finalized) {
Some(finalized)
} else {
None
}
}
(None, Some(finalized)) => {
self.last_finalized_block = Some(finalized);
Some(finalized)
}
_ => None,
}
}
}
/// Keeps track of the pool's state, whether the accounts in the pool are in sync with the actual