[package]
edition = "2024"
name = "ark-vrf"
version = "0.5.0"
authors = ["Davide Galassi <davxy@datawok.net>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Elliptic curve VRF with additional data"
readme = "README.md"
keywords = [
"cryptography",
"vrf",
"ec-vrf",
"ring-vrf",
"zk",
]
categories = [
"cryptography",
"no-std",
]
license = "MIT"
repository = "https://github.com/davxy/ark-vrf"
[package.metadata.docs.rs]
features = ["full"]
[features]
asm = [
"ark-ff/asm",
"w3f-ring-proof?/asm",
"sha2/asm",
"sha3?/asm",
]
baby-jubjub = [
"ark-ed-on-bn254",
"ark-bn254/curve",
]
bandersnatch = [
"ark-ed-on-bls12-381-bandersnatch",
"ark-bls12-381/curve",
]
default = ["std"]
ed25519 = ["ark-ed25519"]
full = [
"secp256r1",
"ed25519",
"bandersnatch",
"jubjub",
"baby-jubjub",
"ring",
]
jubjub = [
"ark-ed-on-bls12-381",
"ark-bls12-381/curve",
]
parallel = [
"ark-ec/parallel",
"ark-ff/parallel",
"ark-std/parallel",
"w3f-ring-proof?/parallel",
"rayon",
]
print-trace = ["ark-std/print-trace"]
ring = ["w3f-ring-proof"]
secp256r1 = ["ark-secp256r1"]
secret-split = ["ark-std/getrandom"]
shake128 = ["sha3"]
std = [
"ark-std/std",
"ark-ec/std",
"w3f-ring-proof?/std",
]
test-vectors = ["w3f-ring-proof?/test-vectors"]
[lib]
name = "ark_vrf"
path = "src/lib.rs"
[[bench]]
name = "common"
path = "benches/common.rs"
harness = false
[[bench]]
name = "pedersen"
path = "benches/pedersen.rs"
harness = false
[[bench]]
name = "ring"
path = "benches/ring.rs"
harness = false
required-features = ["ring"]
[[bench]]
name = "straus"
path = "benches/straus.rs"
harness = false
[[bench]]
name = "thin"
path = "benches/thin.rs"
harness = false
[[bench]]
name = "tiny"
path = "benches/tiny.rs"
harness = false
[dependencies.ark-bls12-381]
version = "0.5"
optional = true
default-features = false
[dependencies.ark-bn254]
version = "0.5"
optional = true
default-features = false
[dependencies.ark-ec]
version = "0.5"
default-features = false
[dependencies.ark-ed-on-bls12-381]
version = "0.5"
optional = true
default-features = false
[dependencies.ark-ed-on-bls12-381-bandersnatch]
version = "0.5"
optional = true
default-features = false
[dependencies.ark-ed-on-bn254]
version = "0.5"
optional = true
default-features = false
[dependencies.ark-ed25519]
version = "0.5"
optional = true
default-features = false
[dependencies.ark-ff]
version = "0.5"
default-features = false
[dependencies.ark-secp256r1]
version = "0.5"
optional = true
default-features = false
[dependencies.ark-serialize]
version = "0.5"
default-features = false
[dependencies.ark-std]
version = "0.5"
default-features = false
[dependencies.digest]
version = "0.10"
default-features = false
[dependencies.generic-array]
version = "0.14"
default-features = false
[dependencies.rayon]
version = "1.10"
optional = true
default-features = false
[dependencies.sha2]
version = "0.10"
default-features = false
[dependencies.sha3]
version = "0.10"
optional = true
default-features = false
[dependencies.w3f-ring-proof]
version = "0.0.8"
optional = true
default-features = false
[dependencies.zeroize]
version = "1.8"
default-features = false
[dev-dependencies.ark-ed25519]
version = "0.5"
[dev-dependencies.ark-std]
version = "0.5"
features = ["getrandom"]
default-features = false
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.hex]
version = "0.4"
[dev-dependencies.indexmap]
version = "2.2.6"
features = ["serde"]
[dev-dependencies.rayon]
version = "1.10"
[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0"