@@ -926,7 +926,7 @@ mod tests {
 | 
			
		||||
            &hash_queue,
 | 
			
		||||
            error_counters,
 | 
			
		||||
            rent_collector,
 | 
			
		||||
            &FeatureSet::default(),
 | 
			
		||||
            &FeatureSet::all_enabled(),
 | 
			
		||||
        )
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -1871,7 +1871,7 @@ mod tests {
 | 
			
		||||
            &hash_queue,
 | 
			
		||||
            &mut error_counters,
 | 
			
		||||
            &rent_collector,
 | 
			
		||||
            &FeatureSet::default(),
 | 
			
		||||
            &FeatureSet::all_enabled(),
 | 
			
		||||
        )
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -72,13 +72,6 @@ pub struct FeatureSet {
 | 
			
		||||
    pub active: HashSet<Pubkey>,
 | 
			
		||||
    pub inactive: HashSet<Pubkey>,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl FeatureSet {
 | 
			
		||||
    pub fn is_active(&self, feature_id: &Pubkey) -> bool {
 | 
			
		||||
        self.active.contains(feature_id)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl Default for FeatureSet {
 | 
			
		||||
    fn default() -> Self {
 | 
			
		||||
        // All features disabled
 | 
			
		||||
@@ -88,3 +81,15 @@ impl Default for FeatureSet {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
impl FeatureSet {
 | 
			
		||||
    pub fn is_active(&self, feature_id: &Pubkey) -> bool {
 | 
			
		||||
        self.active.contains(feature_id)
 | 
			
		||||
    }
 | 
			
		||||
    /// All features enabled, useful for testing
 | 
			
		||||
    pub fn all_enabled() -> Self {
 | 
			
		||||
        Self {
 | 
			
		||||
            active: FEATURE_NAMES.keys().cloned().collect(),
 | 
			
		||||
            inactive: HashSet::new(),
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -788,7 +788,7 @@ mod tests {
 | 
			
		||||
            ComputeBudget::default(),
 | 
			
		||||
            Rc::new(RefCell::new(Executors::default())),
 | 
			
		||||
            None,
 | 
			
		||||
            Arc::new(FeatureSet::default()),
 | 
			
		||||
            Arc::new(FeatureSet::all_enabled()),
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        // Check call depth increases and has a limit
 | 
			
		||||
@@ -1325,7 +1325,7 @@ mod tests {
 | 
			
		||||
            None,
 | 
			
		||||
            executors.clone(),
 | 
			
		||||
            None,
 | 
			
		||||
            Arc::new(FeatureSet::default()),
 | 
			
		||||
            Arc::new(FeatureSet::all_enabled()),
 | 
			
		||||
        );
 | 
			
		||||
        assert_eq!(result, Ok(()));
 | 
			
		||||
        assert_eq!(accounts[0].borrow().lamports, 100);
 | 
			
		||||
@@ -1348,7 +1348,7 @@ mod tests {
 | 
			
		||||
            None,
 | 
			
		||||
            executors.clone(),
 | 
			
		||||
            None,
 | 
			
		||||
            Arc::new(FeatureSet::default()),
 | 
			
		||||
            Arc::new(FeatureSet::all_enabled()),
 | 
			
		||||
        );
 | 
			
		||||
        assert_eq!(
 | 
			
		||||
            result,
 | 
			
		||||
@@ -1375,7 +1375,7 @@ mod tests {
 | 
			
		||||
            None,
 | 
			
		||||
            executors,
 | 
			
		||||
            None,
 | 
			
		||||
            Arc::new(FeatureSet::default()),
 | 
			
		||||
            Arc::new(FeatureSet::all_enabled()),
 | 
			
		||||
        );
 | 
			
		||||
        assert_eq!(
 | 
			
		||||
            result,
 | 
			
		||||
@@ -1485,7 +1485,7 @@ mod tests {
 | 
			
		||||
            None,
 | 
			
		||||
            executors.clone(),
 | 
			
		||||
            None,
 | 
			
		||||
            Arc::new(FeatureSet::default()),
 | 
			
		||||
            Arc::new(FeatureSet::all_enabled()),
 | 
			
		||||
        );
 | 
			
		||||
        assert_eq!(
 | 
			
		||||
            result,
 | 
			
		||||
@@ -1512,7 +1512,7 @@ mod tests {
 | 
			
		||||
            None,
 | 
			
		||||
            executors.clone(),
 | 
			
		||||
            None,
 | 
			
		||||
            Arc::new(FeatureSet::default()),
 | 
			
		||||
            Arc::new(FeatureSet::all_enabled()),
 | 
			
		||||
        );
 | 
			
		||||
        assert_eq!(result, Ok(()));
 | 
			
		||||
 | 
			
		||||
@@ -1536,7 +1536,7 @@ mod tests {
 | 
			
		||||
            None,
 | 
			
		||||
            executors,
 | 
			
		||||
            None,
 | 
			
		||||
            Arc::new(FeatureSet::default()),
 | 
			
		||||
            Arc::new(FeatureSet::all_enabled()),
 | 
			
		||||
        );
 | 
			
		||||
        assert_eq!(result, Ok(()));
 | 
			
		||||
        assert_eq!(accounts[0].borrow().lamports, 80);
 | 
			
		||||
@@ -1613,7 +1613,7 @@ mod tests {
 | 
			
		||||
            ComputeBudget::default(),
 | 
			
		||||
            Rc::new(RefCell::new(Executors::default())),
 | 
			
		||||
            None,
 | 
			
		||||
            Arc::new(FeatureSet::default()),
 | 
			
		||||
            Arc::new(FeatureSet::all_enabled()),
 | 
			
		||||
        );
 | 
			
		||||
        let metas = vec![
 | 
			
		||||
            AccountMeta::new(owned_key, false),
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user