[package]
name        = "cuprate-types"
version     = "0.0.0"
edition     = "2021"
description = "Cuprate data types"
license     = "MIT"
authors     = ["hinto-janai"]
repository  = "https://github.com/Cuprate/cuprate/tree/main/types"
keywords    = ["cuprate", "types"]

[features]
default    = ["blockchain", "epee", "serde", "json", "hex"]
blockchain = []
epee       = ["dep:cuprate-epee-encoding"]
serde      = ["dep:serde"]
proptest   = ["dep:proptest",  "dep:proptest-derive"]
json       = ["hex", "dep:cuprate-helper"]
hex        = ["dep:hex"]

[dependencies]
cuprate-epee-encoding = { path = "../net/epee-encoding", optional = true }
cuprate-helper = { path = "../helper", optional = true, features = ["cast"] }
cuprate-fixed-bytes   = { path = "../net/fixed-bytes" }

bytes            = { workspace = true }
curve25519-dalek = { workspace = true }
monero-serai     = { workspace = true }
hex              = { workspace = true, features = ["serde", "alloc"], optional = true }
serde            = { workspace = true, features = ["derive"], optional = true }
thiserror        = { workspace = true }

proptest = { workspace = true, optional = true }
proptest-derive  = { workspace = true, optional = true }

[dev-dependencies]
hex-literal       = { workspace = true }
pretty_assertions = { workspace = true }
serde_json        = { workspace = true, features = ["std"] }

[lints]
workspace = true