pub trait FeatureToggleTrait {
const STORAGE_KEY: &'static [u8];
Show 15 methods
// Provided methods
fn init_features<S: Storage, T: Serialize>(
storage: &mut S,
feature_statuses: Vec<FeatureStatus<T>>,
pausers: Vec<HumanAddr>,
) -> StdResult<()> { ... }
fn require_not_paused<S: Storage, T: Serialize>(
storage: &S,
features: Vec<T>,
) -> StdResult<()> { ... }
fn pause<S: Storage, T: Serialize>(
storage: &mut S,
features: Vec<T>,
) -> StdResult<()> { ... }
fn unpause<S: Storage, T: Serialize>(
storage: &mut S,
features: Vec<T>,
) -> StdResult<()> { ... }
fn is_pauser<S: ReadonlyStorage>(
storage: &S,
key: &HumanAddr,
) -> StdResult<bool> { ... }
fn set_pauser<S: Storage>(storage: &mut S, key: &HumanAddr) -> StdResult<()> { ... }
fn remove_pauser<S: Storage>(storage: &mut S, key: &HumanAddr) { ... }
fn get_feature_status<S: ReadonlyStorage, T: Serialize>(
storage: &S,
key: &T,
) -> StdResult<Option<Status>> { ... }
fn set_feature_status<S: Storage, T: Serialize>(
storage: &mut S,
key: &T,
item: Status,
) -> StdResult<()> { ... }
fn handle_pause<S: Storage, A: Api, Q: Querier, T: Serialize>(
deps: &mut Extern<S, A, Q>,
env: &Env,
features: Vec<T>,
) -> HandleResult { ... }
fn handle_unpause<S: Storage, A: Api, Q: Querier, T: Serialize>(
deps: &mut Extern<S, A, Q>,
env: &Env,
features: Vec<T>,
) -> HandleResult { ... }
fn handle_set_pauser<S: Storage, A: Api, Q: Querier>(
deps: &mut Extern<S, A, Q>,
_env: &Env,
address: HumanAddr,
) -> HandleResult { ... }
fn handle_remove_pauser<S: Storage, A: Api, Q: Querier>(
deps: &mut Extern<S, A, Q>,
_env: &Env,
address: HumanAddr,
) -> HandleResult { ... }
fn query_status<S: Storage, A: Api, Q: Querier, T: Serialize>(
deps: &Extern<S, A, Q>,
features: Vec<T>,
) -> QueryResult { ... }
fn query_is_pauser<S: Storage, A: Api, Q: Querier>(
deps: &Extern<S, A, Q>,
address: HumanAddr,
) -> QueryResult { ... }
}
Required Associated Constants§
const STORAGE_KEY: &'static [u8]
Provided Methods§
fn init_features<S: Storage, T: Serialize>( storage: &mut S, feature_statuses: Vec<FeatureStatus<T>>, pausers: Vec<HumanAddr>, ) -> StdResult<()>
fn require_not_paused<S: Storage, T: Serialize>( storage: &S, features: Vec<T>, ) -> StdResult<()>
fn pause<S: Storage, T: Serialize>( storage: &mut S, features: Vec<T>, ) -> StdResult<()>
fn unpause<S: Storage, T: Serialize>( storage: &mut S, features: Vec<T>, ) -> StdResult<()>
fn is_pauser<S: ReadonlyStorage>( storage: &S, key: &HumanAddr, ) -> StdResult<bool>
fn set_pauser<S: Storage>(storage: &mut S, key: &HumanAddr) -> StdResult<()>
fn remove_pauser<S: Storage>(storage: &mut S, key: &HumanAddr)
fn get_feature_status<S: ReadonlyStorage, T: Serialize>( storage: &S, key: &T, ) -> StdResult<Option<Status>>
fn set_feature_status<S: Storage, T: Serialize>( storage: &mut S, key: &T, item: Status, ) -> StdResult<()>
fn handle_pause<S: Storage, A: Api, Q: Querier, T: Serialize>( deps: &mut Extern<S, A, Q>, env: &Env, features: Vec<T>, ) -> HandleResult
fn handle_unpause<S: Storage, A: Api, Q: Querier, T: Serialize>( deps: &mut Extern<S, A, Q>, env: &Env, features: Vec<T>, ) -> HandleResult
fn handle_set_pauser<S: Storage, A: Api, Q: Querier>( deps: &mut Extern<S, A, Q>, _env: &Env, address: HumanAddr, ) -> HandleResult
fn handle_remove_pauser<S: Storage, A: Api, Q: Querier>( deps: &mut Extern<S, A, Q>, _env: &Env, address: HumanAddr, ) -> HandleResult
fn query_status<S: Storage, A: Api, Q: Querier, T: Serialize>( deps: &Extern<S, A, Q>, features: Vec<T>, ) -> QueryResult
fn query_is_pauser<S: Storage, A: Api, Q: Querier>( deps: &Extern<S, A, Q>, address: HumanAddr, ) -> QueryResult
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.