Skip to content

Commit

Permalink
Better no-std support and bump esplora-client to 0.4
Browse files Browse the repository at this point in the history
- Use `default-features = false` for `miniscript` and `bitcoin`
- Introduce `std` & `no-std` features
- Bump `esplora-client` to 0.4
  • Loading branch information
notmandatory committed Apr 3, 2023
1 parent 5a090fa commit 72b5f96
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 14 deletions.
12 changes: 4 additions & 8 deletions crates/bdk/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ rust-version = "1.57"
[dependencies]
log = "^0.4"
rand = "^0.8"
miniscript = { version = "9", features = ["serde"] }
bitcoin = { version = "0.29", features = ["serde", "base64", "rand"] }
miniscript = { version = "9", features = ["serde"], default-features = false }
bitcoin = { version = "0.29", features = ["serde", "base64", "rand"], default-features = false }
serde = { version = "^1.0", features = ["derive"] }
serde_json = { version = "^1.0" }
bdk_chain = { path = "../chain", version = "0.4.0", features = ["miniscript", "serde"] }
bdk_chain = { path = "../chain", version = "0.4.0", features = ["miniscript", "serde"], default-features = false }

# Optional dependencies
hwi = { version = "0.5", optional = true, features = [ "use-miniscript"] }
Expand All @@ -29,17 +29,15 @@ bip39 = { version = "1.0.1", optional = true }
getrandom = "0.2"
js-sys = "0.3"


[features]
default = ["std"]
std = []
std = ["bitcoin/std", "miniscript/std", "bdk_chain/std"]
compiler = ["miniscript/compiler"]
all-keys = ["keys-bip39"]
keys-bip39 = ["bip39"]
hardware-signer = ["hwi"]
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
Expand All @@ -52,12 +50,10 @@ env_logger = "0.7"
base64 = "^0.13"
assert_matches = "1.5.0"


[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]


[[example]]
name = "mnemonic_to_descriptors"
path = "examples/mnemonic_to_descriptors.rs"
Expand Down
10 changes: 5 additions & 5 deletions crates/chain/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,18 @@ readme = "README.md"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
bitcoin = { version = "0.29" }
bitcoin = { version = "0.29", default-features = false }
serde_crate = { package = "serde", version = "1", optional = true, features = ["derive"] }

# Use hashbrown as a feature flag to have HashSet and HashMap from it.
# note version 0.13 breaks outs MSRV.
hashbrown = { version = "0.12", optional = true, features = ["serde"] }
miniscript = { version = "9.0.0", optional = true }
hashbrown = { version = "0.12", optional = true, features = ["serde"] }
miniscript = { version = "9.0.0", optional = true, default-features = false }

[dev-dependencies]
rand = "0.8"

[features]
default = ["std", "miniscript"]
std = []
default = ["std"]
std = ["bitcoin/std"]
serde = ["serde_crate", "bitcoin/serde" ]
2 changes: 1 addition & 1 deletion crates/esplora/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ readme = "README.md"

[dependencies]
bdk_chain = { path = "../chain", version = "0.4.0", features = ["serde", "miniscript"] }
esplora-client = { version = "0.3", default-features = false }
esplora-client = { version = "0.4", default-features = false }
async-trait = { version = "0.1.66", optional = true }
futures = { version = "0.3.26", optional = true }

Expand Down
2 changes: 2 additions & 0 deletions crates/esplora/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ mod async_ext;
#[cfg(feature = "async")]
pub use async_ext::*;

// this is to avoid warnings when no feature flags are enabled
#[allow(dead_code)]
pub(crate) fn map_confirmation_time(
tx_status: &TxStatus,
height_at_start: u32,
Expand Down

0 comments on commit 72b5f96

Please sign in to comment.