[package]
name = "clock-bigint"
version = "1.0.0"
edition = "2024"
authors = ["ClockinChain Contributors"]
description = "Deterministic constant-time big integers for blockchain consensus engines"
license = "MIT OR Apache-2.0"
repository = "https://github.com/Olyntar-Labs/clock-bigint"
documentation = "https://docs.rs/clock-bigint"
keywords = ["bigint", "blockchain", "cryptography", "consensus", "montgomery"]
categories = ["cryptography", "algorithms", "no-std"]

[features]
default = ["alloc"]
alloc = []
zk = []
serde = ["dep:serde"]
fuzz = []
clockinchain = []
std = ["alloc"]

[dependencies]
serde = { version = "1.0", optional = true, default-features = false, features = ["derive"] }

[dev-dependencies]
proptest = "1.5"
criterion = { version = "0.8.1", features = ["html_reports"] }
clock-rand = "1.0.1"
hex = "0.4"
cargo-fuzz = "0.13.1"

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

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

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

[lints.rust]
unsafe_op_in_unsafe_fn = "warn"
missing_docs = "warn"
unused = "warn"

[lints.clippy]
all = "warn"
pedantic = "warn"
nursery = "warn"
cargo = "warn"
perf = "warn"
correctness = "warn"
suspicious = "warn"
complexity = "warn"
style = "warn"
