Skip to content

Commit

Permalink
Merge of #9195
Browse files Browse the repository at this point in the history
  • Loading branch information
mergify[bot] authored Feb 4, 2025
2 parents 6f24c9c + 715b8c8 commit 01bbbc6
Show file tree
Hide file tree
Showing 19 changed files with 126 additions and 93 deletions.
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,39 @@ All notable changes to Zebra are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org).

## [Zebra 2.2.0](https://github.com/ZcashFoundation/zebra/releases/tag/v2.2.0) - 2025-02-03

In this release, Zebra introduced an additional consensus check on the branch ID of Nu6 transactions
(which is currently also checked elsewhere; but we believe it's important to check on its own to protect
against future code changes), along with important refactors and improvements.

### Added

- An index to track spending transaction ids by spent outpoints and revealed nullifiers ([#8895](https://github.com/ZcashFoundation/zebra/pull/8895))
- Accessor methods to `zebra-rpc` request/response types ([#9113](https://github.com/ZcashFoundation/zebra/pull/9113))
- `getblock` RPC method now can return transaction details with verbosity=2 ([#9083](https://github.com/ZcashFoundation/zebra/pull/9083))
- Serialized NU5 blocks to test vectors ([#9098](https://github.com/ZcashFoundation/zebra/pull/9098))

### Changed

- Migrated from deprecated `jsonrpc_*` crates to `jsonrpsee` ([#9059](https://github.com/ZcashFoundation/zebra/pull/9059), [#9151](https://github.com/ZcashFoundation/zebra/pull/9151))
- Optimized checks for coinbase transactions ([#9126](https://github.com/ZcashFoundation/zebra/pull/9126))
- Avoid re-verifying transactions in blocks if those transactions are in the mempool ([#8951](https://github.com/ZcashFoundation/zebra/pull/8951), [#9118](https://github.com/ZcashFoundation/zebra/pull/9118))
- Allow transactions spending coinbase outputs to have transparent outputs on Regtest ([#9085](https://github.com/ZcashFoundation/zebra/pull/9085))

### Fixed

- Respond to getblockchaininfo with genesis block when empty state ([#9138](https://github.com/ZcashFoundation/zebra/pull/9138))
- Verify consensus branch ID in SIGHASH precomputation ([#9139](https://github.com/ZcashFoundation/zebra/pull/9139))
- More closely match zcashd RPC errors and `getrawtransaction` RPC behaviour ([#9049](https://github.com/ZcashFoundation/zebra/pull/9049))
- Fixes bugs in the lightwalletd integration tests ([#9052](https://github.com/ZcashFoundation/zebra/pull/9052))

### Contributors

Thank you to everyone who contributed to this release, we couldn't make Zebra without you:
@Fallengirl, @arya2, @conradoplg, @elijahhampton, @futreall, @gustavovalverde, @idky137, @mpguerra, @oxarbitrage, @rex4539, @rootdiae, @sandakersmann and @upbqdn


## [Zebra 2.1.0](https://github.com/ZcashFoundation/zebra/releases/tag/v2.1.0) - 2024-12-06

This release adds a check to verify that V5 transactions in the mempool have the correct consensus branch ID;
Expand Down
28 changes: 14 additions & 14 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4888,7 +4888,7 @@ dependencies = [

[[package]]
name = "tower-batch-control"
version = "0.2.41-beta.20"
version = "0.2.41-beta.21"
dependencies = [
"color-eyre",
"ed25519-zebra",
Expand All @@ -4911,7 +4911,7 @@ dependencies = [

[[package]]
name = "tower-fallback"
version = "0.2.41-beta.20"
version = "0.2.41-beta.21"
dependencies = [
"futures-core",
"pin-project",
Expand Down Expand Up @@ -5969,7 +5969,7 @@ dependencies = [

[[package]]
name = "zebra-chain"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"bitflags 2.8.0",
"bitflags-serde-legacy",
Expand Down Expand Up @@ -6034,7 +6034,7 @@ dependencies = [

[[package]]
name = "zebra-consensus"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"bellman",
"blake2b_simd",
Expand Down Expand Up @@ -6080,7 +6080,7 @@ dependencies = [

[[package]]
name = "zebra-grpc"
version = "0.1.0-alpha.11"
version = "0.1.0-alpha.12"
dependencies = [
"color-eyre",
"futures-util",
Expand All @@ -6102,7 +6102,7 @@ dependencies = [

[[package]]
name = "zebra-network"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"bitflags 2.8.0",
"byteorder",
Expand Down Expand Up @@ -6143,7 +6143,7 @@ dependencies = [

[[package]]
name = "zebra-node-services"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"color-eyre",
"jsonrpsee-types",
Expand All @@ -6156,7 +6156,7 @@ dependencies = [

[[package]]
name = "zebra-rpc"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"base64 0.22.1",
"chrono",
Expand Down Expand Up @@ -6197,7 +6197,7 @@ dependencies = [

[[package]]
name = "zebra-scan"
version = "0.1.0-alpha.13"
version = "0.1.0-alpha.14"
dependencies = [
"bls12_381",
"chrono",
Expand Down Expand Up @@ -6243,7 +6243,7 @@ dependencies = [

[[package]]
name = "zebra-script"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"hex",
"lazy_static",
Expand All @@ -6255,7 +6255,7 @@ dependencies = [

[[package]]
name = "zebra-state"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"bincode",
"chrono",
Expand Down Expand Up @@ -6301,7 +6301,7 @@ dependencies = [

[[package]]
name = "zebra-test"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"color-eyre",
"futures",
Expand Down Expand Up @@ -6329,7 +6329,7 @@ dependencies = [

[[package]]
name = "zebra-utils"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
dependencies = [
"color-eyre",
"hex",
Expand Down Expand Up @@ -6360,7 +6360,7 @@ dependencies = [

[[package]]
name = "zebrad"
version = "2.1.1"
version = "2.2.0"
dependencies = [
"abscissa_core",
"atty",
Expand Down
2 changes: 1 addition & 1 deletion book/src/user/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ docker run -d --platform linux/amd64 \
### Build it locally

```shell
git clone --depth 1 --branch v2.1.1 https://github.com/ZcashFoundation/zebra.git
git clone --depth 1 --branch v2.2.0 https://github.com/ZcashFoundation/zebra.git
docker build --file docker/Dockerfile --target runtime --tag zebra:local .
docker run --detach zebra:local
```
Expand Down
4 changes: 2 additions & 2 deletions book/src/user/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ To compile Zebra directly from GitHub, or from a GitHub release source archive:
```sh
git clone https://github.com/ZcashFoundation/zebra.git
cd zebra
git checkout v2.1.1
git checkout v2.2.0
```

3. Build and Run `zebrad`
Expand All @@ -89,7 +89,7 @@ target/release/zebrad start
### Compiling from git using cargo install

```sh
cargo install --git https://github.com/ZcashFoundation/zebra --tag v2.1.1 zebrad
cargo install --git https://github.com/ZcashFoundation/zebra --tag v2.2.0 zebrad
```

### Compiling on ARM
Expand Down
6 changes: 3 additions & 3 deletions tower-batch-control/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tower-batch-control"
version = "0.2.41-beta.20"
version = "0.2.41-beta.21"
authors = ["Zcash Foundation <[email protected]>", "Tower Maintainers <[email protected]>"]
description = "Tower middleware for batch request processing"
# # Legal
Expand Down Expand Up @@ -43,10 +43,10 @@ rand = { workspace = true }

tokio = { workspace = true, features = ["full", "tracing", "test-util"] }
tokio-test = { workspace = true }
tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.20" }
tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.21" }
tower-test = { workspace = true }

zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.44" }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.45" }

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] }
4 changes: 2 additions & 2 deletions tower-fallback/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tower-fallback"
version = "0.2.41-beta.20"
version = "0.2.41-beta.21"
authors = ["Zcash Foundation <[email protected]>"]
description = "A Tower service combinator that sends requests to a first service, then retries processing on a second fallback service if the first service errors."
license = "MIT OR Apache-2.0"
Expand All @@ -24,4 +24,4 @@ tracing = { workspace = true }
[dev-dependencies]
tokio = { workspace = true, features = ["full", "tracing", "test-util"] }

zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.44" }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.45" }
6 changes: 3 additions & 3 deletions zebra-chain/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-chain"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
authors = ["Zcash Foundation <[email protected]>"]
description = "Core Zcash data structures"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -145,7 +145,7 @@ proptest-derive = { workspace = true, optional = true }
rand = { workspace = true, optional = true }
rand_chacha = { workspace = true, optional = true }

zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.44", optional = true }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.45", optional = true }

[dev-dependencies]
# Benchmarks
Expand All @@ -168,7 +168,7 @@ rand_chacha = { workspace = true }

tokio = { workspace = true, features = ["full", "tracing", "test-util"] }

zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.44" }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.45" }

[[bench]]
name = "block"
Expand Down
20 changes: 10 additions & 10 deletions zebra-consensus/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-consensus"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
authors = ["Zcash Foundation <[email protected]>"]
description = "Implementation of Zcash consensus checks"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -63,13 +63,13 @@ orchard.workspace = true
zcash_proofs = { workspace = true, features = ["multicore" ] }
wagyu-zcash-parameters = { workspace = true }

tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.20" }
tower-batch-control = { path = "../tower-batch-control/", version = "0.2.41-beta.20" }
tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.21" }
tower-batch-control = { path = "../tower-batch-control/", version = "0.2.41-beta.21" }

zebra-script = { path = "../zebra-script", version = "1.0.0-beta.44" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.44" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.44" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.44" }
zebra-script = { path = "../zebra-script", version = "1.0.0-beta.45" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.45" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.45" }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.45" }

# prod feature progress-bar
howudoin = { workspace = true, optional = true }
Expand All @@ -94,6 +94,6 @@ tokio = { workspace = true, features = ["full", "tracing", "test-util"] }
tracing-error = { workspace = true }
tracing-subscriber = { workspace = true }

zebra-state = { path = "../zebra-state", version = "1.0.0-beta.44", features = ["proptest-impl"] }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.44", features = ["proptest-impl"] }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.44" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.45", features = ["proptest-impl"] }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.45", features = ["proptest-impl"] }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.45" }
6 changes: 3 additions & 3 deletions zebra-grpc/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-grpc"
version = "0.1.0-alpha.11"
version = "0.1.0-alpha.12"
authors = ["Zcash Foundation <[email protected]>"]
description = "Zebra gRPC interface"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -28,8 +28,8 @@ color-eyre = { workspace = true }

zcash_primitives.workspace = true

zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.44", features = ["shielded-scan"] }
zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.44" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.45", features = ["shielded-scan"] }
zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.45" }

[build-dependencies]
tonic-build = { workspace = true }
Expand Down
4 changes: 2 additions & 2 deletions zebra-network/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-network"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
authors = ["Zcash Foundation <[email protected]>", "Tower Maintainers <[email protected]>"]
description = "Networking code for Zebra"
# # Legal
Expand Down Expand Up @@ -83,7 +83,7 @@ howudoin = { workspace = true, optional = true }
proptest = { workspace = true, optional = true }
proptest-derive = { workspace = true, optional = true }

zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.44", features = ["async-error"] }
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.45", features = ["async-error"] }

[dev-dependencies]
proptest = { workspace = true }
Expand Down
4 changes: 2 additions & 2 deletions zebra-node-services/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-node-services"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
authors = ["Zcash Foundation <[email protected]>"]
description = "The interfaces of some Zebra node services"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -37,7 +37,7 @@ rpc-client = [
shielded-scan = []

[dependencies]
zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.44" }
zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.45" }

# Optional dependencies

Expand Down
24 changes: 12 additions & 12 deletions zebra-rpc/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zebra-rpc"
version = "1.0.0-beta.44"
version = "1.0.0-beta.45"
authors = ["Zcash Foundation <[email protected]>"]
description = "A Zebra JSON Remote Procedure Call (JSON-RPC) interface"
license = "MIT OR Apache-2.0"
Expand Down Expand Up @@ -97,16 +97,16 @@ zcash_address = { workspace = true, optional = true}
# Test-only feature proptest-impl
proptest = { workspace = true, optional = true }

zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.44", features = [
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.45", features = [
"json-conversion",
] }
zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.44" }
zebra-network = { path = "../zebra-network", version = "1.0.0-beta.44" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.44", features = [
zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.45" }
zebra-network = { path = "../zebra-network", version = "1.0.0-beta.45" }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.45", features = [
"rpc-client",
] }
zebra-script = { path = "../zebra-script", version = "1.0.0-beta.44" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.44" }
zebra-script = { path = "../zebra-script", version = "1.0.0-beta.45" }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.45" }

[build-dependencies]
tonic-build = { workspace = true, optional = true }
Expand All @@ -119,17 +119,17 @@ proptest = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["full", "tracing", "test-util"] }

zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.44", features = [
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.45", features = [
"proptest-impl",
] }
zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.44", features = [
zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.45", features = [
"proptest-impl",
] }
zebra-network = { path = "../zebra-network", version = "1.0.0-beta.44", features = [
zebra-network = { path = "../zebra-network", version = "1.0.0-beta.45", features = [
"proptest-impl",
] }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.44", features = [
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.45", features = [
"proptest-impl",
] }

zebra-test = { path = "../zebra-test", version = "1.0.0-beta.44" }
zebra-test = { path = "../zebra-test", version = "1.0.0-beta.45" }
Loading

0 comments on commit 01bbbc6

Please sign in to comment.