From bb9fa5c2f73bef7007c9f3abb2cea6243635c2d5 Mon Sep 17 00:00:00 2001 From: Eval EXEC Date: Tue, 15 Oct 2024 11:13:56 +0800 Subject: [PATCH] remove empty by_out_point entry Signed-off-by: Eval EXEC --- tx-pool/src/component/orphan.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tx-pool/src/component/orphan.rs b/tx-pool/src/component/orphan.rs index d73132bc81..ee92918bae 100644 --- a/tx-pool/src/component/orphan.rs +++ b/tx-pool/src/component/orphan.rs @@ -75,9 +75,13 @@ impl OrphanPool { self.entries.remove(id).map(|entry| { debug!("remove orphan tx {}", entry.tx.hash()); for out_point in entry.tx.input_pts_iter() { - self.by_out_point - .get_mut(&out_point) - .map(|set| set.remove(id)); + if let Some(ids_set) = self.by_out_point.get_mut(&out_point) { + ids_set.remove(id); + + if ids_set.is_empty() { + self.by_out_point.remove(&out_point); + } + } } entry })