[package] name = "bdk" version = "0.27.1" edition = "2018" authors = ["Alekos Filini ", "Riccardo Casatta "] homepage = "https://bitcoindevkit.org" repository = "https://github.com/bitcoindevkit/bdk" documentation = "https://docs.rs/bdk" description = "A modern, lightweight, descriptor-based wallet library" keywords = ["bitcoin", "wallet", "descriptor", "psbt"] readme = "README.md" license = "MIT OR Apache-2.0" # TODO: remove this when examples all work autoexamples = false [dependencies] log = "^0.4" miniscript = { version = "9", features = ["serde"] } bitcoin = { version = "0.29", features = ["serde", "base64", "rand"] } serde = { version = "^1.0", features = ["derive"] } serde_json = { version = "^1.0" } bdk_chain = { version = "0.1", features = ["miniscript", "serde"] } rand = "^0.8" # Optional dependencies hwi = { version = "0.5", optional = true, features = [ "use-miniscript"] } bip39 = { version = "1.0.1", optional = true } # Platform-specific dependencies [target.'cfg(not(target_arch = "wasm32"))'.dependencies] tokio = { version = "1", features = ["rt", "macros"] } [target.'cfg(target_arch = "wasm32")'.dependencies] getrandom = "0.2" js-sys = "0.3" [features] default = ["std"] std = [] file-store = [ "std", "bdk_chain/file_store"] compiler = ["miniscript/compiler"] all-keys = ["keys-bip39"] keys-bip39 = ["bip39"] hardware-signer = ["hwi"] # Debug/Test features test-md-docs = [] test-hardware-signer = ["hardware-signer"] # 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"] [dev-dependencies] lazy_static = "1.4" env_logger = "0.7" # Move back to importing from rust-bitcoin once https://github.com/rust-bitcoin/rust-bitcoin/pull/1342 is released base64 = "^0.13" assert_matches = "1.5.0" # zip versions after 0.6.3 don't work with our MSRV 1.57.0 zip = "=0.6.3" [[example]] name = "miniscriptc" path = "examples/compiler.rs" required-features = ["compiler"] [[example]] name = "policy" path = "examples/policy.rs" required-features = ["std"] [[example]] name = "mnemonic_to_descriptors" path = "examples/mnemonic_to_descriptors.rs" required-features = ["all-keys"] [workspace] members = ["bdk_test_client"] [package.metadata.docs.rs] all-feautres = true # defines the configuration attribute `docsrs` rustdoc-args = ["--cfg", "docsrs"]