[package]
name = "neptune"
description = "Poseidon hashing over BLS12-381 for Filecoin."
version = "2.2.0"
authors = ["porcuquine <porcuquine@gmail.com>"]
edition = "2018"
license = "MIT OR Apache-2.0"
repository = "https://github.com/porcuquine/poseidon"

[dependencies]
lazy_static = "1.4.0"
bellperson = { version = "0.12", default-features = false }
blake2s_simd = "0.5"
byteorder = "1"
ff = { version = "0.2.1", package = "fff" }
generic-array = "0.14.4"
log = "0.4.8"

[target.'cfg(not(target_os = "macos"))'.dependencies]
triton = { version = "2.0.0", package = "neptune-triton", default-features = false, features = ["opencl"], optional = true }

[dev-dependencies]
criterion = "0.3"
rand = "0.7.0"
sha2 = "0.9"
tempdir = "0.3"
rand_xorshift = "0.2.0"
serde_json = "1.0.53"

[build-dependencies]
bellperson = { version = "0.12", default-features = false }
ff = { version = "0.2.1", package = "fff" }

[[bench]]
name = "hash"
harness = false

[[bench]]
name = "synthesis"
harness = false

[profile.bench]
incremental = false
codegen-units = 1

[features]
default = ["pairing"]
gpu = ["triton"]
pairing = ["bellperson/pairing"]
blst = ["bellperson/blst"]

[workspace]
members = [
  "gbench",
]
