pub trait FeaturesModule<T, BigInt, BigUint>: ContractHookApi<BigInt, BigUint> + Sized
where for<'b> BigUint: BigUintApi + 'static + AddAssign<&'b BigUint> + SubAssign<&'b BigUint> + MulAssign<&'b BigUint> + DivAssign<&'b BigUint> + RemAssign<&'b BigUint> + BitAndAssign<&'b BigUint> + BitOrAssign<&'b BigUint> + BitXorAssign<&'b BigUint>, for<'a, 'b> &'a BigUint: Add<&'b BigUint, Output = BigUint> + Sub<&'b BigUint, Output = BigUint> + Mul<&'b BigUint, Output = BigUint> + Div<&'b BigUint, Output = BigUint> + Rem<&'b BigUint, Output = BigUint> + BitAnd<&'b BigUint, Output = BigUint> + BitOr<&'b BigUint, Output = BigUint> + BitXor<&'b BigUint, Output = BigUint> + Shr<usize, Output = BigUint> + Shl<usize, Output = BigUint>, for<'b> BigInt: BigIntApi<BigUint> + 'static + AddAssign<&'b BigInt> + SubAssign<&'b BigInt> + MulAssign<&'b BigInt> + DivAssign<&'b BigInt> + RemAssign<&'b BigInt>, for<'a, 'b> &'a BigInt: Add<&'b BigInt, Output = BigInt> + Sub<&'b BigInt, Output = BigInt> + Mul<&'b BigInt, Output = BigInt> + Div<&'b BigInt, Output = BigInt> + Rem<&'b BigInt, Output = BigInt>, T: ContractHookApi<BigInt, BigUint> + ContractIOApi<BigInt, BigUint> + Clone + 'static,
{ // Required methods fn get_feature_flag(&self, feature_name: FeatureName<'_>) -> u8; fn set_feature_flag(&self, feature_name: FeatureName<'_>, value: u8); fn contract_proxy( &self, address: &Address ) -> Box<OtherContractHandle<T, BigInt, BigUint>>; fn callback(&self); // Provided methods fn check_feature_on( &self, feature_name: &'static [u8], default: bool ) -> SCResult<()> { ... } fn set_feature_flag_endpoint( &self, feature_name: Vec<u8>, value: bool ) -> SCResult<()> { ... } }

Required Methods§

source

fn get_feature_flag(&self, feature_name: FeatureName<'_>) -> u8

source

fn set_feature_flag(&self, feature_name: FeatureName<'_>, value: u8)

source

fn contract_proxy( &self, address: &Address ) -> Box<OtherContractHandle<T, BigInt, BigUint>>

source

fn callback(&self)

Provided Methods§

source

fn check_feature_on( &self, feature_name: &'static [u8], default: bool ) -> SCResult<()>

source

fn set_feature_flag_endpoint( &self, feature_name: Vec<u8>, value: bool ) -> SCResult<()>

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<T, BigInt, BigUint> FeaturesModule<T, BigInt, BigUint> for FeaturesModuleImpl<T, BigInt, BigUint>
where for<'b> BigUint: BigUintApi + 'static + AddAssign<&'b BigUint> + SubAssign<&'b BigUint> + MulAssign<&'b BigUint> + DivAssign<&'b BigUint> + RemAssign<&'b BigUint> + BitAndAssign<&'b BigUint> + BitOrAssign<&'b BigUint> + BitXorAssign<&'b BigUint>, for<'a, 'b> &'a BigUint: Add<&'b BigUint, Output = BigUint> + Sub<&'b BigUint, Output = BigUint> + Mul<&'b BigUint, Output = BigUint> + Div<&'b BigUint, Output = BigUint> + Rem<&'b BigUint, Output = BigUint> + BitAnd<&'b BigUint, Output = BigUint> + BitOr<&'b BigUint, Output = BigUint> + BitXor<&'b BigUint, Output = BigUint> + Shr<usize, Output = BigUint> + Shl<usize, Output = BigUint>, for<'b> BigInt: BigIntApi<BigUint> + 'static + AddAssign<&'b BigInt> + SubAssign<&'b BigInt> + MulAssign<&'b BigInt> + DivAssign<&'b BigInt> + RemAssign<&'b BigInt>, for<'a, 'b> &'a BigInt: Add<&'b BigInt, Output = BigInt> + Sub<&'b BigInt, Output = BigInt> + Mul<&'b BigInt, Output = BigInt> + Div<&'b BigInt, Output = BigInt> + Rem<&'b BigInt, Output = BigInt>, T: ContractHookApi<BigInt, BigUint> + ContractIOApi<BigInt, BigUint> + Clone + 'static,