Merge remote-tracking branch 'origin/unstable' into tree-states

This commit is contained in:
Michael Sproul
2022-03-01 16:03:41 +11:00
209 changed files with 6107 additions and 1362 deletions

View File

@@ -2,7 +2,7 @@
name = "operation_pool"
version = "0.2.0"
authors = ["Michael Sproul <michael@sigmaprime.io>"]
edition = "2018"
edition = "2021"
[dependencies]
derivative = "2.1.1"

View File

@@ -560,9 +560,8 @@ impl<T: EthSpec> OperationPool<T> {
pub fn get_all_attestations(&self) -> Vec<Attestation<T>> {
self.attestations
.read()
.iter()
.map(|(_, attns)| attns.iter().cloned())
.flatten()
.values()
.flat_map(|attns| attns.iter().cloned())
.collect()
}
@@ -575,10 +574,10 @@ impl<T: EthSpec> OperationPool<T> {
{
self.attestations
.read()
.iter()
.map(|(_, attns)| attns.iter().cloned())
.flatten()
.filter(filter)
.values()
.flat_map(|attns| attns.iter())
.filter(|attn| filter(*attn))
.cloned()
.collect()
}

View File

@@ -97,20 +97,19 @@ impl<T: EthSpec> PersistedOperationPool<T> {
/// Reconstruct an `OperationPool`. Sets `sync_contributions` to its `Default` if `self` matches
/// `PersistedOperationPool::Base`.
pub fn into_operation_pool(self) -> Result<OperationPool<T>, OpPoolError> {
let attestations = RwLock::new(self.attestations().to_vec().into_iter().collect());
let attester_slashings =
RwLock::new(self.attester_slashings().to_vec().into_iter().collect());
let attestations = RwLock::new(self.attestations().iter().cloned().collect());
let attester_slashings = RwLock::new(self.attester_slashings().iter().cloned().collect());
let proposer_slashings = RwLock::new(
self.proposer_slashings()
.to_vec()
.into_iter()
.iter()
.cloned()
.map(|slashing| (slashing.signed_header_1.message.proposer_index, slashing))
.collect(),
);
let voluntary_exits = RwLock::new(
self.voluntary_exits()
.to_vec()
.into_iter()
.iter()
.cloned()
.map(|exit| (exit.message.validator_index, exit))
.collect(),
);
@@ -125,7 +124,7 @@ impl<T: EthSpec> PersistedOperationPool<T> {
},
PersistedOperationPool::Altair(_) => {
let sync_contributions =
RwLock::new(self.sync_contributions()?.to_vec().into_iter().collect());
RwLock::new(self.sync_contributions()?.iter().cloned().collect());
OperationPool {
attestations,