[package]
edition = "2021"
rust-version = "1.94.1"
name = "tidecoin"
version = "0.33.0-beta"
authors = ["Tidecoin Foundation <falcon1024@protonmail.com>"]
build = "build.rs"
exclude = [
"tests",
"contrib",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "General purpose library for using and interoperating with Tidecoin."
documentation = "https://docs.rs/tidecoin/"
readme = "README.md"
keywords = [
"crypto",
"tidecoin",
]
categories = ["cryptography::cryptocurrencies"]
license = "CC0-1.0"
repository = "https://github.com/tidecoin/rust-tidecoin/"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[package.metadata.rbmt.test]
examples = ["serde:std serde"]
exact_features = [[
"std",
"serde",
]]
[package.metadata.rbmt.prerelease]
enabled = true
[features]
arbitrary = [
"dep:arbitrary",
"units/arbitrary",
"primitives/arbitrary",
"hashes/arbitrary",
"network/arbitrary",
]
default = [
"std",
"rand",
"p2p",
"pow",
]
p2p = ["dep:p2p_messages"]
pow = [
"dep:scrypt",
"dep:rust-yespower",
]
rand = ["rand_core/getrandom"]
serde = [
"dep:serde",
"consensus_core/serde",
"hashes/serde",
"internals/serde",
"network/serde",
"primitives/serde",
"units/serde",
]
std = [
"base58/std",
"bech32/std",
"consensus_core/std",
"encoding/std",
"hashes/std",
"hex-stable/std",
"internals/std",
"io/std",
"network/std",
"primitives/std",
"units/std",
]
tidecoin-node-validation = [
"std",
"rand",
"dep:node_parity",
]
[lib]
name = "tidecoin"
path = "src/lib.rs"
[[example]]
name = "io"
path = "examples/io.rs"
required-features = ["std"]
[[example]]
name = "script"
path = "examples/script.rs"
required-features = ["std"]
[[example]]
name = "serde"
path = "examples/serde.rs"
required-features = [
"std",
"serde",
]
[dependencies.arbitrary]
version = "1.4.1"
optional = true
[dependencies.base58]
version = "0.4.0"
features = ["alloc"]
default-features = false
package = "tidecoin-base58ck"
[dependencies.bech32]
version = "0.11.0"
features = ["alloc"]
default-features = false
[dependencies.consensus_core]
version = "0.1.0"
features = ["hex"]
default-features = false
package = "tidecoin-consensus-core"
[dependencies.encoding]
version = "0.1.0"
features = ["alloc"]
default-features = false
package = "tidecoin-consensus-encoding"
[dependencies.fips204]
version = "0.4"
features = [
"ml-dsa-44",
"ml-dsa-65",
"ml-dsa-87",
]
default-features = false
[dependencies.hashes]
version = "0.20.0"
features = [
"alloc",
"hex",
]
default-features = false
package = "tidecoin_hashes"
[dependencies.hex-stable]
version = "1.0.0"
features = ["alloc"]
default-features = false
package = "hex-conservative"
[dependencies.internals]
version = "0.5.0"
features = [
"alloc",
"hex",
]
default-features = false
package = "tidecoin-internals"
[dependencies.io]
version = "0.5.0"
features = [
"alloc",
"hashes",
]
default-features = false
package = "tidecoin-io"
[dependencies.ml-kem]
version = "0.3.0-rc.2"
features = ["zeroize"]
default-features = false
[dependencies.network]
version = "0.1.0"
features = ["alloc"]
default-features = false
package = "tidecoin-network-kind"
[dependencies.node_parity]
version = "0.1.0"
optional = true
package = "tidecoin-node-parity"
[dependencies.p2p_messages]
version = "0.1.0"
optional = true
default-features = false
package = "tidecoin-p2p-messages"
[dependencies.primitives]
version = "0.102.0"
features = [
"alloc",
"hex",
]
default-features = false
package = "tidecoin-primitives"
[dependencies.rand_core]
version = "0.6"
default-features = false
[dependencies.rust-yespower]
version = "0.2.0"
optional = true
default-features = false
[dependencies.scrypt]
version = "0.11"
optional = true
default-features = false
[dependencies.serde]
version = "1.0.195"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
[dependencies.tide-fn-dsa-kgen]
version = "0.4.0"
default-features = false
[dependencies.tide-fn-dsa-sign]
version = "0.4.0"
default-features = false
[dependencies.units]
version = "0.3.0"
features = ["alloc"]
default-features = false
package = "tidecoin-units"
[dependencies.zeroize]
version = "1.8"
features = ["alloc"]
default-features = false
[dev-dependencies.bincode]
version = "1.3.1"
[dev-dependencies.serde_json]
version = "1.0.68"
[dev-dependencies.serde_test]
version = "1.0.19"
[lints.clippy]
redundant_clone = "warn"
use_self = "warn"
[lints.rust.unexpected_cfgs]
level = "deny"
priority = 0
check-cfg = [
"cfg(fuzzing)",
"cfg(kani)",
]