pub trait FeaturesModule<T, BigInt, BigUint>: ContractHookApi<BigInt, BigUint> + Sizedwhere
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§
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<()>
Object Safety§
This trait is not object safe.