bdk-cli 0.6.0

An experimental CLI wallet application and playground, powered by BDK
[package]
name = "bdk-cli"
version = "0.6.0"
edition = "2018"
authors = ["Alekos Filini <alekos.filini@gmail.com>", "Riccardo Casatta <riccardo@casatta.it>", "Steve Myers <steve@notmandatory.org>"]
homepage = "https://bitcoindevkit.org"
repository = "https://github.com/bitcoindevkit/bdk-cli"
documentation = "https://docs.rs/bdk-cli"
description = "An experimental CLI wallet application and playground, powered by BDK"
keywords = ["bitcoin", "wallet", "descriptor", "psbt", "taproot"]
readme = "README.md"
license = "MIT"

[dependencies]
bdk = { version = "0.22", default-features = false, features = ["all-keys"]}
bdk-macros = "0.6"
structopt = "0.3"
serde_json = "1.0"
log = "0.4"
zeroize = "<1.4.0"
dirs-next = "2.0"
env_logger = "0.7"

# Optional dependencies
rustyline = { version = "~9.0", optional = true }
fd-lock = { version = "=3.0.2", optional = true }
regex = { version = "1", optional = true }
bdk-reserves = { version = "0.22", optional = true }
electrsd = { version= "0.19", features = ["bitcoind_22_0"], optional = true}

# Platform-specific dependencies
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = { version = "=0.2.79", features = ["serde-serialize"] }
wasm-bindgen-futures = { version = "0.4" }
js-sys = "=0.3.56"
wasm-logger = "0.2.0"
secp256k1 = { version = "0.22.0", default-features = false }
rand = { version = "^0.6", features = ["wasm-bindgen"] }
serde = { version = "^1.0", features = ["derive"] }
regex = { version = "1" }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { version = "1", features = ["rt", "macros", "rt-multi-thread"] }

[features]
default = ["repl", "sqlite-db"]

# To use the app in a REPL mode
repl = ["regex", "rustyline", "fd-lock"]

# Available database options
key-value-db = ["bdk/key-value-db"]
sqlite-db = ["bdk/sqlite"]

# Available blockchain client options
rpc = ["bdk/rpc"]
electrum = ["bdk/electrum"]
compact_filters = ["bdk/compact_filters"]
esplora = []
esplora-ureq = ["esplora", "bdk/use-esplora-ureq"]
async-interface = ["bdk/async-interface"]
esplora-reqwest = ["esplora", "bdk/use-esplora-reqwest", "bdk/reqwest-default-tls", "async-interface"]

# Use this to consensus verify transactions at sync time
verify = ["bdk/verify"]

# Extra utility tools
# Compile policies
compiler = ["bdk/compiler"]
# Create/Verify proof of reserves as per BIP322
reserves = ["bdk-reserves"]

# Following features auto deploys a regtest node in the background.
# Connects the bdk wallet with that node.
# And allows a new `bdk-cli node <command>` to operate the background node.
#
# This is most useful for integrations testing as well as quick demo testing
# by devs using bdk and various types of background nodes.
regtest-node = ["electrsd"]
regtest-bitcoin = ["regtest-node" , "rpc"]
regtest-electrum = ["regtest-node", "electrum", "electrsd/electrs_0_8_10"]
#TODO: Check why esplora in electrsd isn't working.
#regtest-esplora-ureq = ["regtest-node", "esplora-ureq", "electrsd/esplora_a33e97e1"]
#regtest-esplora-reqwest = ["regtest-node", "esplora-reqwest", "electrsd/esplora_a33e97e1"]