[package]
name = "ergo-lib"
version = "0.7.0"
license = "CC0-1.0"
authors = ["Denys Zadorozhnyi <denys@zadorozhnyi.com>"]
edition = "2018"
description = "ErgoTree interpreter and wallet-like features for Ergo"
repository = "https://github.com/ergoplatform/sigma-rust"
exclude = [
    "proptest-regressions/*"
]

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

[dependencies]
sigma-ser = { version = "^0.2.0", path = "../sigma-ser" }
sigma-util = { version = "^0.2.0", path = "../sigma-util" }
ergotree-ir = { version = "^0.7.0", path = "../ergotree-ir" }
ergotree-interpreter = { version = "^0.7.0", path = "../ergotree-interpreter" }
ergoscript-compiler = { version = "^0.3.0", path = "../ergoscript-compiler" , optional = true}
indexmap = "1.3.2"
base16 = "0.2.1"
k256 = {version = "0.4.2", features = ["rand", "zeroize"]}
elliptic-curve = {version = "0.5.0", features = ["rand", "zeroize"]}
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = "1.0"
thiserror = "1"
num-bigint = "0.3.0"
rand = "0.7"
lazy_static = "1.4"
derive_more = "0.99"
impl-trait-for-tuples = "0.2.0"
num = "0.3.1"

[features]
default = ["json", "compiler"]
json = ["serde"]
compiler = ["ergoscript-compiler"]

[dev-dependencies]
wasm-bindgen-test = "0.3.10"
proptest-derive = "0.3.0"
rand = "0.7.3"
ergotree-ir = { version = "^0.7.0", path = "../ergotree-ir", features = ["arbitrary"] }
ergotree-interpreter = { version = "^0.7.0", path = "../ergotree-interpreter", features = ["arbitrary"] }
sigma-test-util = { version = "0.2.0", path = "../sigma-test-util" }

[dev-dependencies.proptest]
# wasm support, via https://altsysrq.github.io/proptest-book/proptest/wasm.html
version = "1.0.0"
# The default feature set includes things like process forking which are not
# supported in Web Assembly.
default-features = false
# Enable using the `std` crate.
features = ["std"]
