diff --git a/core/src/staked_nodes_updater_service.rs b/core/src/staked_nodes_updater_service.rs index f80f23f19..495bd0bf0 100644 --- a/core/src/staked_nodes_updater_service.rs +++ b/core/src/staked_nodes_updater_service.rs @@ -128,18 +128,13 @@ impl StakedNodesUpdaterService { ip_to_stake_map: &mut HashMap, staked_map_overrides: &HashMap, ) { - for (id_override, stake_override) in staked_map_overrides.iter() { - if let Some(ip_override) = - cluster_info - .all_peers() - .into_iter() - .find_map(|(node, _seen_time)| { - if node.id == *id_override { - return Some(node.tvu.ip()); - } - None - }) - { + let nodes: HashMap = cluster_info + .all_peers() + .into_iter() + .map(|(node, _)| (node.id, node.tvu.ip())) + .collect(); + for (id_override, stake_override) in staked_map_overrides { + if let Some(&ip_override) = nodes.get(id_override) { if let Some(previous_stake) = id_to_stake_map.get(id_override) { *total_stake -= previous_stake; } @@ -148,9 +143,10 @@ impl StakedNodesUpdaterService { ip_to_stake_map.insert(ip_override, *stake_override); } else { error!( - "staked nodes overrides configuration for id {} with stake {} does not match existing IP. Skipping", - id_override, stake_override - ); + "staked nodes overrides configuration for id \ + {id_override} with stake {stake_override} does not \ + match existing IP. Skipping", + ); } } }