[package] name = "snark-verifier-sdk" version = "0.1.7" authors = ["Privacy Scaling Explorations Team", "Intrinsic Technologies"] license = "MIT" edition = "2021" repository = "https://github.com/axiom-crypto/snark-verifier" readme = "../README.md" description = "SDK for using snark-verifier." rust-version = "1.73.0" autobenches = false [dependencies] itertools = "0.11" lazy_static = "1.4.0" num-bigint = "0.4.3" num-integer = "0.1.45" num-traits = "0.2.15" rand = "0.8" rand_chacha = "0.3.1" hex = "0.4" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_with = { version = "2.2", optional = true } bincode = "1.3.3" ark-std = { version = "0.3.0", features = ["print-trace"], optional = true } halo2-base = { version = "=0.4.1", default-features = false } #halo2-base = { git = "https://github.com/axiom-crypto/halo2-lib.git", branch = "main", default-features = false } snark-verifier = { version = "=0.1.7", path = "../snark-verifier", default-features = false } getset = "0.1.2" # loader_evm ethereum-types = { version = "=0.14.1", default-features = false, features = ["std"], optional = true } # zkevm benchmarks # zkevm-circuits = { git = "https://github.com/privacy-scaling-explorations/zkevm-circuits.git", rev = "f834e61", features = [ # "test", # ], optional = true } # bus-mapping = { git = "https://github.com/privacy-scaling-explorations/zkevm-circuits.git", rev = "f834e61", optional = true } # eth-types = { git = "https://github.com/privacy-scaling-explorations/zkevm-circuits.git", rev = "f834e61", optional = true } # mock = { git = "https://github.com/privacy-scaling-explorations/zkevm-circuits.git", rev = "f834e61", optional = true } [dev-dependencies] ark-std = { version = "0.3.0", features = ["print-trace"] } paste = "1.0.7" pprof = { version = "0.13", features = ["criterion", "flamegraph"] } criterion = "0.5.1" criterion-macro = "0.4" # loader_evm crossterm = { version = "0.25" } ratatui = { version = "0.24", default-features = false, features = ["crossterm"] } [features] default = ["loader_halo2", "loader_evm", "halo2-axiom", "halo2-base/jemallocator", "display"] display = ["snark-verifier/display", "dep:ark-std"] loader_halo2 = ["snark-verifier/loader_halo2"] loader_evm = ["snark-verifier/loader_evm", "dep:ethereum-types"] revm = ["snark-verifier/revm"] parallel = ["snark-verifier/parallel"] # EXACTLY one of halo2-pse / halo2-axiom should always be turned on; not sure how to enforce this with Cargo # halo2-pse = ["snark-verifier/halo2-pse", "dep:serde_with"] halo2-axiom = ["snark-verifier/halo2-axiom"] # zkevm = ["dep:zkevm-circuits", "dep:bus-mapping", "dep:mock", "dep:eth-types"] [[bench]] name = "standard_plonk" required-features = ["loader_halo2"] harness = false # [[bench]] # name = "zkevm" # required-features = ["loader_halo2", "loader_evm", "zkevm", "halo2-pse"] # harness = false # [[bench]] # name = "zkevm_plus_state" # required-features = ["loader_halo2", "loader_evm", "zkevm", "halo2-pse"] # harness = false [[bench]] name = "read_pk" required-features = ["loader_halo2"] harness = false [[example]] name = "standard_plonk" required-features = ["loader_halo2", "loader_evm"]