pub trait FeatureToggleTrait {
    const STORAGE_KEY: &'static [u8];
Show 15 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 { ... }
 }