pub struct FeatureRegistry {
pub protocol_version: ProtocolVersion,
pub features: Vec<FeatureActivation>,
}Expand description
Feature activation registry for a protocol version
Fields§
§protocol_version: ProtocolVersionProtocol version
features: Vec<FeatureActivation>Feature activations
Implementations§
Source§impl FeatureRegistry
impl FeatureRegistry
Sourcepub fn for_protocol(version: ProtocolVersion) -> Self
pub fn for_protocol(version: ProtocolVersion) -> Self
Get feature activations for a protocol version
Sourcepub fn is_feature_active(
&self,
feature_name: &str,
height: u64,
timestamp: u64,
) -> bool
pub fn is_feature_active( &self, feature_name: &str, height: u64, timestamp: u64, ) -> bool
Check if a feature is active at a given height and timestamp
Sourcepub fn get_feature(&self, feature_name: &str) -> Option<&FeatureActivation>
pub fn get_feature(&self, feature_name: &str) -> Option<&FeatureActivation>
Get feature activation information
Sourcepub fn list_features(&self) -> Vec<String>
pub fn list_features(&self) -> Vec<String>
List all features
Sourcepub fn create_context(&self, height: u64, timestamp: u64) -> FeatureContext
pub fn create_context(&self, height: u64, timestamp: u64) -> FeatureContext
Create a FeatureContext for a specific height and timestamp This consolidates all feature activation checks into a single context
Trait Implementations§
Source§impl Clone for FeatureRegistry
impl Clone for FeatureRegistry
Source§fn clone(&self) -> FeatureRegistry
fn clone(&self) -> FeatureRegistry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FeatureRegistry
impl Debug for FeatureRegistry
Source§impl<'de> Deserialize<'de> for FeatureRegistry
impl<'de> Deserialize<'de> for FeatureRegistry
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for FeatureRegistry
impl PartialEq for FeatureRegistry
Source§fn eq(&self, other: &FeatureRegistry) -> bool
fn eq(&self, other: &FeatureRegistry) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for FeatureRegistry
impl Serialize for FeatureRegistry
impl Eq for FeatureRegistry
impl StructuralPartialEq for FeatureRegistry
Auto Trait Implementations§
impl Freeze for FeatureRegistry
impl RefUnwindSafe for FeatureRegistry
impl Send for FeatureRegistry
impl Sync for FeatureRegistry
impl Unpin for FeatureRegistry
impl UnsafeUnpin for FeatureRegistry
impl UnwindSafe for FeatureRegistry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more