diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 966cc8da..162cd813 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: 1.56.1 + toolchain: 1.60.0 override: true - name: Run tests uses: actions-rs/cargo@v1 @@ -30,7 +30,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: 1.56.1 + toolchain: 1.60.0 override: true # Build benchmarks to prevent bitrot - name: Build benchmarks @@ -46,7 +46,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: 1.56.1 + toolchain: 1.60.0 override: true - name: Setup mdBook uses: peaceiris/actions-mdbook@v1 @@ -89,7 +89,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: 1.56.1 + toolchain: 1.60.0 override: true - name: cargo fetch uses: actions-rs/cargo@v1 @@ -112,7 +112,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: 1.56.1 + toolchain: 1.60.0 override: true - run: rustup component add rustfmt - uses: actions-rs/cargo@v1 diff --git a/.github/workflows/lints-stable.yml b/.github/workflows/lints-stable.yml index 242041e8..69d6e15c 100644 --- a/.github/workflows/lints-stable.yml +++ b/.github/workflows/lints-stable.yml @@ -5,19 +5,19 @@ on: pull_request jobs: clippy: - name: Clippy (1.56.1) + name: Clippy (1.60.0) timeout-minutes: 30 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: - toolchain: 1.56.1 + toolchain: 1.60.0 components: clippy override: true - name: Run Clippy uses: actions-rs/clippy-check@v1 with: - name: Clippy (1.56.1) + name: Clippy (1.60.0) token: ${{ secrets.GITHUB_TOKEN }} args: --all-features --all-targets -- -D warnings diff --git a/CHANGELOG.md b/CHANGELOG.md index a553528a..bd61c977 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to Rust's notion of - `OutputError` ### Changed +- MSRV is now 1.60.0. - `orchard::builder`: - `Builder::{add_spend, add_output}` now use concrete error types instead of `&'static str`s. diff --git a/Cargo.toml b/Cargo.toml index 813b0aee..61c12692 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ authors = [ "Kris Nuttycombe ", ] edition = "2021" -rust-version = "1.56.1" +rust-version = "1.60" description = "The Orchard shielded transaction protocol" license-file = "LICENSE-BOSL" repository = "https://github.com/zcash/orchard" @@ -48,6 +48,7 @@ incrementalmerkletree = "0.3" tracing = "0.1" # Developer tooling dependencies +image = { version = ">= 0.24, < 0.24.5", optional = true } # 0.24.5 has MSRV 1.61 plotters = { version = "0.3.0", optional = true } [dev-dependencies] @@ -58,13 +59,14 @@ proptest = "1.0.0" zcash_note_encryption = { version = "0.2", features = ["pre-zip-212"] } [target.'cfg(unix)'.dev-dependencies] +inferno = ">= 0.11, < 0.11.15" pprof = { version = "0.9", features = ["criterion", "flamegraph"] } # MSRV 1.56 [lib] bench = false [features] -dev-graph = ["halo2_proofs/dev-graph", "plotters"] +dev-graph = ["halo2_proofs/dev-graph", "image", "plotters"] test-dependencies = ["proptest"] [[bench]] diff --git a/README.md b/README.md index 12b74651..babbd341 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # orchard [![Crates.io](https://img.shields.io/crates/v/orchard.svg)](https://crates.io/crates/orchard) # -Requires Rust 1.56.1+. +Requires Rust 1.60+. ## Documentation diff --git a/rust-toolchain b/rust-toolchain deleted file mode 100644 index 43c989b5..00000000 --- a/rust-toolchain +++ /dev/null @@ -1 +0,0 @@ -1.56.1 diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 00000000..e06e5ca5 --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,3 @@ +[toolchain] +channel = "1.60.0" +components = [ "clippy", "rustfmt" ] diff --git a/src/builder.rs b/src/builder.rs index 2ccc3058..0f95fb3b 100644 --- a/src/builder.rs +++ b/src/builder.rs @@ -49,7 +49,7 @@ impl Display for BuildError { use BuildError::*; match self { MissingSignatures => f.write_str("Required signatures were missing during build"), - Proof(e) => f.write_str(&format!("Could not create proof: {}", e.to_string())), + Proof(e) => f.write_str(&format!("Could not create proof: {}", e)), ValueSum(_) => f.write_str("Overflow occurred during value construction"), InvalidExternalSignature => f.write_str("External signature was invalid"), DuplicateSignature => f.write_str("Signature valid for more than one input"),