[workspace] members = [".", "slip132", "descriptors", "hd", "psbt", "onchain"] default-members = ["."] exclude = ["contrib", "libbitcoin"] [workspace.package] version = "0.10.2" license = "Apache-2.0" authors = ["Dr. Maxim Orlovsky "] repository = "https://github.com/BP-WG/descriptor-wallet" homepage = "https://lnp-bp.org" categories = ["cryptography::cryptocurrencies", "encoding", "parsing"] readme = "README.md" edition = "2021" rust-version = "1.70.0" # due to clap [workspace.dependencies] amplify = "3.14.2" strict_encoding = "0.9.0" secp256k1 = { version = "0.24.3", features = ["global-context"] } bitcoin = "0.29.2" bitcoin_scripts = "0.10.0" bitcoin_blockchain = "0.10.0" bitcoin_hd = { version = "0.10.2", path = "./hd" } bitcoin_onchain = { version = "0.10.2", path = "./onchain" } descriptors = { version = "0.10.2", path = "./descriptors", default-features = false } psbt = { version = "0.10.2", path = "./psbt", default-features = false } slip132 = { version = "0.10.0", path = "./slip132" } miniscript_crate = { package = "miniscript", version = "9.0.1" } chrono = "0.4.19" [package] name = "descriptor-wallet" version = { workspace = true } license = { workspace = true } authors = { workspace = true } description = "Libraries and command line tool for building descriptor-based bitcoin wallets" repository = { workspace = true } homepage = { workspace = true } keywords = ["bitcoin", "wallet", "cryptocurrency", "descriptor", "miniscript"] categories = { workspace = true } readme = { workspace = true } edition = { workspace = true } rust-version = { workspace = true } exclude = [".github", "contrib", "slip132", "libbitcoin", "descriptors", "scripts", "hd", "psbt"] [lib] name = "wallet" path = "src/lib.rs" crate-type = ["rlib", "staticlib"] [[bin]] name = "btc-hot" required-features = ["hot", "cli"] [[bin]] name = "btc-cold" required-features = ["cli"] [[bin]] name = "btc-expl" required-features = ["cli", "compiler"] [dependencies] amplify = { workspace = true } strict_encoding_crate = { package = "strict_encoding", version = "0.9.0", features = ["bitcoin", "derive"], optional = true } bitcoin = { workspace = true } bitcoin_scripts = { workspace = true } bitcoin_blockchain = { workspace = true } bitcoin_hd = { workspace = true } bitcoin_onchain = { workspace = true } descriptors = { workspace = true } psbt = { workspace = true } slip132 = { workspace = true } miniscript_crate = { workspace = true, optional = true } bitcoin_hwi = { version = "0.4.1", optional = true } electrum-client = { version = "0.14.0", optional = true } serde_crate = { package = "serde", version = "1", features = ["derive"], optional = true } serde_with = { version = "2.3", features = ["hex"], optional = true } serde_yaml = { version = "0.9", optional = true } chrono = { workspace = true } clap = { version = "4.1.13", optional = true, features = ["derive"] } bip39 = { version = "2.0.0", optional = true } aes = { version = "0.8.2", optional = true } rpassword = { version = "7.2.0", optional = true } colored = { version = "2", optional = true } [dev-dependencies] bitcoin = { version = "0.29.2", features = ["rand"] } [features] default = [] all = [ "mobile", "miniscript", "electrum", "strict_encoding", "keygen", "construct", "compiler", "sign", "hwi", "hot", "cli", "serde", ] mobile = ["miniscript", "compiler", "electrum", "strict_encoding", "hot", "construct"] miniscript = [ "strict_encoding_crate/miniscript", "bitcoin_hd/miniscript", "bitcoin_onchain/miniscript_descriptors", "descriptors/miniscript", "psbt/miniscript", ] compiler = ["miniscript", "miniscript_crate/compiler"] electrum = [ "electrum-client", "bitcoin_onchain/electrum" ] strict_encoding = [ "slip132/strict_encoding" ] sign = ["psbt/sign"] construct = ["psbt/construct"] hot = [ "keygen", "bip39", "aes", "rpassword", "sign" ] cli = [ "hwi", "electrum", "construct", "miniscript", "miniscript_crate", "strict_encoding", "strict_encoding_crate", "serde", "colored", "clap", "serde_yaml", "bitcoin/base64" ] hwi = ["bitcoin_hwi"] keygen = ["bitcoin/rand", "amplify/rand", "descriptors/rand"] serde = [ "slip132/serde", "bitcoin_onchain/serde", "bitcoin_hd/serde", "psbt/serde", "descriptors/serde" ]