[package]
name = "ton-contracts"
version = "0.7.2"
edition.workspace = true
rust-version.workspace = true
repository.workspace = true
license-file.workspace = true
keywords.workspace = true
categories.workspace = true
description = "Bindings for common smart-contracts on TON blockchain"

[dependencies]
tlb-ton = { workspace = true, features = ["base64"] }

anyhow.workspace = true
arbitrary = { workspace = true, features = ["derive"], optional = true }
bitvec.workspace = true
chrono.workspace = true
lazy_static.workspace = true
num-bigint.workspace = true

hmac = { version = "0.12", optional = true }
nacl = { version = "0.5", optional = true }
pbkdf2 = { version = "0.12", features = ["simple"], optional = true }
sha2 = { version = "0.10", optional = true }


[features]
default = ["wallet", "jetton"]

arbitrary = [
    "dep:arbitrary",
    "chrono/arbitrary",
    "chrono/std",
    "num-bigint/arbitrary",
    "tlb-ton/arbitrary",
]
jetton = []
wallet = ["dep:nacl", "dep:hmac", "dep:sha2", "dep:pbkdf2"]

[dev-dependencies]
hex-literal.workspace = true
