Documentation
[workspace]
default-members = [".", "rpc", "cli"]
members = [".", "rpc", "cli"]

[package]
name = "rgb_node"
description = "RGB node"
version = "0.9.2"
authors = ["Dr. Maxim Orlovsky <orlovsky@lnp-bp.org>"]
license = "MIT"
keywords = ["bitcoin", "node", "layer-2", "smart-contracts", "rgb"]
categories = ["network-programming"]
edition = "2021"
rust-version = "1.59.0"
readme = "README.md"
build = "build.rs"
exclude = [".github", "Dockerfile", ".dockerignore", "contrib", "doc"]

[lib]
name = "rgb_node"

[[bin]]
name = "rgbd"
required-features = ["server"]

[[bin]]
name = "bucketd"
required-features = ["server"]

[dependencies]
# LNP/BP crates
amplify = "3.13.0"
strict_encoding = "~0.9.0"
stens = "0.9.0"
commit_verify = "~0.9.0"
internet2 = { version = "0.9.0", features = ["keygen", "zmq"] }
microservices = { version = "0.9.0", default-features = false, features = ["node"] }
lnpbp = "0.9.0"
bp-core = { version = "0.9.0", features = ["psbt"] }
lnp-core = { version = "0.9.1", features = ["bifrost"] }
lnp_rpc = "0.9.1"
rgb-std = "0.9.0"
rgb_rpc = { version = "0.9.1", path = "./rpc" }
storm-core = "0.9.0"
storm_ext = "0.9.0"
storm_rpc = "0.9.0"
store_rpc = "0.9.0"
bitcoin = "0.29.2"
psbt = "0.9.0"
electrum-client = "0.12.0"
# OS
log = { version = "0.4", features = ["max_level_trace", "release_max_level_debug"] }
env_logger = "0.7"
clap = { version = "~3.2.23", optional = true, features = ["env", "derive"] }
configure_me = { version = "0.4", optional = true }
colored = "2.0.0"
shellexpand = { version = "2.1", optional = true }

[build-dependencies]
amplify = "3.13.0"
internet2 = "0.9.0"
microservices = { version = "0.9.0", default-features = false }
lnpbp = "0.9.0"
psbt = "0.9.0"
rgb-std = "0.9.0"
rgb_rpc = { version = "0.9.1", path = "./rpc" }
storm_ext = "0.9.0"
store_rpc = "0.9.0"
clap = { version = "~3.2.23", features = ["env"] }
clap_complete = "~3.2.5"
log = { version = "0.4", features = ["max_level_trace", "release_max_level_debug"] }
shellexpand = "2.1"
configure_me_codegen = "0.4"

[features]
default = ["server"]

# Server is a standalone application that runs daemons.
# Required for all apps that can be launched from command-line shell as binaries
# (i.e. both servers and cli)
server = ["microservices/server", "microservices/cli", "clap", "configure_me",
          "amplify/parse_arg", "shellexpand"]
# Embedded is an app that contains embedded node and that talks to it through
# integration layer
embedded = ["microservices/embedded"]

[package.metadata.configure_me]
spec = "config_spec.toml"

[package.metadata.docs.rs]
all-features = true
rustc-args = ["--cfg", "docsrs"]