Cargo Features

[dependencies]
snark-verifier = { version = "0.1.7", default-features = false, features = ["display", "loader_halo2", "loader_evm", "revm", "parallel", "halo2-axiom"] }
default = display, halo2-axiom, loader_evm, loader_halo2

These default features are set whenever snark-verifier is added without default-features = false somewhere in the dependency tree.

display default

Enables display of halo2-base

Use halo2-base as non-optional dependency because it re-exports halo2_proofs, halo2curves, and poseidon, using different repos based on feature flag "halo2-axiom" or "halo2-pse"

and display of optional halo2-ecc

loader_halo2

loader_halo2 default = halo2-ecc

Affects loader::halo2, transcript::halo2

loader_evm default revm?

Enables ruint =1.10 and sha3

Affects loader::evm, transcript::evm

revm = loader_evm

Enables revm =3.5.0

revm only used for testing smart contract execution

parallel

Enables rayon

halo2-axiom default

Enables halo2-axiom of halo2-base and optional halo2-ecc

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

halo2-ecc loader_halo2