[package] name = "everscale-types" description = "A set of primitive types and utilities for the Everscale blockchain." authors = ["Ivan Kalinin "] repository = "https://github.com/broxus/everscale-types" version = "0.1.2" edition = "2021" rust-version = "1.77" include = ["src/**/*.rs", "benches/**/*.rs", "LICENSE-*", "README.md"] license = "MIT OR Apache-2.0" [[bench]] name = "boc" harness = false [[bench]] name = "dict_from_slice" harness = false [[bench]] name = "dict" harness = false [[bench]] name = "slice_uniform" harness = false [[bench]] name = "usage_cell" harness = false [[bench]] name = "mine" harness = false [workspace] members = ["proc"] [dependencies] ahash = "0.8.11" anyhow = { version = "1.0", optional = true } base64 = { version = "0.22", optional = true } bitflags = "2.3" blake3 = { version = "1.5", optional = true } bytes = { version = "1.4", optional = true } crc32c = "0.6.8" ed25519-dalek = { version = "2.1.1", optional = true } everscale-crypto = { version = "0.2", features = ["tl-proto"], optional = true } hex = "0.4" num-bigint = { version = "0.4", optional = true } num-traits = { version = "0.2", optional = true } rand = { version = "0.8", optional = true } rayon = { version = "1.10", optional = true } scc = { version = "2.1", optional = true } serde = { version = "1", features = ["derive"], optional = true } sha2 = "0.10" smallvec = { version = "1.9", features = ["union"] } thiserror = "1.0" tl-proto = { version = "0.4", optional = true } typeid = { version = "1.0", optional = true } everscale-types-proc = { version = "=0.1.5", path = "proc" } [dev-dependencies] anyhow = "1.0" base64 = "0.22" criterion = "0.5" rand = "0.8" rand_xorshift = "0.3" serde = { version = "1", features = ["derive"] } serde_json = "1" [features] default = ["base64", "serde", "models", "sync"] sync = ["dep:scc"] stats = [] serde = ["dep:serde", "base64"] rand = ["dep:rand"] models = ["dep:everscale-crypto", "dep:tl-proto"] blake3 = ["dep:blake3"] rayon = ["dep:rayon", "blake3?/rayon"] abi = [ "dep:anyhow", "dep:bytes", "dep:ed25519-dalek", "dep:num-bigint", "dep:num-traits", "dep:serde", "dep:typeid", "models", ] venom = [] tycho = [] [profile.release] debug = true [profile.dev.package.hex] opt-level = 3 [profile.dev.package.base64] opt-level = 3 [profile.dev.package.rand] opt-level = 3 [profile.dev.package.sha2] opt-level = 3 [profile.dev.package.everscale-crypto] opt-level = 3 [profile.dev.package.curve25519-dalek] opt-level = 3 [profile.dev.package.ed25519] opt-level = 3 [profile.dev.package."*"] opt-level = 1 [package.metadata.docs.rs] features = ["base64", "serde", "models", "sync", "stats", "abi"] [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] }