diff --git a/src/state/active_state.rs b/src/state/active_state.rs index b43be44c74..5588452fe0 100644 --- a/src/state/active_state.rs +++ b/src/state/active_state.rs @@ -5,6 +5,7 @@ use super::rlp::encode as rlp_encode; use super::blake2::{ Blake2s, Digest }; use super::utils::types::*; +#[derive(Clone)] pub struct ActiveState { pub height: u64, pub randao: Sha256Digest, diff --git a/src/state/crystallized_state.rs b/src/state/crystallized_state.rs index 37f3b2c214..00e5c23044 100644 --- a/src/state/crystallized_state.rs +++ b/src/state/crystallized_state.rs @@ -6,6 +6,7 @@ use super::rlp::encode as rlp_encode; use super::ethereum_types::U256; use super::blake2::{ Blake2s, Digest }; +#[derive(Clone)] pub struct CrystallizedState { pub active_validators: Vec, pub queued_validators: Vec, diff --git a/src/state/partial_crosslink_record.rs b/src/state/partial_crosslink_record.rs index a0e782cb39..0dc2ef50f9 100644 --- a/src/state/partial_crosslink_record.rs +++ b/src/state/partial_crosslink_record.rs @@ -3,7 +3,7 @@ use super::utils::types::{ Sha256Digest, Bitfield }; use super::rlp::{ RlpStream, Encodable }; use super::bytes::{ BytesMut, BufMut, Buf }; -#[derive(Eq)] +#[derive(Eq, Clone)] pub struct PartialCrosslinkRecord { pub shard_id: u16, pub shard_block_hash: Sha256Digest, diff --git a/src/state/recent_proposer_record.rs b/src/state/recent_proposer_record.rs index 4db492fad0..8c2bf6848d 100644 --- a/src/state/recent_proposer_record.rs +++ b/src/state/recent_proposer_record.rs @@ -1,6 +1,7 @@ use super::rlp::{ RlpStream, Encodable }; use super::utils::types::*; +#[derive(Clone)] pub struct RecentPropserRecord { pub index: u32, // TODO: make u24 pub randao_commitment: Sha256Digest,