pub trait Precompile {
    // Required method
    fn execute(
        handle: &mut impl PrecompileHandle
    ) -> Result<PrecompileOutput, PrecompileFailure>;
}
Expand description

One single precompile used by EVM engine.

Required Methods§

fn execute( handle: &mut impl PrecompileHandle ) -> Result<PrecompileOutput, PrecompileFailure>

Try to execute the precompile with given handle which provides all call data and allow to register costs and logs.

Object Safety§

This trait is not object safe.

Implementors§

§

impl<T> Precompile for T

impl Precompile for Blake2F

impl Precompile for Bls12377MapG2

impl Precompile for Bls12377MapG1

impl Precompile for Bls12377Pairing

impl Precompile for Bls12377G1Add

impl Precompile for Bls12377G1Mul

impl Precompile for Bls12377G2Mul

impl Precompile for Bls12377G2Add

impl Precompile for Bls12377G1MultiExp

impl Precompile for Bls12377G2MultiExp

impl Precompile for Bls12381Pairing

impl Precompile for Bls12381G2Add

impl Precompile for Bls12381G1Mul

impl Precompile for Bls12381MapG2

impl Precompile for Bls12381G2MultiExp

impl Precompile for Bls12381G2Mul

impl Precompile for Bls12381MapG1

impl Precompile for Bls12381G1MultiExp

impl Precompile for Bls12381G1Add

impl Precompile for Bn128Add

impl Precompile for Bn128Pairing

impl Precompile for Bn128Mul

impl Precompile for Bw6761G2Mul

impl Precompile for Bw6761G1Mul

impl Precompile for Bw6761G2Add

impl Precompile for Bw6761Pairing

impl Precompile for Bw6761G1Add

impl Precompile for Bw6761G2MultiExp

impl Precompile for Bw6761G1MultiExp

impl<T, DispatchValidator, DecodeLimit> Precompile for Dispatch<T, DispatchValidator, DecodeLimit>
where T: Config, T::RuntimeCall: Dispatchable<PostInfo = PostDispatchInfo> + GetDispatchInfo + Decode, <T::RuntimeCall as Dispatchable>::RuntimeOrigin: From<Option<T::AccountId>>, DispatchValidator: DispatchValidateT<T::AccountId, T::RuntimeCall>, DecodeLimit: Get<u32>,

impl Precompile for Modexp

impl<Runtime> Precompile for StorageCleanerPrecompile<Runtime>
where Runtime: Config,