[package]
edition = "2024"
name = "i0"
version = "0.2.2"
build = false
exclude = [
".vscode/",
".gitignore",
"contributing.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "i0"
description = "thei.rs/i0 reference implementation written in rust"
readme = "readme.md"
license = "MIT OR Apache-2.0"
repository = "https://ravy.dev/mint/i0.rs"
[package.metadata.docs.rs]
features = [
"v2",
"v3",
]
[features]
_display = [
"dep:dollcode",
"dep:dollhex",
"dep:dollnary",
]
bench = [
"v3",
"dep:clap",
"dep:rand",
"dep:humantime",
"dep:sysinfo",
]
cli = [
"_display",
"dep:base64",
"dep:clap",
"dep:rand",
]
default = ["v3"]
dig = [
"_display",
"dep:clap",
"dep:rand",
]
v2 = [
"dep:base64",
"dep:blake3",
"dep:ed25519-dalek",
"dep:z32",
]
v3 = [
"dep:base64",
"dep:blake3",
"dep:curve25519-dalek",
"dep:z32",
]
[lib]
name = "i0"
crate-type = ["lib"]
path = "src/lib.rs"
[[bin]]
name = "i0"
path = "src/bin/i0.rs"
required-features = ["cli"]
[[bin]]
name = "i0-bench"
path = "src/bin/i0-bench.rs"
required-features = ["bench"]
[[bin]]
name = "i0-dig"
path = "src/bin/i0-dig.rs"
required-features = ["dig"]
[[bench]]
name = "dig_v3"
path = "benches/dig_v3.rs"
harness = false
required-features = [
"cli",
"v3",
]
[dependencies.base64]
version = "0.22.1"
optional = true
[dependencies.blake3]
version = "1.8.3"
optional = true
[dependencies.clap]
version = "4.5.56"
features = ["derive"]
optional = true
[dependencies.curve25519-dalek]
version = "5.0.0-rc.1"
features = ["digest"]
optional = true
[dependencies.dollcode]
version = "0.1.1"
optional = true
[dependencies.dollhex]
version = "0.1.1"
optional = true
[dependencies.dollnary]
version = "0.1.3"
optional = true
[dependencies.ed25519-dalek]
version = "3.0.0-rc.1"
features = ["digest"]
optional = true
[dependencies.humantime]
version = "2.3.0"
optional = true
[dependencies.rand]
version = "0.10.1"
features = [
"alloc",
"sys_rng",
"std",
"thread_rng",
]
optional = true
default-features = false
[dependencies.sysinfo]
version = "0.39.5"
optional = true
[dependencies.time]
version = "0.3.46"
features = ["macros"]
[dependencies.z32]
version = "1.3.0"
optional = true
[dev-dependencies.criterion]
version = "0.8"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"