[package]
name = "keri-core"
version = "0.11.1"
description = "Core library for the Key Event Receipt Infrastructure "
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[lib]
crate-type = ["cdylib", "rlib"]

[features]
sled-db = ["sled", "serde_cbor"]
default = ["sled-db"]
query = []
oobi = ["query", "url", "strum_macros", "strum", "reqwest", "async-trait"]
mailbox = ["query"]

[dependencies]
bytes = "1.3.0"
http = "0.2.8"
said = { version = "0.4.0", features = ["macros"]}
cesrox = { version = "0.1.4", features = ["cesr-proof"]}
ed25519-dalek = "1.0.1"
k256 = { version = "0.9", features = ["ecdsa", "sha256", "zeroize"] }
blake2 = "0.9.1"
sha2 = "0.9.3"
sha3 = "0.9.1"
rand = { version = "0.7.3", features = ["std", "getrandom"] }
base64 = "0.13"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_cbor = {version = "0.11.1", optional = true}
serde_derive = "1.0.106"
thiserror = "1.0"
serde-hex = "0.1"
ryu = "1.0"
blake3 = { version = "1", default-features = false }
chrono = { version = "0.4.18", features = ["serde"] }
arrayref = "0.3.6"
zeroize = "1.3.0"
fraction = { version = "0.9", features = ["with-serde-support"] }
sled = { version = "0.34.6", optional = true }

# oobis dependecies
async-trait = { version = "0.1.57", optional = true }
reqwest = { version = "0.11", optional = true }
url = { version = "2.2.2", features = ["serde"], optional = true }
strum_macros = { version = "0.24", optional = true }
strum = { version = "0.24", optional = true }

[dev-dependencies]
sodiumoxide = "0.2.6"
hex = "0.4.3"
tempfile = { version = "3.1" }
