From 5cd22b50e86a3b09cade509235120a6176de7097 Mon Sep 17 00:00:00 2001 From: Alexey Shekhirin Date: Wed, 17 Jul 2024 20:01:55 +0100 Subject: [PATCH] fix(prune): saturating subtract for genesis deposit contract block (#9584) --- crates/prune/types/src/mode.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/prune/types/src/mode.rs b/crates/prune/types/src/mode.rs index d35cb66695..037e6fa496 100644 --- a/crates/prune/types/src/mode.rs +++ b/crates/prune/types/src/mode.rs @@ -40,7 +40,9 @@ impl PruneMode { } Self::Before(n) if *n == tip + 1 && purpose.is_static_file() => Some((tip, *self)), Self::Before(n) if *n > tip => None, // Nothing to prune yet - Self::Before(n) if tip - n >= segment.min_blocks(purpose) => Some((n - 1, *self)), + Self::Before(n) if tip - n >= segment.min_blocks(purpose) => { + Some(((*n).saturating_sub(1), *self)) + } _ => return Err(PruneSegmentError::Configuration(segment)), }; Ok(result)