Crate precompile

Crate precompile 

Expand description

§revm-precompile

Implementations of EVM precompiled contracts.

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
bn254
BN254 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§

DefaultCrypto
Default implementation of the Crypto trait using the existing crypto libraries.
Precompile
Precompile.
PrecompileOutput
Precompile execution output
Precompiles
Precompiles contain map of precompile addresses to functions and HashSet of precompile addresses.

Enums§

PrecompileError
Precompile error type.
PrecompileId
Precompile with address and function. Unique precompile identifier.
PrecompileSpecId
Ethereum hardfork spec ids. Represents the specs where precompiles had a change.

Traits§

Crypto
Crypto operations trait for precompiles.

Functions§

calc_linear_cost_u32
Calculate the linear cost of a precompile.
crypto
Get the installed crypto provider, or the default if none is installed.
install_crypto
Install a custom crypto provider globally.
u64_to_address
Const function for making an address by concatenating the bytes from two given numbers.

Type Aliases§

PrecompileFn
Precompile function type. Takes input, gas limit, and crypto implementation and returns precompile result.
PrecompileResult
A precompile operation result type