use super::Hash256;
use super::{
    AttestationRecord,
    SpecialRecord,
};

pub struct ActiveState {
    pub pending_attestations: Vec<AttestationRecord>,
    pub pending_specials: Vec<SpecialRecord>,
    pub recent_block_hashes: Vec<Hash256>,
    pub randao_mix: Hash256,
}

use super::Hash256;
use super::attestation_record::AttestationRecord;

pub struct ActiveState {
    pub pending_attestations: Vec<AttestationRecord>,
    pub recent_block_hashes: Vec<Hash256>,
}

impl ActiveState {
    /// Returns a new instance where all fields are empty vectors.
    pub fn zero() -> Self {
        Self {
            pending_attestations: vec![],
            recent_block_hashes: vec![],
        }
    }
}


#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_act_state_zero() {
        let a = ActiveState::zero();
        assert_eq!(a.pending_attestations.len(), 0);
        assert_eq!(a.recent_block_hashes.len(), 0);
    }
}

--- 
+++ 
@@ -1,30 +1,12 @@
 use super::Hash256;
-use super::attestation_record::AttestationRecord;
+use super::{
+    AttestationRecord,
+    SpecialRecord,
+};
 
 pub struct ActiveState {
     pub pending_attestations: Vec<AttestationRecord>,
+    pub pending_specials: Vec<SpecialRecord>,
     pub recent_block_hashes: Vec<Hash256>,
+    pub randao_mix: Hash256,
 }
-
-impl ActiveState {
-    /// Returns a new instance where all fields are empty vectors.
-    pub fn zero() -> Self {
-        Self {
-            pending_attestations: vec![],
-            recent_block_hashes: vec![],
-        }
-    }
-}
-
-
-#[cfg(test)]
-mod tests {
-    use super::*;
-
-    #[test]
-    fn test_act_state_zero() {
-        let a = ActiveState::zero();
-        assert_eq!(a.pending_attestations.len(), 0);
-        assert_eq!(a.recent_block_hashes.len(), 0);
-    }
-}
Update `ActiveState` as per new spec
