akd 0.8.4

An implementation of an auditable key directory
Documentation
[package]
name = "akd"
version = "0.8.4"
authors = ["Harjasleen Malvai <hmalvai@fb.com>", "Kevin Lewi <klewi@fb.com>", "Sean Lawlor <seanlawlor@fb.com>"]
description = "An implementation of an auditable key directory"
license = "MIT OR Apache-2.0"
edition = "2018"
keywords = ["key-transparency", "akd"]
repository = "https://github.com/novifinancial/akd"
readme = "../README.md"

[features]
# Supported hash functions
sha512 = ["akd_core/sha512"]
sha256 = ["akd_core/sha256"]
sha512_256 = ["akd_core/sha512_256"]
sha3_256 = ["akd_core/sha3_256"]
sha3_512 = ["akd_core/sha3_512"]
blake3 = ["akd_core/blake3"]

bench = ["blake3", "public-tests","tokio/rt-multi-thread"]
public-tests = ["rand", "bincode", "colored", "once_cell", "serde_serialization", "akd_core/rand"]
public_auditing = ["protobuf", "akd_core/protobuf"]
serde_serialization = ["serde", "ed25519-dalek/serde", "akd_core/serde_serialization"]
# Collect runtime metrics on db access calls + timing
runtime_metrics = []
# Parallelize VRF calculations during publish
parallel_vrf = ["akd_core/parallel_vrf"]
# Parallelize node insertion during publish
parallel_insert = []

# Default features mix (blake3 + audit-proof protobuf mgmt support)
default = ["blake3", "public_auditing", "parallel_vrf", "parallel_insert"]

[dependencies]
## Required dependencies ##
akd_core = { path = "../akd_core", version = "0.8.4", default-features = false, features = ["vrf"] }
async-recursion = "0.3"
async-trait = "0.1"
curve25519-dalek = "3"
dashmap = { version = "5" }
ed25519-dalek = "1"
hex = "0.4"
log = { version = "0.4.8", features = ["kv_unstable"] }
tokio = { version = "1.21", features = ["sync", "time", "rt"] }

## Optional dependencies ##
bincode = { version = "1", optional = true }
serde = { version = "1", features = ["derive"], optional = true }
rand = { version = "0.7", optional = true }
colored = { version = "2", optional = true }
once_cell = { version = "1", optional = true }
protobuf = { version = "3.2", optional = true }

[dev-dependencies]
criterion = "0.3"
serial_test = "0.5"
proptest = "1.0"
proptest-derive = "0.3"
colored = { version = "2" }
once_cell = { version = "1" }
ctor = "0.1"
tokio-test = "0.4"
tokio = { version = "1.21", features = ["rt", "sync", "time", "macros"] }

# To enable the public-test feature in tests
akd = { path = ".", features = ["public-tests"], default-features = false }

[[bench]]
name = "azks"
harness = false
required-features = ["bench"]