[package] name = "magical-bitcoin-wallet" version = "0.1.0" edition = "2018" authors = ["Alekos Filini ", "Riccardo Casatta "] [dependencies] magical-macros = { path = "./macros" } log = "^0.4" bitcoin = { version = "0.23", features = ["use-serde"] } miniscript = { version = "1.0" } serde = { version = "^1.0", features = ["derive"] } serde_json = { version = "^1.0" } rand = "^0.7" # Optional dependencies sled = { version = "0.34", optional = true } electrum-client = { version = "0.2.0-beta.1", optional = true } reqwest = { version = "0.10", optional = true, features = ["json"] } futures = { version = "0.3", optional = true } clap = { version = "2.33", optional = true } base64 = { version = "^0.11", optional = true } async-trait = { version = "0.1", optional = true } rocksdb = { version = "0.14", optional = true } socks = { version = "0.3", optional = true } lazy_static = { version = "1.4", optional = true } [patch.crates-io] bitcoin = { git = "https://github.com/rust-bitcoin/rust-bitcoin/", rev = "478e091" } miniscript = { git = "https://github.com/MagicalBitcoin/rust-miniscript", branch = "descriptor-public-key" } # Platform-specific dependencies [target.'cfg(not(target_arch = "wasm32"))'.dependencies] tokio = { version = "0.2", features = ["rt-core"] } [target.'cfg(target_arch = "wasm32")'.dependencies] async-trait = "0.1" js-sys = "0.3" [features] minimal = [] compiler = ["clap", "miniscript/compiler"] default = ["key-value-db", "electrum"] electrum = ["electrum-client"] esplora = ["reqwest", "futures"] compact_filters = ["rocksdb", "socks", "lazy_static"] key-value-db = ["sled"] cli-utils = ["clap", "base64"] async-interface = ["async-trait"] # Debug/Test features debug-proc-macros = ["magical-macros/debug", "testutils-macros/debug"] test-electrum = ["electrum"] [dev-dependencies] testutils = { path = "./testutils" } testutils-macros = { path = "./testutils-macros" } serial_test = "0.4" lazy_static = "1.4" rustyline = "6.0" dirs = "2.0" env_logger = "0.7" rand = "0.7" [[example]] name = "repl" required-features = ["cli-utils"] [[example]] name = "psbt" required-features = ["cli-utils"] [[example]] name = "parse_descriptor" [[example]] name = "miniscriptc" path = "examples/compiler.rs" required-features = ["compiler"] # Provide a more user-friendly alias for the REPL [[example]] name = "magic" path = "examples/repl.rs" required-features = ["cli-utils"] [workspace] members = ["macros", "testutils", "testutils-macros"]