mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-03 00:31:50 +00:00
[refactor] Refactor Option/Result combinators (#3180)
Code simplifications using `Option`/`Result` combinators to make pattern-matches a tad simpler. Opinions on these loosely held, happy to adjust in review. Tool-aided by [comby-rust](https://github.com/huitseeker/comby-rust).
This commit is contained in:
@@ -149,10 +149,8 @@ impl Config {
|
||||
pub fn get_existing_legacy_data_dir(&self) -> Option<PathBuf> {
|
||||
dirs::home_dir()
|
||||
.map(|home_dir| home_dir.join(&self.data_dir))
|
||||
// Return `None` if the directory does not exists.
|
||||
.filter(|dir| dir.exists())
|
||||
// Return `None` if the legacy directory is identical to the modern.
|
||||
.filter(|dir| *dir != self.get_modern_data_dir())
|
||||
// Return `None` if the legacy directory does not exist or if it is identical to the modern.
|
||||
.filter(|dir| dir.exists() && *dir != self.get_modern_data_dir())
|
||||
}
|
||||
|
||||
/// Returns the core path for the client.
|
||||
|
||||
@@ -121,8 +121,7 @@ impl ApiTester {
|
||||
harness.chain.slot().unwrap(),
|
||||
)
|
||||
.into_iter()
|
||||
.map(|vec| vec.into_iter().map(|(attestation, _subnet_id)| attestation))
|
||||
.flatten()
|
||||
.flat_map(|vec| vec.into_iter().map(|(attestation, _subnet_id)| attestation))
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
assert!(
|
||||
@@ -244,8 +243,7 @@ impl ApiTester {
|
||||
harness.chain.slot().unwrap(),
|
||||
)
|
||||
.into_iter()
|
||||
.map(|vec| vec.into_iter().map(|(attestation, _subnet_id)| attestation))
|
||||
.flatten()
|
||||
.flat_map(|vec| vec.into_iter().map(|(attestation, _subnet_id)| attestation))
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
let attester_slashing = harness.make_attester_slashing(vec![0, 1]);
|
||||
@@ -2390,8 +2388,7 @@ impl ApiTester {
|
||||
.unwrap();
|
||||
let attesting_validators: Vec<usize> = committees
|
||||
.into_iter()
|
||||
.map(|committee| committee.committee.iter().cloned())
|
||||
.flatten()
|
||||
.flat_map(|committee| committee.committee.iter().cloned())
|
||||
.collect();
|
||||
// All attesters should now be considered live
|
||||
let expected = expected
|
||||
|
||||
@@ -210,10 +210,8 @@ pub fn load_enr_from_disk(dir: &Path) -> Result<Enr, String> {
|
||||
let mut enr_string = String::new();
|
||||
match enr_file.read_to_string(&mut enr_string) {
|
||||
Err(_) => Err("Could not read ENR from file".to_string()),
|
||||
Ok(_) => match Enr::from_str(&enr_string) {
|
||||
Ok(disk_enr) => Ok(disk_enr),
|
||||
Err(e) => Err(format!("ENR from file could not be decoded: {:?}", e)),
|
||||
},
|
||||
Ok(_) => Enr::from_str(&enr_string)
|
||||
.map_err(|e| format!("ENR from file could not be decoded: {:?}", e)),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user