atlas_feature_gate_interface/lib.rs
1//! Runtime features.
2//!
3//! Runtime features provide a mechanism for features to be simultaneously activated across the
4//! network. Since validators may choose when to upgrade, features must remain dormant until a
5//! sufficient majority of the network is running a version that would support a given feature.
6//!
7//! Feature activation is accomplished by:
8//! 1. Activation is requested by the feature authority, who issues a transaction to create the
9//! feature account. The newly created feature account will have the value of
10//! `Feature::default()`
11//! 2. When the next epoch is entered the runtime will check for new activation requests and
12//! active them. When this occurs, the activation slot is recorded in the feature account
13
14pub mod error;
15pub mod instruction;
16pub mod state;
17
18#[cfg(feature = "bincode")]
19pub use crate::{
20 instruction::{activate, activate_with_lamports},
21 state::{create_account, from_account, to_account},
22};
23pub use {
24 crate::state::Feature,
25 atlas_sdk_ids::feature::{check_id, id, ID},
26};