[package]
edition = "2024"
rust-version = "1.88"
name = "tycho-types"
version = "0.3.2"
authors = ["Ivan Kalinin <i.kalinin@dexpa.io>"]
build = false
include = [
"src/**/*.rs",
"benches/**/*.rs",
"LICENSE-*",
"README.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A set of primitive types and utilities for the Tycho node."
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/broxus/tycho-types"
[package.metadata.docs.rs]
features = [
"base64",
"serde",
"models",
"sync",
"abi",
]
[features]
abi = [
"dep:anyhow",
"dep:bytes",
"dep:ed25519-dalek",
"bigint",
"dep:serde",
"models",
"dep:tycho-types-abi-proc",
]
arbitrary = ["dep:arbitrary"]
bigint = [
"dep:num-bigint",
"dep:num-traits",
]
blake3 = ["dep:blake3"]
default = [
"base64",
"serde",
"models",
"sync",
]
models = [
"dep:tycho-crypto",
"dep:tl-proto",
]
rand8 = ["dep:rand8"]
rand9 = ["dep:rand9"]
rayon = [
"sync",
"dep:rayon",
"blake3?/rayon",
"dep:dashmap",
]
serde = [
"dep:serde",
"base64",
]
stats = []
sync = ["dep:scc"]
tycho = []
[lib]
name = "tycho_types"
path = "src/lib.rs"
[[bench]]
name = "big_cell"
path = "benches/big_cell.rs"
harness = false
[[bench]]
name = "boc"
path = "benches/boc.rs"
harness = false
[[bench]]
name = "callgrind_boc"
path = "benches/callgrind_boc.rs"
harness = false
[[bench]]
name = "callgrind_dict"
path = "benches/callgrind_dict.rs"
harness = false
[[bench]]
name = "callgrind_dict_from_slice"
path = "benches/callgrind_dict_from_slice.rs"
harness = false
[[bench]]
name = "callgrind_slice_uniform"
path = "benches/callgrind_slice_uniform.rs"
harness = false
[[bench]]
name = "callgrind_usage_cell"
path = "benches/callgrind_usage_cell.rs"
harness = false
[[bench]]
name = "dict"
path = "benches/dict.rs"
harness = false
[[bench]]
name = "dict_from_slice"
path = "benches/dict_from_slice.rs"
harness = false
[[bench]]
name = "dict_modify"
path = "benches/dict_modify.rs"
harness = false
[[bench]]
name = "dict_modify_aug"
path = "benches/dict_modify_aug.rs"
harness = false
[[bench]]
name = "mine"
path = "benches/mine.rs"
harness = false
[[bench]]
name = "slice_uniform"
path = "benches/slice_uniform.rs"
harness = false
[[bench]]
name = "usage_cell"
path = "benches/usage_cell.rs"
harness = false
[dependencies.ahash]
version = "0.8.11"
[dependencies.anyhow]
version = "1.0"
optional = true
[dependencies.arbitrary]
version = "1"
features = ["derive"]
optional = true
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.bitflags]
version = "2.3"
[dependencies.blake3]
version = "1.5"
optional = true
[dependencies.bytes]
version = "1.4"
optional = true
[dependencies.crc32c]
version = "0.6.8"
[dependencies.dashmap]
version = "6.1.0"
optional = true
[dependencies.ed25519-dalek]
version = "2.1.1"
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.num-bigint]
version = "0.4"
optional = true
[dependencies.num-traits]
version = "0.2"
optional = true
[dependencies.rand8]
version = "0.8"
optional = true
package = "rand"
[dependencies.rand9]
version = "0.9"
optional = true
package = "rand"
[dependencies.rayon]
version = "1.10"
optional = true
[dependencies.scc]
version = "2.1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.sha2]
version = "0.10"
[dependencies.smallvec]
version = "1.9"
features = ["union"]
[dependencies.thiserror]
version = "2.0"
[dependencies.tl-proto]
version = "0.5.3"
optional = true
[dependencies.tycho-crypto]
version = "0.4"
features = ["tl-proto"]
optional = true
[dependencies.tycho-types-abi-proc]
version = "=0.3.0"
optional = true
[dependencies.tycho-types-proc]
version = "=0.3.0"
[dependencies.typeid]
version = "1.0"
[dev-dependencies.anyhow]
version = "1.0"
[dev-dependencies.base64]
version = "0.22"
[dev-dependencies.criterion]
version = "0.7"
[dev-dependencies.iai-callgrind]
version = "0.16.1"
[dev-dependencies.paste]
version = "1.0.15"
[dev-dependencies.rand_xorshift]
version = "0.4"
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(fuzzing)"]
[profile.dev.package.base64]
opt-level = 3
[profile.dev.package.curve25519-dalek]
opt-level = 3
[profile.dev.package.ed25519]
opt-level = 3
[profile.dev.package.hex]
opt-level = 3
[profile.dev.package.rand]
opt-level = 3
[profile.dev.package.sha2]
opt-level = 3
[profile.dev.package.tycho-crypto]
opt-level = 3
[profile.dev.package."*"]
opt-level = 1
[profile.release]
debug = 2