From 50ec5f17a1d05b279c2b75125ccd2a498bfd8d39 Mon Sep 17 00:00:00 2001 From: Tan Chee Keong Date: Sun, 16 Mar 2025 21:27:07 +0800 Subject: [PATCH] add distributed lookahead --- .../validator_services/src/duties_service.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/validator_client/validator_services/src/duties_service.rs b/validator_client/validator_services/src/duties_service.rs index e99e2c9cb2..a6acded3ff 100644 --- a/validator_client/validator_services/src/duties_service.rs +++ b/validator_client/validator_services/src/duties_service.rs @@ -1137,8 +1137,17 @@ async fn fill_in_selection_proofs( let lookahead_slot = current_slot + selection_lookahead; - let mut relevant_duties = duties_by_slot.split_off(&lookahead_slot); - std::mem::swap(&mut relevant_duties, &mut duties_by_slot); + let relevant_duties = if duties_service.distributed { + if let Some(duties) = duties_by_slot.remove(&lookahead_slot) { + BTreeMap::from([(lookahead_slot, duties)]) + } else { + BTreeMap::new() + } + } else { + let mut duties = duties_by_slot.split_off(&lookahead_slot); + std::mem::swap(&mut duties, &mut duties_by_slot); + duties + }; let batch_size = relevant_duties.values().map(Vec::len).sum::();