From 99afde86c45d30657d9e568b09dd92d40b2adfa9 Mon Sep 17 00:00:00 2001 From: valued mammal Date: Fri, 17 Jan 2025 09:33:16 -0500 Subject: [PATCH] amends --- .github/workflows/cont_integration.yml | 10 ++++------ README.md | 27 ++++++++++++++++++-------- ci/pin-msrv.sh | 2 ++ crates/chain/Cargo.toml | 2 +- crates/electrum/README.md | 8 ++++++++ crates/testenv/Cargo.toml | 1 + 6 files changed, 35 insertions(+), 15 deletions(-) diff --git a/.github/workflows/cont_integration.yml b/.github/workflows/cont_integration.yml index e0e6c7b08d..37c1879e9b 100644 --- a/.github/workflows/cont_integration.yml +++ b/.github/workflows/cont_integration.yml @@ -65,12 +65,10 @@ jobs: - name: Pin dependencies for MSRV if: matrix.rust.version == '1.63.0' run: ./ci/pin-msrv.sh - - name: Test chain - if: matrix.rust.version != '1.63.0' - run: cargo test -p bdk_chain ${{ matrix.features }} - - name: Test lib + - name: Test library run: cargo test -p bdk_bitcoind_rpc ${{ matrix.features }} -- --test-threads=2 - run: cargo test -p bdk_core ${{ matrix.features }} + - run: cargo test -p bdk_chain ${{ matrix.features }} - run: cargo test -p bdk_esplora ${{ matrix.features }} -- --test-threads=2 - run: cargo test -p bdk_file_store ${{ matrix.features }} - run: cargo test -p bdk_testenv ${{ matrix.features }} -- --test-threads=2 @@ -112,7 +110,7 @@ jobs: uses: dtolnay/rust-toolchain@v1 with: toolchain: ${{ needs.prepare.outputs.rust_version }} - # targets: "thumbv6m-none-eabi" + # target: "thumbv6m-none-eabi" - name: Rust Cache uses: Swatinem/rust-cache@v2.7.5 - name: Check bdk_chain @@ -189,7 +187,7 @@ jobs: build-examples: needs: prepare - name: Build Examples + name: Build & Test Examples runs-on: ubuntu-latest strategy: matrix: diff --git a/README.md b/README.md index 40938db95c..5b74531b55 100644 --- a/README.md +++ b/README.md @@ -63,15 +63,26 @@ Fully working examples of how to use these components are in `/example-crates`: [`bdk_chain`]: https://docs.rs/bdk-chain/ ## Minimum Supported Rust Version (MSRV) -The bdk core library maintains an MSRV of 1.63.0. This includes `bdk_core`, `bdk_chain`, and `bdk_wallet`. +The BDK core library maintains a MSRV of 1.63.0. This includes `bdk_core`, `bdk_chain`, and `bdk_wallet`. -The MSRV of `bdk_electrum` and `bdk_esplora` is 1.75.0 - -Our policy regarding MSRV is: - -1. We guarantee that a crate or library builds on a particular version of Rust -2. We do not guarantee that the MSRV will stay consistent between minor versions -3. We make no guarantees with respect to the MSRV of example crates, crates designed for testing and development, or deprecated or experimental projects. +The MSRV of `bdk_electrum` is 1.75.0. + +To build with the MSRV you will need to pin dependencies as follows: + +```shell +cargo update -p zstd-sys --precise "2.0.8+zstd.1.5.5" +cargo update -p time --precise "0.3.20" +cargo update -p home --precise "0.5.5" +cargo update -p proptest --precise "1.2.0" +cargo update -p url --precise "2.5.0" +cargo update -p cc --precise "1.0.105" +cargo update -p tokio --precise "1.38.1" +cargo update -p tokio-util --precise "0.7.11" +cargo update -p indexmap --precise "2.5.0" +cargo update -p security-framework-sys --precise "2.11.1" +cargo update -p csv --precise "1.3.0" +cargo update -p unicode-width --precise "0.1.13" +``` ## License diff --git a/ci/pin-msrv.sh b/ci/pin-msrv.sh index 39fd58f45c..bf0d86524e 100755 --- a/ci/pin-msrv.sh +++ b/ci/pin-msrv.sh @@ -20,3 +20,5 @@ cargo update -p tokio --precise "1.38.1" cargo update -p tokio-util --precise "0.7.11" cargo update -p indexmap --precise "2.5.0" cargo update -p security-framework-sys --precise "2.11.1" +cargo update -p csv --precise "1.3.0" +cargo update -p unicode-width --precise "0.1.13" diff --git a/crates/chain/Cargo.toml b/crates/chain/Cargo.toml index 36c6b4d491..baa6c27418 100644 --- a/crates/chain/Cargo.toml +++ b/crates/chain/Cargo.toml @@ -28,7 +28,7 @@ rusqlite = { version = "0.31.0", features = ["bundled"], optional = true } rand = "0.8" proptest = "1.2.0" bdk_testenv = { path = "../testenv", default-features = false } -criterion = { version = "0.5" } +criterion = { version = "0.2" } [features] default = ["std", "miniscript"] diff --git a/crates/electrum/README.md b/crates/electrum/README.md index 1bafe04eb4..efe7109cbe 100644 --- a/crates/electrum/README.md +++ b/crates/electrum/README.md @@ -3,5 +3,13 @@ BDK Electrum extends [`electrum-client`] to update [`bdk_chain`] structures from an Electrum server. +## Minimum Supported Rust Version (MSRV) +This crate has a MSRV of 1.75.0. + +To build with MSRV you will need to pin dependencies as follows: +```shell +cargo update -p home --precise "0.5.9" +``` + [`electrum-client`]: https://docs.rs/electrum-client/ [`bdk_chain`]: https://docs.rs/bdk-chain/ diff --git a/crates/testenv/Cargo.toml b/crates/testenv/Cargo.toml index 9174709409..48f4d242c2 100644 --- a/crates/testenv/Cargo.toml +++ b/crates/testenv/Cargo.toml @@ -2,6 +2,7 @@ name = "bdk_testenv" version = "0.11.1" edition = "2021" +rust-version = "1.63" homepage = "https://bitcoindevkit.org" repository = "https://github.com/bitcoindevkit/bdk" documentation = "https://docs.rs/bdk_testenv"