Cargo Features
[dependencies]
revm-precompile = { version = "17.0.0-alpha.1", default-features = false, features = ["std", "hashbrown", "asm-keccak", "secp256r1", "c-kzg", "kzg-rs", "portable", "secp256k1", "libsecp256k1", "blst"] }
- default = blst, c-kzg, portable, secp256k1, std
-
These default features are set whenever
revm-precompile
is added without
somewhere in the dependency tree.default-features = false - std default
-
static precompile sets.
SHA2-256 and RIPEMD-160
and std of optional c-kzg ^1.0.3
KZG point evaluation precompile
and std of k256 and optional libsecp256k1
k256:
ecRecover
and std of revm-primitives, ripemd, and optional secp256k1 >=0.28, <=0.29
revm-primitives:
revm
- hashbrown
-
Enables hashbrown of revm-primitives
- asm-keccak
-
Enables asm-keccak of revm-primitives
- secp256r1
-
Enables the p256verify precompile.
Enables p256
p256verify precompile
Affects
revm-precompile::secp256r1
… - c-kzg default portable
-
These libraries may not work on all no_std platforms as they depend on C.
Enables the KZG point evaluation precompile.Enables c-kzg ^1.0.3
Affects
revm-precompile::kzg_point_evaluation
… - kzg-rs
-
kzg-rs
is not audited but useful forno_std
environment, use it with causing and default toc-kzg
if possible.Enables kzg-rs
Optionally use
kzg-rs
for a pure Rust implementation of KZG point evaluation.Affects
revm-precompile::kzg_point_evaluation
… - portable default = c-kzg
- secp256k1 default
-
Use
secp256k1
as a faster alternative tok256
. The problem thatsecp256k1
has is it fails to build forwasm
target on Windows and Mac as it is c lib. In Linux it passes. If you don't require to build wasm on win/mac, it is safe to use it and it is enabled by default.Enables secp256k1 >=0.28, <=0.29
Affects
secp256k1::bitcoin_secp256k1
… - libsecp256k1
-
Enables libsecp256k1
Affects
secp256k1::parity_libsecp256k1
… - blst default
-
Enables the BLS12-381 precompiles.
Enables blst
BLS12-381 precompiles
Affects
revm-precompile::bls12_381
…