ton_lib 0.0.21

A collection of types and utilities for interacting with the TON network
[package]
name = "ton_lib"
version = "0.0.21"
description.workspace = true
keywords.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
readme.workspace = true
publish = true


include = [
    "Cargo.toml",
    "src/*",
    "benches/*",
    "examples/*",
    "tests/*",
    "resources/*",
]

[features]
default = ["contracts", "tonlibjson", "emulator"]
emulator = ["dep:tonlib-sys"] # add tvm/tx emulators
tonlibjson = ["dep:tonlib-sys"] # add tonlibjson client implementations
contracts = ["dep:moka"]
#serde_scylla = ["dep:scylla"] # add scylla ser-de for TonHash, TonAddress


[dependencies]
# Internal
ton_lib_macros = { path = "../ton_lib_macros", version = "0" }

# External
tonlib-sys = { version = "2025.4.1", features = ["with_debug_info"], optional = true }
bitstream-io = "4.0.0"
thiserror = "2.0"
log = "0.4"
sha2 = {version = "0.10"}
crc = "3.2.1"
hex = "0.4.3"
base64 = "0.22"
num-bigint = { version = "0.4" }
num-traits = { version = "0.2.19" }
ton_liteapi = "0.2"
tokio = "1.43.0"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
auto_pool = { version = "0.3", features = ["async"] }
adnl = "2.0"
tokio-tower = "0.6.0"
tower = { version = "0.5", features = ["util"] }
rand = "0.9.1"
strum = { version = "0.27", features = ["derive"] }
serde-aux = "4.7.0"
base64-serde = "0.8.0"
async-trait = "0.1.88"
futures-util = "0.3"
libc = "0.2"
async-recursion = "1.1.1"
moka = { version = "0.12.10", features = ["async-lock", "future"], optional = true }
hmac = "0.12.1"
lazy_static = "1.5.0"
pbkdf2 = { version = "0.12.2", features = ["simple"] }
nacl = "0.5.3"

[dev-dependencies]
tonlib-core = "0.25.2"
anyhow = "1.0"
tokio-test = "0.4"
criterion = "0.5"
sha2 = {version = "0.10", features = ["asm"]} # strongly recommend to enable it for your application
tokio = { version = "1.43", features = ["rt", "macros"] }
log4rs = "1.3"

[[bench]]
name = "boc_to_from_bytes"
harness = false

[[bench]]
name = "build_cell"
harness = false

[[bench]]
name = "build_dict_cell"
harness = false