pub trait PrecompileSet {
// Required methods
fn execute(
&self,
handle: &mut impl PrecompileHandle,
) -> Option<Result<PrecompileOutput, PrecompileFailure>>;
fn is_precompile(&self, address: H160) -> bool;
}Expand description
A set of precompiles.
Checks if the provided address is in the precompile set. This should be as cheap as possible since it may be called often.
Required Methods§
Sourcefn execute(
&self,
handle: &mut impl PrecompileHandle,
) -> Option<Result<PrecompileOutput, PrecompileFailure>>
fn execute( &self, handle: &mut impl PrecompileHandle, ) -> Option<Result<PrecompileOutput, PrecompileFailure>>
Tries to execute a precompile in the precompile set. If the provided address is not a precompile, returns None.
Sourcefn is_precompile(&self, address: H160) -> bool
fn is_precompile(&self, address: H160) -> bool
Check if the given address is a precompile. Should only be called to
perform the check while not executing the precompile afterward, since
execute already performs a check internally.
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.