[package]
name = "ergotree-ir"
version = "0.24.0"
license = "CC0-1.0"
authors = ["Denys Zadorozhnyi <denys@zadorozhnyi.com>"]
repository.workspace = true
edition.workspace = true
description = "ErgoTree IR, serialization"
exclude = [
    "proptest-regressions/*"
]

[lib]
crate-type = ["cdylib", "rlib"]

[dependencies]
sigma-ser = { workspace = true }
sigma-util = { workspace = true }
ergo-chain-types = { workspace = true }
k256 = { workspace = true }
elliptic-curve = { workspace = true }
thiserror = { workspace = true }
lazy_static = { workspace = true }
derive_more = { workspace = true }
proptest = { workspace = true , optional = true }
proptest-derive = { workspace = true, optional = true }
bs58 = { workspace = true }
base16 = { workspace = true }
num-bigint = { workspace = true }
bounded-vec = { workspace = true, features = ["serde"] }
num-traits = { workspace = true }
num-derive = { workspace = true }
num-integer = { workspace = true }
indexmap = { workspace = true }
serde = { workspace = true , optional = true }
serde_json = { workspace = true, optional = true }
serde_with = { workspace = true, optional = true }
num256 = "0.3.1"
impl-trait-for-tuples = "0.2.0"
strum = "0.21"
strum_macros = "0.21"

[features]
default = ["json"]
arbitrary = ["proptest", "proptest-derive", "ergo-chain-types/arbitrary"]
json = ["serde", "serde_json", "serde_with", "bounded-vec/serde"]

[dev-dependencies]
sigma-test-util = { workspace = true }
rand = { workspace = true }
pretty_assertions = { workspace = true }
