[package] name = "sp1-sdk" description = "SP1 is a performant, 100% open-source, contributor-friendly zkVM." readme = "../../README.md" version = { workspace = true } edition = { workspace = true } license = { workspace = true } repository = { workspace = true } keywords = { workspace = true } categories = { workspace = true } [dependencies] prost = { version = "0.13", optional = true } serde = { version = "1.0.204", features = ["derive"] } twirp = { package = "twirp-rs", version = "0.13.0-succinct", optional = true } async-trait = "0.1.81" reqwest-middleware = { version = "0.3.2", optional = true } reqwest = { version = "0.12.4", features = [ "rustls-tls", "trust-dns", "stream", ], optional = true } anyhow = "1.0.83" sp1-prover = { workspace = true } sp1-core-machine = { workspace = true } sp1-cuda = { workspace = true, optional = true } futures = "0.3.30" bincode = "1.3.3" tokio = { version = "1.39.2", features = ["full"], optional = true } p3-field = { workspace = true } p3-baby-bear = { workspace = true } p3-fri = { workspace = true } indicatif = "0.17.8" tracing = "0.1.40" hex = "0.4.3" log = "0.4.22" alloy-sol-types = { version = "0.7.7", optional = true } dirs = "5.0.1" tempfile = "3.10.1" cfg-if = "1.0" ethers = { version = "2", default-features = false, optional = true } strum = "0.26.3" strum_macros = "0.26.4" thiserror = "1.0.63" hashbrown = "0.14.5" sp1-core-executor = { workspace = true } sp1-stark = { workspace = true } sp1-primitives = { workspace = true } itertools = "0.13.0" tonic = { version = "0.12", features = ["tls", "tls-roots"], optional = true } alloy-signer = { version = "0.3.6", optional = true } alloy-signer-local = { version = "0.3.6", optional = true } alloy-primitives = { version = "0.8.7", optional = true } aws-sdk-s3 = { version = "1.53.0", optional = true } aws-config = { version = "1.5.7", optional = true } [features] default = ["network"] neon = ["sp1-core-machine/neon"] native-gnark = ["sp1-prover/native-gnark"] # TODO: Once alloy has a 1.* release, we can likely remove this feature flag, as there will be less # dependency resolution issues. network = [ "dep:prost", "dep:alloy-sol-types", "dep:tokio", "dep:ethers", "dep:reqwest", "dep:twirp", "dep:reqwest-middleware", ] network-v2 = [ "dep:prost", "dep:alloy-sol-types", "dep:alloy-signer", "dep:alloy-signer-local", "dep:alloy-primitives", "dep:tokio", "dep:ethers", "dep:reqwest", "dep:twirp", "dep:reqwest-middleware", "dep:tonic", "dep:aws-sdk-s3", "dep:aws-config", ] cuda = ["sp1-cuda"] [build-dependencies] vergen = { version = "8", default-features = false, features = [ "build", "git", "git2", ] }