neptune 13.0.0

Poseidon hashing over BLS12-381 for Filecoin.
Documentation
[package]
name = "neptune"
description = "Poseidon hashing over BLS12-381 for Filecoin."
version = "13.0.0"
authors = ["porcuquine <porcuquine@gmail.com>"]
edition = "2021"
license = "MIT OR Apache-2.0"
repository = "https://github.com/lurk-lab/neptune"
rust-version = "1.66.1"

[dependencies]
bellpepper = { workspace = true }
bellpepper-core = { workspace = true }
blake2s_simd = { workspace = true }
blstrs = { workspace = true, optional = true }
byteorder = { workspace = true }
ec-gpu = { workspace = true, optional = true }
ec-gpu-gen = { workspace = true, optional = true }
ff ={ workspace = true }
generic-array = { workspace = true }
log = { workspace = true }
pasta_curves = { workspace = true, features = ["serde"] }
serde = { version = "1.0", features = ["derive"] }
trait-set = "0.3.0"
abomonation = { version = "0.7.3", optional = true }
abomonation_derive = { version = "0.1.0", package = "abomonation_derive_ng", optional = true }

[dev-dependencies]
bincode = "1.3.3"
blstrs = { workspace = true }
criterion = "0.4.0"
rand = "0.8.5"
rand_xorshift = "0.3.0"
serde_json = "1.0.103"
sha2 = "0.9"

[build-dependencies]
blstrs = { workspace = true }
ec-gpu = { workspace = true, optional = true }
ec-gpu-gen = { workspace = true, optional = true }
pasta_curves = { workspace = true, features = ["serde"] }

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

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

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

[features]
default = ["bls", "pasta"]
cuda = ["ec-gpu-gen/cuda", "ec-gpu"]
opencl = ["ec-gpu-gen/opencl", "ec-gpu"]
# The supported arities for Poseidon running on the GPU are specified at compile-time.
arity2 = []
arity4 = []
arity8 = []
arity11 = []
arity16 = []
arity24 = []
arity36 = []
# With this feature set, also the strengthened version of the kernel will be compiled.
strengthened = []
# The supported fields for Poseidon running on the GPU are specified at compile-time.
bls = ["blstrs/gpu"]
pasta = ["pasta_curves/gpu"]
portable = ["blstrs/portable"]
# Unsafe Abomonation-based serialization
abomonation = ["dep:abomonation", "dep:abomonation_derive"]

[workspace]
resolver = "2"
members = [
  "gbench",
]

# Dependencies that should be kept in sync through the whole workspace
[workspace.dependencies]
bellpepper-core = { version = "0.4.0", default-features = false }
bellpepper = { version = "0.4.0", default-features = false }
blake2s_simd = "1.0.1"
blstrs = { version = "0.7.0" }
ff = "0.13.0"
generic-array = "0.14.7"
pasta_curves = { version = "0.5" }
ec-gpu = { version = "0.2.0" }
ec-gpu-gen = { version = "0.7.0" }
log = "0.4.19"
byteorder = "1"