diff --git a/.github/workflows/ci-basic.yml b/.github/workflows/ci-basic.yml index 1d273173929..31000553d65 100644 --- a/.github/workflows/ci-basic.yml +++ b/.github/workflows/ci-basic.yml @@ -42,7 +42,23 @@ jobs: - name: Run format check run: cargo fmt -- --check - name: Run clippy - run: cargo clippy --workspace --no-deps --all-features --all-targets --locked -- -D warnings + run: | + # After upgrading from Rust 1.82 to 1.85.1, Clippy started failing on new lints in upstream + # code we don’t want to patch here (and may already be fixed upstream). To avoid carrying + # fixes and merge conflicts, we allow these lints only for the affected crates for now. + # TODO: remove this comment and these Clippy exceptions after syncing with updated upstream. + cargo clippy --workspace --no-deps --all-features --all-targets --locked -- \ + -D warnings \ + -A elided_named_lifetimes \ + -A missing_docs \ + -A non_local_definitions \ + -A clippy::needless_lifetimes \ + -A clippy::needless_return \ + -A clippy::unnecessary_lazy_evaluations \ + -A clippy::unnecessary_map_or \ + -A clippy::needless_as_bytes \ + -A clippy::useless_conversion + - name: Show system resource summary run: | df -h diff --git a/Cargo.lock b/Cargo.lock index 29530543715..6287d6b2859 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -339,12 +339,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - [[package]] name = "base64" version = "0.11.0" @@ -501,13 +495,13 @@ dependencies = [ [[package]] name = "blake2b_simd" -version = "1.0.2" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" +checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq", + "constant_time_eq 0.2.6", ] [[package]] @@ -518,7 +512,7 @@ checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" dependencies = [ "arrayref", "arrayvec", - "constant_time_eq", + "constant_time_eq 0.3.0", ] [[package]] @@ -954,6 +948,12 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "constant_time_eq" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6" + [[package]] name = "constant_time_eq" version = "0.3.0" @@ -1079,18 +1079,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array", - "rand_core 0.6.4", - "subtle", - "zeroize", -] - [[package]] name = "crypto-common" version = "0.1.6" @@ -1245,7 +1233,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", - "const-oid", "crypto-common 0.1.6", ] @@ -1296,18 +1283,6 @@ version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest 0.10.7", - "elliptic-curve", - "signature", -] - [[package]] name = "ed25519" version = "2.2.3" @@ -1361,24 +1336,6 @@ dependencies = [ "void", ] -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest 0.10.7", - "ff", - "generic-array", - "group", - "rand_core 0.6.4", - "sec1", - "subtle", - "zeroize", -] - [[package]] name = "encode_unicode" version = "0.3.6" @@ -1413,7 +1370,7 @@ dependencies = [ [[package]] name = "equihash" version = "0.2.2" -source = "git+https://github.com/QED-it/librustzcash?rev=e27124a49a0e549227e12adf13e42f88593f1dee#e27124a49a0e549227e12adf13e42f88593f1dee" +source = "git+https://github.com/QED-it/librustzcash?rev=87e0128f3f35bcdd6fddac5c2de22b81d869d51a#87e0128f3f35bcdd6fddac5c2de22b81d869d51a" dependencies = [ "blake2b_simd", "core2", @@ -1449,7 +1406,7 @@ dependencies = [ [[package]] name = "f4jumble" version = "0.1.1" -source = "git+https://github.com/QED-it/librustzcash?rev=e27124a49a0e549227e12adf13e42f88593f1dee#e27124a49a0e549227e12adf13e42f88593f1dee" +source = "git+https://github.com/QED-it/librustzcash?rev=87e0128f3f35bcdd6fddac5c2de22b81d869d51a#87e0128f3f35bcdd6fddac5c2de22b81d869d51a" dependencies = [ "blake2b_simd", ] @@ -1665,7 +1622,6 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", - "zeroize", ] [[package]] @@ -1803,8 +1759,9 @@ dependencies = [ [[package]] name = "halo2_gadgets" -version = "0.3.1" -source = "git+https://github.com/zcash/halo2?rev=2308caf68c48c02468b66cfc452dad54e355e32f#2308caf68c48c02468b66cfc452dad54e355e32f" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45824ce0dd12e91ec0c68ebae2a7ed8ae19b70946624c849add59f1d1a62a143" dependencies = [ "arrayvec", "bitvec", @@ -2486,19 +2443,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "k256" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" -dependencies = [ - "cfg-if 1.0.0", - "ecdsa", - "elliptic-curve", - "sha2 0.10.8", - "signature", -] - [[package]] name = "known-folders" version = "1.1.0" @@ -2950,7 +2894,7 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orchard" version = "0.11.0" -source = "git+https://github.com/QED-it/orchard?rev=2083efe8d57e6073914ae296db2d41f8bfe1de50#2083efe8d57e6073914ae296db2d41f8bfe1de50" +source = "git+https://github.com/QED-it/orchard?rev=382f31921f0382743a9d96ae6a0003a28ab5dc5c#382f31921f0382743a9d96ae6a0003a28ab5dc5c" dependencies = [ "aes", "bitvec", @@ -2965,7 +2909,6 @@ dependencies = [ "halo2_proofs", "hex", "incrementalmerkletree", - "k256", "lazy_static", "memuse", "nonempty 0.11.0", @@ -2974,6 +2917,7 @@ dependencies = [ "rand 0.8.5", "rand_core 0.6.4", "reddsa", + "secp256k1 0.29.1", "serde", "sinsemilla", "subtle", @@ -4050,19 +3994,6 @@ dependencies = [ "untrusted", ] -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array", - "subtle", - "zeroize", -] - [[package]] name = "secp256k1" version = "0.27.0" @@ -4079,6 +4010,7 @@ version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113" dependencies = [ + "rand 0.8.5", "secp256k1-sys 0.10.1", ] @@ -4425,7 +4357,6 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest 0.10.7", "rand_core 0.6.4", ] @@ -5928,7 +5859,7 @@ checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546" [[package]] name = "zcash_address" version = "0.9.0" -source = "git+https://github.com/QED-it/librustzcash?rev=e27124a49a0e549227e12adf13e42f88593f1dee#e27124a49a0e549227e12adf13e42f88593f1dee" +source = "git+https://github.com/QED-it/librustzcash?rev=87e0128f3f35bcdd6fddac5c2de22b81d869d51a#87e0128f3f35bcdd6fddac5c2de22b81d869d51a" dependencies = [ "bech32", "bs58", @@ -5941,7 +5872,7 @@ dependencies = [ [[package]] name = "zcash_client_backend" version = "0.20.0" -source = "git+https://github.com/QED-it/librustzcash?rev=e27124a49a0e549227e12adf13e42f88593f1dee#e27124a49a0e549227e12adf13e42f88593f1dee" +source = "git+https://github.com/QED-it/librustzcash?rev=87e0128f3f35bcdd6fddac5c2de22b81d869d51a#87e0128f3f35bcdd6fddac5c2de22b81d869d51a" dependencies = [ "base64 0.22.1", "bech32", @@ -5983,7 +5914,7 @@ dependencies = [ [[package]] name = "zcash_encoding" version = "0.3.0" -source = "git+https://github.com/QED-it/librustzcash?rev=e27124a49a0e549227e12adf13e42f88593f1dee#e27124a49a0e549227e12adf13e42f88593f1dee" +source = "git+https://github.com/QED-it/librustzcash?rev=87e0128f3f35bcdd6fddac5c2de22b81d869d51a#87e0128f3f35bcdd6fddac5c2de22b81d869d51a" dependencies = [ "core2", "nonempty 0.11.0", @@ -5992,7 +5923,7 @@ dependencies = [ [[package]] name = "zcash_history" version = "0.4.0" -source = "git+https://github.com/QED-it/librustzcash?rev=e27124a49a0e549227e12adf13e42f88593f1dee#e27124a49a0e549227e12adf13e42f88593f1dee" +source = "git+https://github.com/QED-it/librustzcash?rev=87e0128f3f35bcdd6fddac5c2de22b81d869d51a#87e0128f3f35bcdd6fddac5c2de22b81d869d51a" dependencies = [ "blake2b_simd", "byteorder", @@ -6002,7 +5933,7 @@ dependencies = [ [[package]] name = "zcash_keys" version = "0.11.0" -source = "git+https://github.com/QED-it/librustzcash?rev=e27124a49a0e549227e12adf13e42f88593f1dee#e27124a49a0e549227e12adf13e42f88593f1dee" +source = "git+https://github.com/QED-it/librustzcash?rev=87e0128f3f35bcdd6fddac5c2de22b81d869d51a#87e0128f3f35bcdd6fddac5c2de22b81d869d51a" dependencies = [ "bech32", "blake2b_simd", @@ -6040,7 +5971,7 @@ dependencies = [ [[package]] name = "zcash_primitives" version = "0.25.0" -source = "git+https://github.com/QED-it/librustzcash?rev=e27124a49a0e549227e12adf13e42f88593f1dee#e27124a49a0e549227e12adf13e42f88593f1dee" +source = "git+https://github.com/QED-it/librustzcash?rev=87e0128f3f35bcdd6fddac5c2de22b81d869d51a#87e0128f3f35bcdd6fddac5c2de22b81d869d51a" dependencies = [ "bip32", "blake2b_simd", @@ -6082,7 +6013,7 @@ dependencies = [ [[package]] name = "zcash_proofs" version = "0.25.0" -source = "git+https://github.com/QED-it/librustzcash?rev=e27124a49a0e549227e12adf13e42f88593f1dee#e27124a49a0e549227e12adf13e42f88593f1dee" +source = "git+https://github.com/QED-it/librustzcash?rev=87e0128f3f35bcdd6fddac5c2de22b81d869d51a#87e0128f3f35bcdd6fddac5c2de22b81d869d51a" dependencies = [ "bellman", "blake2b_simd", @@ -6104,7 +6035,7 @@ dependencies = [ [[package]] name = "zcash_protocol" version = "0.6.2" -source = "git+https://github.com/QED-it/librustzcash?rev=e27124a49a0e549227e12adf13e42f88593f1dee#e27124a49a0e549227e12adf13e42f88593f1dee" +source = "git+https://github.com/QED-it/librustzcash?rev=87e0128f3f35bcdd6fddac5c2de22b81d869d51a#87e0128f3f35bcdd6fddac5c2de22b81d869d51a" dependencies = [ "core2", "document-features", @@ -6148,7 +6079,7 @@ dependencies = [ [[package]] name = "zcash_transparent" version = "0.5.0" -source = "git+https://github.com/QED-it/librustzcash?rev=e27124a49a0e549227e12adf13e42f88593f1dee#e27124a49a0e549227e12adf13e42f88593f1dee" +source = "git+https://github.com/QED-it/librustzcash?rev=87e0128f3f35bcdd6fddac5c2de22b81d869d51a#87e0128f3f35bcdd6fddac5c2de22b81d869d51a" dependencies = [ "bip32", "blake2b_simd", @@ -6690,7 +6621,7 @@ dependencies = [ [[package]] name = "zip321" version = "0.5.0" -source = "git+https://github.com/QED-it/librustzcash?rev=e27124a49a0e549227e12adf13e42f88593f1dee#e27124a49a0e549227e12adf13e42f88593f1dee" +source = "git+https://github.com/QED-it/librustzcash?rev=87e0128f3f35bcdd6fddac5c2de22b81d869d51a#87e0128f3f35bcdd6fddac5c2de22b81d869d51a" dependencies = [ "base64 0.22.1", "nom", diff --git a/Cargo.toml b/Cargo.toml index c6d6f3e6d6a..e2203d62d4b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -108,19 +108,18 @@ lto = "thin" [patch.crates-io] halo2_proofs = { version = "0.3.0", git = "https://github.com/zcash/halo2", rev = "2308caf68c48c02468b66cfc452dad54e355e32f" } -halo2_gadgets = { version = "0.3.0", git = "https://github.com/zcash/halo2", rev = "2308caf68c48c02468b66cfc452dad54e355e32f" } halo2_poseidon = { version = "0.1.0", git = "https://github.com/zcash/halo2", rev = "2308caf68c48c02468b66cfc452dad54e355e32f" } sinsemilla = { git = "https://github.com/zcash/sinsemilla", rev = "aabb707e862bc3d7b803c77d14e5a771bcee3e8c" } zcash_note_encryption = { version = "0.4.1", git = "https://github.com/zcash/zcash_note_encryption", rev = "9f7e93d42cef839d02b9d75918117941d453f8cb" } sapling-crypto = { package = "sapling-crypto", version = "0.5", git = "https://github.com/QED-it/sapling-crypto", rev = "9393f93fe547d1b3738c9f4618c0f8a2fffed29f" } -orchard = { version = "0.11.0", git = "https://github.com/QED-it/orchard", rev = "2083efe8d57e6073914ae296db2d41f8bfe1de50" } -zcash_primitives = { version = "0.25.0", git = "https://github.com/QED-it/librustzcash", rev = "e27124a49a0e549227e12adf13e42f88593f1dee" } -zcash_protocol = { version = "0.6.2", git = "https://github.com/QED-it/librustzcash", rev = "e27124a49a0e549227e12adf13e42f88593f1dee" } -zcash_address = { version = "0.9.0", git = "https://github.com/QED-it/librustzcash", rev = "e27124a49a0e549227e12adf13e42f88593f1dee" } -zcash_encoding = { version = "0.3.0", git = "https://github.com/QED-it/librustzcash", rev = "e27124a49a0e549227e12adf13e42f88593f1dee" } -zcash_history = { version = "0.4.0", git = "https://github.com/QED-it/librustzcash", rev = "e27124a49a0e549227e12adf13e42f88593f1dee" } -zcash_client_backend = { version = "0.20.0", git = "https://github.com/QED-it/librustzcash", rev = "e27124a49a0e549227e12adf13e42f88593f1dee" } -zcash_keys = { version = "0.11.0", git = "https://github.com/QED-it/librustzcash", rev = "e27124a49a0e549227e12adf13e42f88593f1dee" } -zcash_transparent = { version = "0.5.0", git = "https://github.com/QED-it/librustzcash", rev = "e27124a49a0e549227e12adf13e42f88593f1dee" } -zcash_proofs = { version = "0.25.0", git = "https://github.com/QED-it/librustzcash", rev = "e27124a49a0e549227e12adf13e42f88593f1dee" } -equihash = { version = "0.2.2", git = "https://github.com/QED-it/librustzcash", rev = "e27124a49a0e549227e12adf13e42f88593f1dee" } +orchard = { version = "0.11.0", git = "https://github.com/QED-it/orchard", rev = "382f31921f0382743a9d96ae6a0003a28ab5dc5c" } +zcash_primitives = { version = "0.25.0", git = "https://github.com/QED-it/librustzcash", rev = "87e0128f3f35bcdd6fddac5c2de22b81d869d51a" } +zcash_protocol = { version = "0.6.2", git = "https://github.com/QED-it/librustzcash", rev = "87e0128f3f35bcdd6fddac5c2de22b81d869d51a" } +zcash_address = { version = "0.9.0", git = "https://github.com/QED-it/librustzcash", rev = "87e0128f3f35bcdd6fddac5c2de22b81d869d51a" } +zcash_encoding = { version = "0.3.0", git = "https://github.com/QED-it/librustzcash", rev = "87e0128f3f35bcdd6fddac5c2de22b81d869d51a" } +zcash_history = { version = "0.4.0", git = "https://github.com/QED-it/librustzcash", rev = "87e0128f3f35bcdd6fddac5c2de22b81d869d51a" } +zcash_client_backend = { version = "0.20.0", git = "https://github.com/QED-it/librustzcash", rev = "87e0128f3f35bcdd6fddac5c2de22b81d869d51a" } +zcash_keys = { version = "0.11.0", git = "https://github.com/QED-it/librustzcash", rev = "87e0128f3f35bcdd6fddac5c2de22b81d869d51a" } +zcash_transparent = { version = "0.5.0", git = "https://github.com/QED-it/librustzcash", rev = "87e0128f3f35bcdd6fddac5c2de22b81d869d51a" } +zcash_proofs = { version = "0.25.0", git = "https://github.com/QED-it/librustzcash", rev = "87e0128f3f35bcdd6fddac5c2de22b81d869d51a" } +equihash = { version = "0.2.2", git = "https://github.com/QED-it/librustzcash", rev = "87e0128f3f35bcdd6fddac5c2de22b81d869d51a" } diff --git a/rust-toolchain.toml b/rust-toolchain.toml index dd1c8aa4359..8a487d845cb 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ # TODO: Upstream specifies `channel = "stable"` — consider restoring it before final merge. [toolchain] -channel = "1.82.0" +channel = "1.85.1" diff --git a/zebra-chain/Cargo.toml b/zebra-chain/Cargo.toml index f202955e0b4..920b5146948 100644 --- a/zebra-chain/Cargo.toml +++ b/zebra-chain/Cargo.toml @@ -72,7 +72,7 @@ tx_v6 = [ bitvec = "1.0.1" bitflags = "2.5.0" bitflags-serde-legacy = "0.1.1" -blake2b_simd = "1.0.2" +blake2b_simd = "=1.0.1" blake2s_simd = "1.0.2" bridgetree = "0.7.0" bs58 = { version = "0.5.1", features = ["check"] } diff --git a/zebra-chain/src/orchard/commitment.rs b/zebra-chain/src/orchard/commitment.rs index c97e5053f20..2e144cfe43f 100644 --- a/zebra-chain/src/orchard/commitment.rs +++ b/zebra-chain/src/orchard/commitment.rs @@ -236,7 +236,6 @@ impl ValueCommitment { /// Generate a new _ValueCommitment_. /// /// - #[allow(clippy::unwrap_in_result)] pub fn randomized(csprng: &mut T, value: Amount) -> Result where T: RngCore + CryptoRng, @@ -244,14 +243,7 @@ impl ValueCommitment { let rcv = generate_trapdoor(csprng)?; #[cfg(feature = "tx_v6")] - let vc = Self::new( - rcv, - // TODO: Make the `ValueSum::from_raw` function public in the `orchard` crate - // and use `ValueSum::from_raw(value.into())` instead of the next line. - // Remove `#[allow(clippy::unwrap_in_result)]` after doing so. - (ValueSum::default() + i64::from(value)).unwrap(), - AssetBase::native(), - ); + let vc = Self::new(rcv, ValueSum::from_raw(value.into()), AssetBase::native()); #[cfg(not(feature = "tx_v6"))] let vc = Self::new(rcv, value); diff --git a/zebra-chain/src/orchard/shielded_data.rs b/zebra-chain/src/orchard/shielded_data.rs index 2acf2c20519..b591d50d698 100644 --- a/zebra-chain/src/orchard/shielded_data.rs +++ b/zebra-chain/src/orchard/shielded_data.rs @@ -133,10 +133,7 @@ impl ShieldedData { let key = { let cv_balance = ValueCommitment::new( pallas::Scalar::zero(), - // TODO: Make the `ValueSum::from_raw` function public in the `orchard` crate - // and use `ValueSum::from_raw(self.value_balance.into())` instead of the - // next line - (ValueSum::default() + i64::from(self.value_balance)).unwrap(), + ValueSum::from_raw(self.value_balance.into()), AssetBase::native(), ); let burn_value_commitment = compute_burn_value_commitment(self.burn.as_ref()); diff --git a/zebra-chain/src/orchard/shielded_data_flavor.rs b/zebra-chain/src/orchard/shielded_data_flavor.rs index 11ef89df399..20a0b306643 100644 --- a/zebra-chain/src/orchard/shielded_data_flavor.rs +++ b/zebra-chain/src/orchard/shielded_data_flavor.rs @@ -4,12 +4,12 @@ use std::fmt::Debug; use serde::{de::DeserializeOwned, Serialize}; -use orchard::{orchard_flavor::OrchardFlavor, primitives::OrchardPrimitives}; +use orchard::{flavor::OrchardFlavor, primitives::OrchardPrimitives}; -pub use orchard::orchard_flavor::OrchardVanilla; +pub use orchard::flavor::OrchardVanilla; #[cfg(feature = "tx_v6")] -pub use orchard::{note::AssetBase, orchard_flavor::OrchardZSA, value::NoteValue}; +pub use orchard::{flavor::OrchardZSA, note::AssetBase, value::NoteValue}; use crate::serialization::{ZcashDeserialize, ZcashSerialize}; diff --git a/zebra-chain/src/orchard_zsa/arbitrary.rs b/zebra-chain/src/orchard_zsa/arbitrary.rs index 95091114260..7e68d40248b 100644 --- a/zebra-chain/src/orchard_zsa/arbitrary.rs +++ b/zebra-chain/src/orchard_zsa/arbitrary.rs @@ -15,7 +15,7 @@ impl Arbitrary for BurnItem { type Parameters = (); fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy { - BundleArb::::arb_asset_to_burn() + BundleArb::::arb_asset_to_burn() .prop_map(|(asset_base, value)| BurnItem::from((asset_base, value))) .boxed() } diff --git a/zebra-chain/src/orchard_zsa/burn.rs b/zebra-chain/src/orchard_zsa/burn.rs index bc738c2a7ef..e5ae9a37efe 100644 --- a/zebra-chain/src/orchard_zsa/burn.rs +++ b/zebra-chain/src/orchard_zsa/burn.rs @@ -171,7 +171,11 @@ impl ZcashDeserialize for Burn { pub(crate) fn compute_burn_value_commitment(burn: &[BurnItem]) -> ValueCommitment { burn.iter() .map(|&BurnItem(asset, amount)| { - ValueCommitment::new(pallas::Scalar::zero(), amount.into(), asset) + ValueCommitment::new( + pallas::Scalar::zero(), + amount - NoteValue::from_raw(0), + asset, + ) }) .sum() } diff --git a/zebra-chain/src/transaction/tests/vectors.rs b/zebra-chain/src/transaction/tests/vectors.rs index 636813236c6..92268e8db0e 100644 --- a/zebra-chain/src/transaction/tests/vectors.rs +++ b/zebra-chain/src/transaction/tests/vectors.rs @@ -30,8 +30,10 @@ lazy_static! { sapling_shielded_data: None, orchard_shielded_data: None, }; +} - #[cfg(feature = "tx_v6")] +#[cfg(feature = "tx_v6")] +lazy_static! { pub static ref EMPTY_V6_TX: Transaction = Transaction::V6 { network_upgrade: NetworkUpgrade::Nu7, lock_time: LockTime::min_lock_time_timestamp(), diff --git a/zebra-consensus/Cargo.toml b/zebra-consensus/Cargo.toml index 56495ba0526..7f6e35a7bb8 100644 --- a/zebra-consensus/Cargo.toml +++ b/zebra-consensus/Cargo.toml @@ -41,7 +41,7 @@ tx_v6 = [ ] [dependencies] -blake2b_simd = "1.0.2" +blake2b_simd = "=1.0.1" bellman = "0.14.0" bls12_381 = "0.8.0" halo2 = { package = "halo2_proofs", version = "0.3.0" } diff --git a/zebra-consensus/src/primitives/halo2/tests.rs b/zebra-consensus/src/primitives/halo2/tests.rs index 1b2da85af00..ca10a2b2724 100644 --- a/zebra-consensus/src/primitives/halo2/tests.rs +++ b/zebra-consensus/src/primitives/halo2/tests.rs @@ -68,7 +68,11 @@ where .unwrap(); } - let bundle: Bundle<_, i64, Flavor> = builder.build(rng).unwrap().0; + let bundle: Bundle<_, i64, Flavor> = builder + .build(rng) + .unwrap() + .expect("Bundle should not be None") + .0; let bundle = bundle .create_proof(&proving_key, rng)