Crate revm_precompile

Source
Expand description

§revm-precompile

Implementations of EVM precompiled contracts.

Re-exports§

pub use interface::*;

Modules§

blake2
Blake2 precompile. More details in run
bls12_381
BLS12-381 precompiles added in EIP-2537 For more details check modules for each precompile.
bls12_381_const
Constants specifying the precompile addresses for each precompile in EIP-2537
bls12_381_utils
Utility functions for the BLS12-381 precompiles
bn128
BN128 precompiles added in EIP-1962
hash
Hash precompiles, it contains SHA-256 and RIPEMD-160 hash precompiles More details in sha256_run and ripemd160_run
identity
Identity precompile returns
interface
Interface for the precompiles. It contains the precompile result type, the precompile output type, and the precompile error type.
kzg_point_evaluation
KZG point evaluation precompile added in EIP-4844 For more details check run function.
modexp
Modexp precompile added in EIP-198 and reprices in berlin hardfork with EIP-2565.
secp256k1
ecrecover precompile.
secp256r1
RIP-7212 secp256r1 Precompile
utilities
Utility function that precompiles use, padding and converting between types.

Structs§

PrecompileWithAddress
Precompile with address and function.
Precompiles
Precompiles contain map of precompile addresses to functions and HashSet of precompile addresses.

Enums§

PrecompileSpecId
Ethereum hardfork spec ids. Represents the specs where precompiles had a change.

Functions§

calc_linear_cost_u32
Calculate the linear cost of a precompile.
u64_to_address
Const function for making an address by concatenating the bytes from two given numbers.