tycho-types 0.2.0

A set of primitive types and utilities for the Tycho node.
Documentation
[[bench]]
harness = false
name = "big_cell"
path = "benches/big_cell.rs"

[[bench]]
harness = false
name = "boc"
path = "benches/boc.rs"

[[bench]]
harness = false
name = "callgrind_boc"
path = "benches/callgrind_boc.rs"

[[bench]]
harness = false
name = "callgrind_dict"
path = "benches/callgrind_dict.rs"

[[bench]]
harness = false
name = "callgrind_dict_from_slice"
path = "benches/callgrind_dict_from_slice.rs"

[[bench]]
harness = false
name = "callgrind_slice_uniform"
path = "benches/callgrind_slice_uniform.rs"

[[bench]]
harness = false
name = "callgrind_usage_cell"
path = "benches/callgrind_usage_cell.rs"

[[bench]]
harness = false
name = "dict"
path = "benches/dict.rs"

[[bench]]
harness = false
name = "dict_from_slice"
path = "benches/dict_from_slice.rs"

[[bench]]
harness = false
name = "dict_modify"
path = "benches/dict_modify.rs"

[[bench]]
harness = false
name = "dict_modify_aug"
path = "benches/dict_modify_aug.rs"

[[bench]]
harness = false
name = "mine"
path = "benches/mine.rs"

[[bench]]
harness = false
name = "slice_uniform"
path = "benches/slice_uniform.rs"

[[bench]]
harness = false
name = "usage_cell"
path = "benches/usage_cell.rs"

[dependencies.ahash]
version = "0.8.11"

[dependencies.anyhow]
optional = true
version = "1.0"

[dependencies.arbitrary]
features = ["derive"]
optional = true
version = "1"

[dependencies.base64]
optional = true
version = "0.22"

[dependencies.bitflags]
version = "2.3"

[dependencies.blake3]
optional = true
version = "1.5"

[dependencies.bytes]
optional = true
version = "1.4"

[dependencies.crc32c]
version = "0.6.8"

[dependencies.ed25519-dalek]
optional = true
version = "2.1.1"

[dependencies.hex]
version = "0.4"

[dependencies.num-bigint]
optional = true
version = "0.4"

[dependencies.num-traits]
optional = true
version = "0.2"

[dependencies.rand8]
optional = true
package = "rand"
version = "0.8"

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

[dependencies.rayon]
optional = true
version = "1.10"

[dependencies.scc]
optional = true
version = "2.1"

[dependencies.serde]
features = ["derive"]
optional = true
version = "1"

[dependencies.sha2]
version = "0.10"

[dependencies.smallvec]
features = ["union"]
version = "1.9"

[dependencies.thiserror]
version = "2.0"

[dependencies.tl-proto]
optional = true
version = "0.5.3"

[dependencies.tycho-crypto]
features = ["tl-proto"]
optional = true
version = "0.4"

[dependencies.tycho-types-abi-proc]
optional = true
version = "=0.2.0"

[dependencies.tycho-types-proc]
version = "=0.2.0"

[dependencies.typeid]
version = "1.0"

[dev-dependencies.anyhow]
version = "1.0"

[dev-dependencies.base64]
version = "0.22"

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.iai-callgrind]
version = "0.14"

[dev-dependencies.paste]
version = "1.0.15"

[dev-dependencies.rand_xorshift]
version = "0.4"

[dev-dependencies.serde]
features = ["derive"]
version = "1"

[dev-dependencies.serde_json]
version = "1"

[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"]
serde = ["dep:serde", "base64"]
stats = []
sync = ["dep:scc"]
tycho = []

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

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

[package]
authors = ["Ivan Kalinin <i.kalinin@dexpa.io>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
description = "A set of primitive types and utilities for the Tycho node."
edition = "2024"
include = ["src/**/*.rs", "benches/**/*.rs", "LICENSE-*", "README.md"]
license = "MIT OR Apache-2.0"
name = "tycho-types"
readme = "README.md"
repository = "https://github.com/broxus/tycho-types"
rust-version = "1.85"
version = "0.2.0"

[package.metadata.docs.rs]
features = ["base64", "serde", "models", "sync", "stats", "abi"]

[profile.dev.package."*"]
opt-level = 1

[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.release]
debug = 2