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-2537For 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_runandripemd160_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-4844For more details checkrunfunction.
- modexp
- Modexp precompile added in EIP-198and reprices in berlin hardfork withEIP-2565.
- secp256k1
- ecrecoverprecompile.
- secp256r1
- RIP-7212 secp256r1 Precompile
- utilities
- Utility function that precompiles use, padding and converting between types.
Structs§
- PrecompileOutput 
- Precompile execution output
- PrecompileWith Address 
- Precompile with address and function.
- Precompiles
- Precompiles contain map of precompile addresses to functions and HashSet of precompile addresses.
Enums§
- PrecompileError 
- Precompile error type.
- PrecompileSpec Id 
- 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.
Type Aliases§
- PrecompileFn 
- Precompile function type. Takes input and gas limit and returns precompile result.
- PrecompileResult 
- A precompile operation result type