# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "nimiq-utils"
version = "1.5.0"
authors = ["The Nimiq Core Development Team <info@nimiq.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Various utilities (e.g., CRC, Merkle proofs, timers) for Nimiq's Rust implementation"
homepage = "https://nimiq.com"
readme = false
keywords = [
    "nimiq",
    "cryptocurrency",
    "blockchain",
]
categories = ["cryptography::cryptocurrencies"]
license = "Apache-2.0"
repository = "https://github.com/nimiq/core-rs-albatross"
resolver = "2"

[badges.is-it-maintained-issue-resolution]
repository = "nimiq/core-rs"

[badges.is-it-maintained-open-issues]
repository = "nimiq/core-rs"

[badges.maintenance]
status = "experimental"

[badges.travis-ci]
branch = "master"
repository = "nimiq/core-rs"

[features]
crc = []
credentials = [
    "nimiq-hash",
    "subtle",
]
futures = ["dep:futures"]
key-rng = [
    "rand",
    "rand_core",
]
key-store = [
    "log",
    "thiserror",
]
libp2p = ["libp2p-identity"]
merkle = [
    "nimiq-collections",
    "nimiq-hash",
]
otp = [
    "clear_on_drop",
    "nimiq-hash",
    "rand",
]
spawn = [
    "tokio",
    "tokio/rt",
    "wasm-bindgen-futures",
]
tagged-signing = ["hex"]
time = []

[lib]
name = "nimiq_utils"
path = "src/lib.rs"

[[test]]
name = "mod"
path = "tests/mod.rs"

[dependencies.clear_on_drop]
version = "0.2"
optional = true

[dependencies.futures]
version = "0.3.30"
optional = true
package = "futures-util"

[dependencies.hex]
version = "0.4"
optional = true

[dependencies.instant]
version = "0.1"
features = ["wasm-bindgen"]

[dependencies.libp2p-identity]
version = "0.2"
optional = true

[dependencies.log]
version = "0.1.40"
features = ["log"]
optional = true
package = "tracing"

[dependencies.nimiq-collections]
version = "1.5.0"
optional = true
default-features = false

[dependencies.nimiq-database-value]
version = "1.5.0"
default-features = false

[dependencies.nimiq-database-value-derive]
version = "1.5.0"
default-features = false

[dependencies.nimiq-hash]
version = "1.5.0"
optional = true
default-features = false

[dependencies.nimiq-serde]
version = "1.5.0"
default-features = false

[dependencies.parking_lot]
version = "0.12"

[dependencies.pin-project]
version = "1.1"

[dependencies.rand]
version = "0.9"
optional = true

[dependencies.rand_core]
version = "0.9"
optional = true

[dependencies.serde]
version = "1.0"

[dependencies.subtle]
version = "2.6"
optional = true

[dependencies.thiserror]
version = "2.0"
optional = true

[target.'cfg(not(target_family = "wasm"))'.dependencies.tokio]
version = "1.52.1"
optional = true

[target.'cfg(target_family = "wasm")'.dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true

[lints.clippy]
assigning_clones = "allow"
empty_docs = "allow"
large_enum_variant = "allow"
result_large_err = "allow"
too_many_arguments = "allow"
type_complexity = "allow"

[lints.rust]
unused_qualifications = "warn"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(tokio_unstable)"]
