From 8da632f8f2902a0095bc1fcd6e1a1008950c7002 Mon Sep 17 00:00:00 2001 From: Noah Citron Date: Sun, 12 Feb 2023 14:57:24 -0500 Subject: [PATCH] fix: filter invalid checkpoints from fallback (#196) * fix: filter invalid checkpoints from fallback * use iter find --- config/src/checkpoints.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/config/src/checkpoints.rs b/config/src/checkpoints.rs index 210838a..020641b 100644 --- a/config/src/checkpoints.rs +++ b/config/src/checkpoints.rs @@ -143,7 +143,15 @@ impl CheckpointFallback { if raw.data.slots.is_empty() { return Err(eyre::eyre!("no slots")); } - Ok(raw.data.slots[0].clone()) + + let slot = raw + .data + .slots + .iter() + .find(|s| s.block_root.is_some()) + .ok_or(eyre::eyre!("no valid slots"))?; + + Ok(slot.clone()) } None => Err(eyre::eyre!("failed to query service")), }