forked from bitcoindevkit/bdk-cli
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Cargo.toml
99 lines (85 loc) · 3.75 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
[package]
name = "bdk-cli"
version = "0.27.1"
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.27.1", default-features = false, features = ["all-keys"] }
bdk-macros = "0.6"
clap = { version = "3.2.22", features = ["derive"] }
serde_json = "1.0"
log = "0.4"
zeroize = "<1.4.0"
dirs-next = "2.0"
env_logger = "0.7"
base64 = "^0.13"
# 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.27.1", optional = true }
electrsd = { version= "0.22", 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" }
getrandom = "0.2"
# zip is used by electrsd and versions after 0.6.3 don't work with our MSRV 1.57.0
zip = { version = "=0.6.3", optional = true }
[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"]
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"]
# Compact Filters are temporarily diabled to avoid rockdb vulnerability.
# Ref: https://github.com/bitcoindevkit/bdk-cli/issues/112
#compact_filters = ["bdk/compact_filters"]
# Use this to consensus verify transactions at sync time
verify = ["bdk/verify"]
# Use hardware wallets to sign transactions
hardware-signer = ["bdk/hardware-signer"]
# 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", "zip"]
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"]
# This feature is used to run `cargo check` in our CI targeting wasm. It's not recommended
# for libraries to explicitly include the "getrandom/js" feature, so we only do it when
# necessary for running our CI. See: https://docs.rs/getrandom/0.2.8/getrandom/#webassembly-support
dev-getrandom-wasm = ["getrandom/js"]