From 3e1c64afc83995fc6c1a225e2f156c2ef2b7fa7c Mon Sep 17 00:00:00 2001 From: Arya Date: Tue, 28 Nov 2023 20:54:30 -0500 Subject: [PATCH 01/19] adds a summary to changelog --- CHANGELOG.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b1544f4737..b689b8d63a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,43 @@ 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 1.5.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.5.0) - 2023-11-28 + +This release avoids a panic when reading cached sprout or history trees in Zebra v1.4.0, +improves how Zebra recovers from network interruptions, avoids potential network hangs, and +limits the ability of syntethic nodes to spread throughout the network through Zebra to +address some of the Ziggurat's report. + +Finally, we've added an experimental "shielded-scan" feature and the zebra-scan crate as steps +towards supporting shielded scanning in Zebra. + +### Security + +- security(net): Stop sending peer addresses from version messages directly to the address book ([#7977](https://github.com/ZcashFoundation/zebra/pull/7977)) +- security(net): Limit how many addresses are sent directly to the address book for a single peer address message ([#7952](https://github.com/ZcashFoundation/zebra/pull/7952)) +- security(net): Rate-limit GetAddr responses to avoid sharing the entire address book over a short period ([#7955](https://github.com/ZcashFoundation/zebra/pull/7955)) + +### Added + +- feat(config): Add config field for the viewing keys used by zebra-scan ([#7949](https://github.com/ZcashFoundation/zebra/pull/7949)) +- feat(scanner): Add basic RAM database to store keys and scan results ([#7942](https://github.com/ZcashFoundation/zebra/pull/7942)) +- feat(scanner): Spawn zebra-scan task from zebrad with configured viewing keys ([#7989](https://github.com/ZcashFoundation/zebra/pull/7989)) + +### Changed + +- change(state): Expose ZebraDb methods that can create different kinds of databases ([#8002](https://github.com/ZcashFoundation/zebra/pull/8002)) +- change(state): Make the types for finalized blocks consistent ([#7923](https://github.com/ZcashFoundation/zebra/pull/7923)) + +### Fixed + +- fix(db): Fix a sprout/history tree read panic in Zebra v1.4.0, which only happens before the 25.3.0 state upgrade completes ([#7972](https://github.com/ZcashFoundation/zebra/pull/7972)) +- fix(net): Fix potential network hangs, and reduce code complexity ([#7859](https://github.com/ZcashFoundation/zebra/pull/7859)) + +### Contributors + +Thank you to everyone who contributed to this release, we couldn't make Zebra without you: +@arya2, @dependabot[bot], @oxarbitrage, @teor2345 and @upbqdn + ## [Zebra 1.4.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.4.0) - 2023-11-07 Zebra's mining RPCs are now available in release builds. Our Docker images are significantly From c4e8504550a6a0c4e88bdce9fb5b352aa24dde28 Mon Sep 17 00:00:00 2001 From: Arya Date: Tue, 28 Nov 2023 21:09:04 -0500 Subject: [PATCH 02/19] chore: Release --- Cargo.lock | 26 +++++++++++++------------- book/src/user/docker.md | 2 +- book/src/user/install.md | 4 ++-- tower-batch-control/Cargo.toml | 2 +- tower-fallback/Cargo.toml | 2 +- zebra-chain/Cargo.toml | 4 ++-- zebra-consensus/Cargo.toml | 14 +++++++------- zebra-network/Cargo.toml | 4 ++-- zebra-node-services/Cargo.toml | 4 ++-- zebra-rpc/Cargo.toml | 14 +++++++------- zebra-scan/Cargo.toml | 2 +- zebra-script/Cargo.toml | 4 ++-- zebra-state/Cargo.toml | 6 +++--- zebra-test/Cargo.toml | 2 +- zebra-utils/Cargo.toml | 8 ++++---- zebrad/Cargo.toml | 18 +++++++++--------- 16 files changed, 58 insertions(+), 58 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b0908dc2463..08b70719401 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4607,7 +4607,7 @@ dependencies = [ [[package]] name = "tower-batch-control" -version = "0.2.41-beta.7" +version = "0.2.41-beta.8" dependencies = [ "color-eyre", "ed25519-zebra", @@ -4631,7 +4631,7 @@ dependencies = [ [[package]] name = "tower-fallback" -version = "0.2.41-beta.7" +version = "0.2.41-beta.8" dependencies = [ "futures-core", "pin-project", @@ -5603,7 +5603,7 @@ dependencies = [ [[package]] name = "zebra-chain" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" dependencies = [ "bitflags 2.4.1", "bitflags-serde-legacy", @@ -5664,7 +5664,7 @@ dependencies = [ [[package]] name = "zebra-consensus" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" dependencies = [ "bellman", "blake2b_simd", @@ -5710,7 +5710,7 @@ dependencies = [ [[package]] name = "zebra-network" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" dependencies = [ "bitflags 2.4.1", "byteorder", @@ -5751,7 +5751,7 @@ dependencies = [ [[package]] name = "zebra-node-services" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" dependencies = [ "color-eyre", "jsonrpc-core", @@ -5763,7 +5763,7 @@ dependencies = [ [[package]] name = "zebra-rpc" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" dependencies = [ "chrono", "futures", @@ -5795,7 +5795,7 @@ dependencies = [ [[package]] name = "zebra-scan" -version = "0.1.0-alpha.0" +version = "0.1.0-beta.1" dependencies = [ "bls12_381", "chrono", @@ -5821,7 +5821,7 @@ dependencies = [ [[package]] name = "zebra-script" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" dependencies = [ "displaydoc", "hex", @@ -5834,7 +5834,7 @@ dependencies = [ [[package]] name = "zebra-state" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" dependencies = [ "bincode", "chrono", @@ -5878,7 +5878,7 @@ dependencies = [ [[package]] name = "zebra-test" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" dependencies = [ "color-eyre", "futures", @@ -5906,7 +5906,7 @@ dependencies = [ [[package]] name = "zebra-utils" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" dependencies = [ "color-eyre", "hex", @@ -5927,7 +5927,7 @@ dependencies = [ [[package]] name = "zebrad" -version = "1.4.0" +version = "1.5.0" dependencies = [ "abscissa_core", "atty", diff --git a/book/src/user/docker.md b/book/src/user/docker.md index 0d37b7a847e..00228e1c158 100644 --- a/book/src/user/docker.md +++ b/book/src/user/docker.md @@ -17,7 +17,7 @@ docker run --detach zfnd/zebra:latest ### Build it locally ```shell -git clone --depth 1 --branch v1.4.0 https://github.com/ZcashFoundation/zebra.git +git clone --depth 1 --branch v1.5.0 https://github.com/ZcashFoundation/zebra.git docker build --file docker/Dockerfile --target runtime --tag zebra:local . docker run --detach zebra:local ``` diff --git a/book/src/user/install.md b/book/src/user/install.md index b4ca55b7eff..74881939274 100644 --- a/book/src/user/install.md +++ b/book/src/user/install.md @@ -19,7 +19,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 v1.4.0 +git checkout v1.5.0 ``` 3. Build and Run `zebrad` @@ -32,7 +32,7 @@ target/release/zebrad start ### Compiling from git using cargo install ```sh -cargo install --git https://github.com/ZcashFoundation/zebra --tag v1.4.0 zebrad +cargo install --git https://github.com/ZcashFoundation/zebra --tag v1.5.0 zebrad ``` ### Compiling on ARM diff --git a/tower-batch-control/Cargo.toml b/tower-batch-control/Cargo.toml index ab988483aeb..8b12c70d55f 100644 --- a/tower-batch-control/Cargo.toml +++ b/tower-batch-control/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tower-batch-control" -version = "0.2.41-beta.7" +version = "0.2.41-beta.8" authors = ["Zcash Foundation ", "Tower Maintainers "] description = "Tower middleware for batch request processing" # # Legal diff --git a/tower-fallback/Cargo.toml b/tower-fallback/Cargo.toml index ad10c2713bc..791093a3a48 100644 --- a/tower-fallback/Cargo.toml +++ b/tower-fallback/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tower-fallback" -version = "0.2.41-beta.7" +version = "0.2.41-beta.8" authors = ["Zcash Foundation "] 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" diff --git a/zebra-chain/Cargo.toml b/zebra-chain/Cargo.toml index a87d6f232ea..bf3f03cedfb 100644 --- a/zebra-chain/Cargo.toml +++ b/zebra-chain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-chain" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" authors = ["Zcash Foundation "] description = "Core Zcash data structures" license = "MIT OR Apache-2.0" @@ -126,7 +126,7 @@ proptest-derive = { version = "0.4.0", optional = true } rand = { version = "0.8.5", optional = true } rand_chacha = { version = "0.3.1", optional = true } -zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.31", optional = true } +zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.32", optional = true } [dev-dependencies] # Benchmarks diff --git a/zebra-consensus/Cargo.toml b/zebra-consensus/Cargo.toml index 3406fd422ca..731e6c1f565 100644 --- a/zebra-consensus/Cargo.toml +++ b/zebra-consensus/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-consensus" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" authors = ["Zcash Foundation "] description = "Implementation of Zcash consensus checks" license = "MIT OR Apache-2.0" @@ -63,13 +63,13 @@ orchard = "0.6.0" zcash_proofs = { version = "0.13.0-rc.1", features = ["multicore" ] } wagyu-zcash-parameters = "0.2.0" -tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.7" } -tower-batch-control = { path = "../tower-batch-control/", version = "0.2.41-beta.7" } +tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.8" } +tower-batch-control = { path = "../tower-batch-control/", version = "0.2.41-beta.8" } -zebra-script = { path = "../zebra-script", version = "1.0.0-beta.31" } -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.31" } -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.31" } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.31" } +zebra-script = { path = "../zebra-script", version = "1.0.0-beta.32" } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.32" } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.32" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32" } # prod feature progress-bar howudoin = { version = "0.1.2", optional = true } diff --git a/zebra-network/Cargo.toml b/zebra-network/Cargo.toml index a338a32da14..542b25f71a8 100644 --- a/zebra-network/Cargo.toml +++ b/zebra-network/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-network" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" authors = ["Zcash Foundation ", "Tower Maintainers "] description = "Networking code for Zebra" # # Legal @@ -83,7 +83,7 @@ howudoin = { version = "0.1.2", optional = true } proptest = { version = "1.4.0", optional = true } proptest-derive = { version = "0.4.0", optional = true } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.31", features = ["async-error"] } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32", features = ["async-error"] } [dev-dependencies] proptest = "1.4.0" diff --git a/zebra-node-services/Cargo.toml b/zebra-node-services/Cargo.toml index cf640e046dc..a50fa4b35f5 100644 --- a/zebra-node-services/Cargo.toml +++ b/zebra-node-services/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-node-services" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" authors = ["Zcash Foundation "] description = "The interfaces of some Zebra node services" license = "MIT OR Apache-2.0" @@ -35,7 +35,7 @@ rpc-client = [ ] [dependencies] -zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.31" } +zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.32" } # Optional dependencies diff --git a/zebra-rpc/Cargo.toml b/zebra-rpc/Cargo.toml index 7d86829ae9a..a8efede1ea6 100644 --- a/zebra-rpc/Cargo.toml +++ b/zebra-rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-rpc" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" authors = ["Zcash Foundation "] description = "A Zebra JSON Remote Procedure Call (JSON-RPC) interface" license = "MIT OR Apache-2.0" @@ -70,12 +70,12 @@ zcash_address = { version = "0.3.0", optional = true } # Test-only feature proptest-impl proptest = { version = "1.4.0", optional = true } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.31", features = ["json-conversion"] } -zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.31" } -zebra-network = { path = "../zebra-network", version = "1.0.0-beta.31" } -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.31" } -zebra-script = { path = "../zebra-script", version = "1.0.0-beta.31" } -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.31" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32", features = ["json-conversion"] } +zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.32" } +zebra-network = { path = "../zebra-network", version = "1.0.0-beta.32" } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.32" } +zebra-script = { path = "../zebra-script", version = "1.0.0-beta.32" } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.32" } [dev-dependencies] insta = { version = "1.33.0", features = ["redactions", "json", "ron"] } diff --git a/zebra-scan/Cargo.toml b/zebra-scan/Cargo.toml index 802897a22fa..f1945ee63f1 100644 --- a/zebra-scan/Cargo.toml +++ b/zebra-scan/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-scan" -version = "0.1.0-alpha.0" +version = "0.1.0-beta.1" authors = ["Zcash Foundation "] description = "Shielded transaction scanner for the Zcash blockchain" license = "MIT OR Apache-2.0" diff --git a/zebra-script/Cargo.toml b/zebra-script/Cargo.toml index cb60d7ec10b..9dffcb5e9f0 100644 --- a/zebra-script/Cargo.toml +++ b/zebra-script/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-script" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" authors = ["Zcash Foundation "] description = "Zebra script verification wrapping zcashd's zcash_script library" license = "MIT OR Apache-2.0" @@ -17,7 +17,7 @@ categories = ["api-bindings", "cryptography::cryptocurrencies"] [dependencies] zcash_script = "0.1.14" -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.31" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32" } thiserror = "1.0.48" displaydoc = "0.2.4" diff --git a/zebra-state/Cargo.toml b/zebra-state/Cargo.toml index f528415542b..ce9912b2e97 100644 --- a/zebra-state/Cargo.toml +++ b/zebra-state/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-state" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" authors = ["Zcash Foundation "] description = "State contextual verification and storage code for Zebra" license = "MIT OR Apache-2.0" @@ -76,13 +76,13 @@ tracing = "0.1.39" elasticsearch = { version = "8.5.0-alpha.1", default-features = false, features = ["rustls-tls"], optional = true } serde_json = { version = "1.0.108", package = "serde_json", optional = true } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.31", features = ["async-error"] } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32", features = ["async-error"] } # prod feature progress-bar howudoin = { version = "0.1.2", optional = true } # test feature proptest-impl -zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.31", optional = true } +zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.32", optional = true } proptest = { version = "1.4.0", optional = true } proptest-derive = { version = "0.4.0", optional = true } diff --git a/zebra-test/Cargo.toml b/zebra-test/Cargo.toml index 6fd05c515f8..927c4d28536 100644 --- a/zebra-test/Cargo.toml +++ b/zebra-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-test" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" authors = ["Zcash Foundation "] description = "Test harnesses and test vectors for Zebra" license = "MIT OR Apache-2.0" diff --git a/zebra-utils/Cargo.toml b/zebra-utils/Cargo.toml index 19f5f01cd6f..ac3168e4a92 100644 --- a/zebra-utils/Cargo.toml +++ b/zebra-utils/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-utils" -version = "1.0.0-beta.31" +version = "1.0.0-beta.32" authors = ["Zcash Foundation "] description = "Developer tools for Zebra maintenance and testing" license = "MIT OR Apache-2.0" @@ -74,11 +74,11 @@ tracing-error = "0.2.0" tracing-subscriber = "0.3.18" thiserror = "1.0.48" -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.31" } -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.31" } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.32" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32" } # These crates are needed for the block-template-to-proposal binary -zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.31", optional = true } +zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.32", optional = true } # These crates are needed for the zebra-checkpoints binary itertools = { version = "0.12.0", optional = true } diff --git a/zebrad/Cargo.toml b/zebrad/Cargo.toml index d033111c401..188da85efcc 100644 --- a/zebrad/Cargo.toml +++ b/zebrad/Cargo.toml @@ -1,7 +1,7 @@ [package] # Crate metadata name = "zebrad" -version = "1.4.0" +version = "1.5.0" authors = ["Zcash Foundation "] description = "The Zcash Foundation's independent, consensus-compatible implementation of a Zcash node" license = "MIT OR Apache-2.0" @@ -148,18 +148,18 @@ test_sync_past_mandatory_checkpoint_mainnet = [] test_sync_past_mandatory_checkpoint_testnet = [] [dependencies] -zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.31" } -zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.31" } -zebra-network = { path = "../zebra-network", version = "1.0.0-beta.31" } -zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.31" } -zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.31" } -zebra-state = { path = "../zebra-state", version = "1.0.0-beta.31" } +zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.32" } +zebra-consensus = { path = "../zebra-consensus", version = "1.0.0-beta.32" } +zebra-network = { path = "../zebra-network", version = "1.0.0-beta.32" } +zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.32" } +zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.32" } +zebra-state = { path = "../zebra-state", version = "1.0.0-beta.32" } # Experimental shielded-scan feature -zebra-scan = { path = "../zebra-scan", version = "0.1.0-alpha.0", optional = true } +zebra-scan = { path = "../zebra-scan", version = "0.1.0-beta.1", optional = true } # Required for crates.io publishing, but it's only used in tests -zebra-utils = { path = "../zebra-utils", version = "1.0.0-beta.31", optional = true } +zebra-utils = { path = "../zebra-utils", version = "1.0.0-beta.32", optional = true } abscissa_core = "0.7.0" clap = { version = "4.4.10", features = ["cargo"] } From 496868240f241470b8667c40649ed74dbe020218 Mon Sep 17 00:00:00 2001 From: Arya Date: Tue, 28 Nov 2023 21:21:47 -0500 Subject: [PATCH 03/19] Apply suggestions from code review --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b689b8d63a7..45b32080c61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org). This release avoids a panic when reading cached sprout or history trees in Zebra v1.4.0, improves how Zebra recovers from network interruptions, avoids potential network hangs, and -limits the ability of syntethic nodes to spread throughout the network through Zebra to -address some of the Ziggurat's report. +limits the ability of synthetic nodes to spread throughout the network through Zebra to +address some of the Ziggurat red team report. Finally, we've added an experimental "shielded-scan" feature and the zebra-scan crate as steps towards supporting shielded scanning in Zebra. From b305c09795efb6402d758fc9e49a9dce287be80d Mon Sep 17 00:00:00 2001 From: arya2 Date: Wed, 6 Dec 2023 13:16:11 -0500 Subject: [PATCH 04/19] updates Changelog.md --- CHANGELOG.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 45b32080c61..15349e2d1e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,9 @@ limits the ability of synthetic nodes to spread throughout the network through Z address some of the Ziggurat red team report. Finally, we've added an experimental "shielded-scan" feature and the zebra-scan crate as steps -towards supporting shielded scanning in Zebra. +towards supporting shielded scanning in Zebra. There are still known security issues with this +feature, it is not recommended to use important private keys when testing Zebra's experimental +shielded scanning support. Ongoing development is tracked in issue [#7728](https://github.com/ZcashFoundation/zebra/issues/7728). ### Security @@ -24,18 +26,27 @@ towards supporting shielded scanning in Zebra. ### Added - feat(config): Add config field for the viewing keys used by zebra-scan ([#7949](https://github.com/ZcashFoundation/zebra/pull/7949)) -- feat(scanner): Add basic RAM database to store keys and scan results ([#7942](https://github.com/ZcashFoundation/zebra/pull/7942)) -- feat(scanner): Spawn zebra-scan task from zebrad with configured viewing keys ([#7989](https://github.com/ZcashFoundation/zebra/pull/7989)) +- feat(scan): Add basic RAM database to store keys and scan results ([#7942](https://github.com/ZcashFoundation/zebra/pull/7942)) +- feat(scan): Spawn zebra-scan task from zebrad with configured viewing keys ([#7989](https://github.com/ZcashFoundation/zebra/pull/7989)) +- feat(scan): Create a scan_block function to use across scanning tasks ([#7994](https://github.com/ZcashFoundation/zebra/pull/7994)) +- feat(scan): Scan blocks with Sapling keys and write the results to the database ([#8040](https://github.com/ZcashFoundation/zebra/pull/8040)) +- poc(scan): Proof of concept for shielded scanning ([#7758](https://github.com/ZcashFoundation/zebra/pull/7758)) ### Changed - change(state): Expose ZebraDb methods that can create different kinds of databases ([#8002](https://github.com/ZcashFoundation/zebra/pull/8002)) - change(state): Make the types for finalized blocks consistent ([#7923](https://github.com/ZcashFoundation/zebra/pull/7923)) +- change(scan): Create a scanner storage database, but don't use it yet ([#8031](https://github.com/ZcashFoundation/zebra/pull/8031)) +- change(scan): Use the on-disk database for keys and results ([#8036](https://github.com/ZcashFoundation/zebra/pull/8036)) +- change(scan): Store scanned TXIDs in "display order" ([#8057](https://github.com/ZcashFoundation/zebra/pull/8057)) +- change(scan): Create a function that scans one block by height, and stores the results in the database ([#8045](https://github.com/ZcashFoundation/zebra/pull/8045)) +- change(scan): Store one transaction ID per database row, to make queries easier ([#8062](https://github.com/ZcashFoundation/zebra/pull/8062) ### Fixed - fix(db): Fix a sprout/history tree read panic in Zebra v1.4.0, which only happens before the 25.3.0 state upgrade completes ([#7972](https://github.com/ZcashFoundation/zebra/pull/7972)) - fix(net): Fix potential network hangs, and reduce code complexity ([#7859](https://github.com/ZcashFoundation/zebra/pull/7859)) +- fix(scan): Start scanning task only if there are keys to scan ([#8059](https://github.com/ZcashFoundation/zebra/pull/8059)) ### Contributors From 6e59486b1aa090f0a7845aa7c194ecb42f8bc1d3 Mon Sep 17 00:00:00 2001 From: arya2 Date: Wed, 6 Dec 2023 13:43:23 -0500 Subject: [PATCH 05/19] updates changelog.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 15349e2d1e3..888ac5092ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,7 +36,7 @@ shielded scanning support. Ongoing development is tracked in issue [#7728](https - change(state): Expose ZebraDb methods that can create different kinds of databases ([#8002](https://github.com/ZcashFoundation/zebra/pull/8002)) - change(state): Make the types for finalized blocks consistent ([#7923](https://github.com/ZcashFoundation/zebra/pull/7923)) -- change(scan): Create a scanner storage database, but don't use it yet ([#8031](https://github.com/ZcashFoundation/zebra/pull/8031)) +- change(scan): Create a scanner storage database ([#8031](https://github.com/ZcashFoundation/zebra/pull/8031)) - change(scan): Use the on-disk database for keys and results ([#8036](https://github.com/ZcashFoundation/zebra/pull/8036)) - change(scan): Store scanned TXIDs in "display order" ([#8057](https://github.com/ZcashFoundation/zebra/pull/8057)) - change(scan): Create a function that scans one block by height, and stores the results in the database ([#8045](https://github.com/ZcashFoundation/zebra/pull/8045)) From be28f9fbc95919ce3eb040e8b68102a6f25b7170 Mon Sep 17 00:00:00 2001 From: arya2 Date: Wed, 6 Dec 2023 14:05:09 -0500 Subject: [PATCH 06/19] mentions/updates MSRV --- CHANGELOG.md | 2 ++ zebra-utils/Cargo.toml | 2 +- zebrad/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 888ac5092ea..632f0864c96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,8 @@ towards supporting shielded scanning in Zebra. There are still known security is feature, it is not recommended to use important private keys when testing Zebra's experimental shielded scanning support. Ongoing development is tracked in issue [#7728](https://github.com/ZcashFoundation/zebra/issues/7728). +As of this release, Zebra requires Rust 1.73 to build. + ### Security - security(net): Stop sending peer addresses from version messages directly to the address book ([#7977](https://github.com/ZcashFoundation/zebra/pull/7977)) diff --git a/zebra-utils/Cargo.toml b/zebra-utils/Cargo.toml index ac3168e4a92..45578ad98ec 100644 --- a/zebra-utils/Cargo.toml +++ b/zebra-utils/Cargo.toml @@ -17,7 +17,7 @@ categories = ["command-line-utilities", "cryptography::cryptocurrencies"] # Zebra is only supported on the latest stable Rust version. See the README for details. # Any Zebra release can break compatibility with older Rust versions. -rust-version = "1.70" +rust-version = "1.73" [[bin]] name = "zebra-checkpoints" diff --git a/zebrad/Cargo.toml b/zebrad/Cargo.toml index 188da85efcc..d72afdea586 100644 --- a/zebrad/Cargo.toml +++ b/zebrad/Cargo.toml @@ -19,7 +19,7 @@ edition = "2021" # Zebra is only supported on the latest stable Rust version. See the README for details. # Any Zebra release can break compatibility with older Rust versions. -rust-version = "1.70" +rust-version = "1.73" # Settings that impact runtime behaviour From 3892b67359ab1a1ab65790cde5bfe60ca4c3bae5 Mon Sep 17 00:00:00 2001 From: Arya Date: Wed, 6 Dec 2023 20:02:05 -0500 Subject: [PATCH 07/19] updates checkpoints --- .../src/checkpoint/main-checkpoints.txt | 115 +++++++++++++++ .../src/checkpoint/test-checkpoints.txt | 139 ++++++++++++++++++ 2 files changed, 254 insertions(+) diff --git a/zebra-consensus/src/checkpoint/main-checkpoints.txt b/zebra-consensus/src/checkpoint/main-checkpoints.txt index 189a5032a81..145b5b7696c 100644 --- a/zebra-consensus/src/checkpoint/main-checkpoints.txt +++ b/zebra-consensus/src/checkpoint/main-checkpoints.txt @@ -11303,3 +11303,118 @@ 2275098 0000000000e65beaf7965aae4c0a912d11ca8f9bacd7b29c2b85586ead491081 2275498 0000000000abbda1bf3dab5f2211700e5df3854c402fa45d5f55856b64dd57cc 2275898 00000000003fd9806ce4571eacd5dea635bf87801f69b65f5491e571d292be0f +2276298 000000000081478c35afefe71c5514915c7b82c50dde006c716bb0b7bcf6ed1d +2276698 0000000001097d10dca940448201b610d4ca8b25696ce37194a506564de8d54c +2277098 0000000001a1c8223c08e8a526eb8b4e1dc75dce32bbbc9f45c6f0eec025fc5f +2277498 0000000001bb2ce9a9098171c023c6e6bdc5a491787a8762195ccd3244b51d9a +2277898 0000000001aa50561c65f5dbb17e1be03d4a48ad07dc3e4c2f455bb51f051a8b +2278298 00000000014ab4ef48e0a1fbfc3730a7cdbc5e4e59315ad575d1ed64bf3eaa06 +2278698 00000000003a3ec27e08e0e9dcfa322a508e2314a2b78aafc3af3c6a557a13be +2279098 0000000001321e28cd6f2cd821eb30326e8786e88ccb95b5bbbecd355863681b +2279498 0000000000b706a6fa7f0d4b5b2b8db2e72dc3e4ca7f1f5012ed8bd8032564d1 +2279898 00000000004993d35b87189ec3ac4693ad4ac9f53219bd343d1cbfbf2a731a46 +2280298 0000000000b770c2eb023ffaa339fbcb2df55254ad172294be59b0cdc675786e +2280698 000000000029832b55a1e0f90ed3ca0099dce7850fcd5f456623b86e2bcc54c1 +2281098 0000000000b00866e4926fdde1102d6ebcc14a7b07d36b57f7ef5fb61d0cb4ba +2281498 00000000000991bbf63b86a75fb8495b8b0127b58c036d412daa89bf01886bff +2281898 0000000001b12331c0d71122aa5c5df0a51354ebc2478b42e213a91d94fb5433 +2282298 0000000000b73fc46b498ca38b59c499781911d160af9289b70b9fe1cff5c6e5 +2282698 00000000015c503748f5ab9a48735a37d283a09cc92d17576d2288edba0ca128 +2283098 00000000011673e6809ee8dfd89673db8e6e58a16f2adc5c1b02fa0f00b83877 +2283498 000000000042fb905cc00922120ff12753362390fa6c7d50ac5b9f67dcf8d2a6 +2283898 000000000084ca2e3257fc6982e9b81a79cb96f305a84dd9fbed786c95dd774e +2284298 000000000069691b01f1d8b42ad95bdff1df472f2b105bcbf23922e4a97e5a81 +2284698 00000000006752f2759564957dc3299cd4ac7d995a16aef4f070b31c56a4bd25 +2285098 00000000011a59ef91766db47bc534ba875fbce6490c6d0f35a8c2d2cc00ad53 +2285498 0000000000e814abdc1e4912653ad47237d0b731d7bc6536c8e459d07cb4cc5d +2285898 00000000001ed38b3251192e4070ea2e7c9ffd61dbf677d1e0e0a0f1e1384c8d +2286298 0000000000e439f2921796034a1a28f1bbbfd2a77c18598f20bda8eff4a07dc8 +2286698 00000000005a3ecb87d8b1e2217e22ce1edc59c9ca3e434123f4ac834d937f94 +2287098 000000000065837cb08ccea8c6f245a72e7691aa595d80e785aa38a0bdbd318c +2287498 0000000000003175441ae9aa24c3f03f7685e3db11336f6313f1fe201210d62d +2287898 00000000011891aeff32f58e78e3aa81bcf0e5096452f15c1d2a4641dde82ccb +2288298 0000000000b25bd6f17598086514288ec94e47b5ac6501ae654c39a819ded4cd +2288698 00000000014874d5f5b2b6bb0814950ce61d14b97e016130a60047882c824b7f +2289098 0000000000c0e221e038934ea433c537dfd5d8314405b0af54c646c9367dcd60 +2289498 00000000015e0c20ce7fcc0d501a247b3e2788e0637306919d1bad19626efee0 +2289898 00000000001f89ed33e5b78dd35ce23f9661484d27eb3e6e76ce8375f917e4e6 +2290298 0000000000031532b65fa6b94d7a1aa5eeef8a55d11a6329134e3f8e25306bbd +2290698 00000000001cf3dcc74241bd26f8044a85627e4367427049b096d567601688f5 +2291098 000000000178a7bde945a75cf8d575dd8dc39c530daa3c4989d9ce26444332ff +2291498 00000000010e4cbdc80c7d873cc55b68aca818a8394bcfbe98e2122f6ebde723 +2291898 0000000000cb1c8a7689f22372821cfe241d6459279b8010fb54e1453ab6b956 +2292298 00000000011c8d57992a988463b7ed3ffb9621b7911985dd6110ce9539fc1a74 +2292698 0000000001f4b6b418acce67d3d3491257888a798a1cfe700785ccf3051dbb40 +2293098 000000000153b9e983da00ac7ca829bef4b92b58a7d3f3eca31b7bd76e34af2c +2293498 0000000001abe7f0748d84ccfae224b0147cecc7b83772e590cdf3f4fa6cac69 +2293898 0000000001299cac3639c2ae930120d1644f5304e9260b541236555c797cbbca +2294298 00000000007942814fdb9768244836e7d3cb6e27e4a6e9eea620a4ebfc67c2ba +2294698 00000000011027d373ea2ac93451e9d953880c1c1bba2f5b9b53f4062d3caa4c +2295098 000000000176ddf435f02c388ada40dcaca1b739fd5724e92999df280526f85b +2295498 0000000000e52e15cc76aaf051dcd22bbe9bd3a3b68c66f9aa9ea252499d1e81 +2295898 000000000131f1392ea39738abc23babbe41ddb415fdabce8c15c8a35f9e4ca6 +2296298 0000000000b491e08545a33eb6b55fdc2481bd616351f2b48292b514f6d67666 +2296698 0000000000a52e704cea2742a2abde854d540ac955ceaaea227c5ba25dbdb71f +2297098 0000000000bc1540795fb142d202dd7b9264d7789d3733e8612851ae7cdbd0d7 +2297498 00000000002feddfff55c0533d7dcc77f7aa457c19a9b80df2b9b2d8c66d7094 +2297898 00000000016e1eb1940a4b6d2ba26b5d4f33230983b0cf4f2567a1028892a518 +2298298 0000000000b7816ea932eb97f289dc3705e5794707f155bdbda1119df040d2cd +2298698 0000000000e3606691113bd16d0af056977ffa79b6e3841e2b5b589e641efe12 +2299098 0000000000b535b66166b1b42d78085dcac66300eb81465d575bc7de3cc26747 +2299498 0000000000567a67094f6ab26944175b3543e479186674f6dd8f7e28cc627673 +2299898 000000000178d0fd509e633794d3992048bb8bf95eb3f3edda8104a4aff3d7ee +2300298 0000000000a8e816f6873c87c45441be870a60c1a8ea4e10ef6563ac437ccdbc +2300698 000000000023e576eb60514c31db1154e4f03b8553ee01334a612909dedb0b3b +2301098 000000000060c546c617c56dbc369c2433b286b24910f6a5f62f9c322d7642e7 +2301498 00000000012799a8486a04e3ffb40ae25770ea205f081e50d7f2b96ca02a23e1 +2301898 0000000000d2ff96ef9c54a739293c587f7cda7553e53e135cca8c1943249ce8 +2302298 00000000013855741f6e0b9b74927e5151ca25c29a7407c7727bb607d3158e47 +2302698 00000000016f3ed8d2d3c13a20129072d3dc5e02b55ade28f6d191f0c0aae8f1 +2303098 000000000173a40e0557a8b44a692313fd393cd9adcbe7dcb510c6b7ab6cfd73 +2303498 0000000001733853d08d78e8188fbdb7fb192dd0b6c74a08344f6f77c5f6a676 +2303898 0000000001124111444b85daae68960df16878614244c7df777028efc13590cc +2304298 0000000000ec512eb3d57ce08f904c6de85d1bff4e0d572f26b02df6ed2f75af +2304698 0000000002b8ba319d79e5aeedac5858c99207ae14e391d1920cc2e949fd8028 +2305098 0000000001a7df726d5be9baea1fb8654c6f10aeccfe7b17aaba5af39d3ffe08 +2305498 000000000152b5fd63181a6662ba8e85f038fdc5916c36f68ece6a6351f6b59a +2305898 0000000000247f83173e7763274ced029470d57eadf4ef51116faa9a249d7999 +2306298 0000000000a6356488cf68a8f947aa6a23755d6e927625b79f26dde1734fdc30 +2306698 00000000013063329796c0408d424bbbf87d88784358e2ae36a09cb56ad53601 +2307098 0000000000f47ba701cd81044bce2ba16187284f340f93c39982d27f71297b6b +2307498 0000000000a72c661b91cf4cd3d127c6445f8da3aa1e9ff01b1d7e6bdc439130 +2307898 00000000001574a84ba3bd9be481ed5c84092bb62a7dfe5e8ce3369325f442cc +2308298 00000000005d829a743a7e887acffef6afacc40f29fe3ff8d533d83632bb992d +2308698 00000000013c151584751ba0dd39c647c1f7a84ea0c73b547f05d3455d50e68d +2309098 00000000000f83954948d745b67d76fbad2b7b1f45e0577e8159171f953c1df5 +2309498 00000000014087c83f96bf425afdb59c6d55cab4be91d863e72ec27ba0fb8203 +2309898 0000000001222834a2ff4b1d930c24b4188468be9afff99df1f2764d654bdb00 +2310298 000000000055ec48eb2d4a97eac76c4f244285994daa3ba7f544c6ac7bc5b8c4 +2310698 000000000169069103cbc6dd22e48c3d6c166fa2a3f53cf1ab9d2458508ab486 +2311098 0000000001af2ca95be39e4746d71964a657a991b1e35a21fcf7b71487935296 +2311498 0000000001545c40c27a125b73e3d34a901c6bc9c3e0cf07ea4df3cf54c92efd +2311898 00000000005e32e382cb5dc5e0d348e82321dbf7357929508d5d32c90440808c +2312298 00000000016d8c2c891a4c6fa26e0fdbdf2f77058675d3a5b1efb7bf411c9b0e +2312698 000000000085b9ff694f7d13269861a2dd975344d1bd71976a315ef70335a1e5 +2313098 00000000001d28127bcd2715ca3a0dd02c8118d3b4f474baae78054c72ff80bd +2313498 00000000019b8c237101b15d4274edec586119190a9d090a6bffeeb10f5143d3 +2313898 000000000104504614e77a33609942d1f847172c15f312c7bd492ad01c86272d +2314298 0000000000916ee2a8e50d4a2a4c059a1bf5721a399dfe735eb7284cca5622f9 +2314698 0000000000ab56107e185012af88dc242b9a7b4cf31df67f87e8e79924830c3b +2315098 0000000001bc4c04769639cc248d55696323aad122f89b1edd1cee1b1c2473fd +2315498 0000000000cb59e64f0794feb4abb5d24401abf1dc1829f345e2830547055ea0 +2315898 00000000015cf7dd94daaff9b862b110b5b56d0b13d6f3b254986d0fa7519b55 +2316298 0000000000653249d1653700e6aabe1b50f82afdcd1a95a0c165f9cde0962c6b +2316698 0000000000efcf36599361d9252291926179de9ee3346d802c506e808f9bb70c +2317098 000000000030eea323b6af247d94e19e39d6fd7a082e832be907e403cf6e46e2 +2317498 0000000000296b8958a02284b2d16678d8a77d7b5ce2c2a6125e0e6833796eda +2317898 00000000000b2aefaf4bb6149c8f79ff26d26628585bf958ef64cc31eeea6a72 +2318298 00000000011eb147f4fc11ba5bc267821d6634aee79de4b3eb6cccefec13338e +2318698 000000000065b3081c44ce0e02298b79d2d89df35f4c39f9a83614ebd68426e1 +2319098 000000000084e319f2659a2b02aaab6d87639a88bab4235b9211cfde19b0b26f +2319498 0000000000db047eb2129d4153d94689fc2369158b4ebe112ff93f50a441e739 +2319898 00000000011d08082023c66678d74afb7d5891d91c7d5e881d21dfb9cf06e05b +2320298 000000000100c6ce7572fbecf9297ad4c7af175e792a5d6be1d7c26e1304b12f +2320698 0000000000b21ec56046a2ff1d59eca3665b3c44bde3b8f49f4e5d084ef0299c +2321098 000000000023cf9e37285c3502340ae1befc518def5152a412da248636f53457 +2321498 0000000000164bb89ccf4a361f396dd67e5008c3e5434e52713a85fdb7e5d714 +2321898 00000000010983c6b200ae4d9d2e57a3348bd5855a72595b5dd9820639e3256d diff --git a/zebra-consensus/src/checkpoint/test-checkpoints.txt b/zebra-consensus/src/checkpoint/test-checkpoints.txt index 6c8af8e31cd..33e641d8bd7 100644 --- a/zebra-consensus/src/checkpoint/test-checkpoints.txt +++ b/zebra-consensus/src/checkpoint/test-checkpoints.txt @@ -6415,3 +6415,142 @@ 2565600 00029738a8dd2af55b59cd4af0c7d27f1c3b020c4d7f694f835e15f5d9ee7c96 2566000 000e3657d76e8df0985c96ffb9b200f03d37734a758c04a8818637b5bc3a9d84 2566400 002d055d5710cc823ac81751a31e1041b8f02fd9d47c7b82fd1152fd2f223367 +2566800 0021a704b7a728203d1869b65f9e7f4c04af03c4e935d3bf7662cb6451a4fbb1 +2567200 001112d28564d144c3a330be7a655ea95f615423d80e2c0584ba9a2a65919e72 +2567600 00439fac4e90ad99d1712d06d14e009a17f3cac9739f1439d26d02ed1ea1e22b +2568000 00039fadf185b14b3b9a7e0a7a50f615f01cbdc98890934a689e1f768b21c2ac +2568400 000cdd63ca98f0406da85d00883f6f37bbdc72f6bdc6d38810a9b5ad039168ea +2568800 000ed1537a118f37cabf015d47497ae53d55bcc8660b590f82ceb2b487c2198e +2569200 0009df6416538d5a30d1f70c9e4bccb6693b2ab6f5b4f38bc1c987098c9a744f +2569600 000be77f174535d1957c3333aff64d04b7a749b55e536a65328d4c400778b4ac +2570000 002f16febc8fe7cf17ed80593d364d639f5702bf780a91a81642bc195693667c +2570400 0017488cc6f5cd9febb647eaf80b908bbe8615bc9242b7726c6b6afefbc85316 +2570800 0022891d6c749ea542e2b5bc0367c84fb24caa49434748d5fdf358aea42fb606 +2571200 000b33f17e8e6638239bc76780127cea919e56f9d732bf65d6ce07bcfdaa344a +2571600 004c39f92647c3783b2bc9b71c9c73a9e1644ef514ec12d108cd6d20cfbe03e6 +2572000 000a3b341a6fb5a84ce1d7870510a0d908539863345d085a0030ba66401a7e96 +2572400 00312f39480ae958888d43e7c10e9f4f7ffd6965b87550b8ca56807a3d005478 +2572800 0005c6de91a15985a8ccb67480555e8e08bdeb89328a49438c4bcd5b2b298745 +2573200 00191265a052fb442ad76f40416875d061327f2bcdcbaa2f54a2c9626737828c +2573600 001ea8784da364305ddd1833179b823b1f0ee9003b63c536e15d4f3a6cdd6976 +2574000 0017e1a4555d508a688c134b33cdb9147ee221445a4d635e70bc9d1a74102b05 +2574400 0037f92886983911ac65131fd65d3a206b7734005a89ed896fa9b38bd3278f4f +2574800 003b483a1b6c3797efc1b4f0c4bff9beba38c6625176de39dc1faf0ae3caa384 +2575200 003b503f6164ed3d5cabf1f9ca08b69a6821e8ed429231db8ca9fcb4cce4460a +2575600 001de6ae25087b898d963a459cbb735242e052043475aee54d5fc0ca890fed3d +2576000 000f0387c063b5fc87472db6b71793c08faca808e9967d1faa03d48e13fe68e2 +2576400 0033b9228a0ed3672e8b77b3c3bdc005fe55fff2c9d871ce33c0f94349beb0de +2576800 00465d49441a41e519fbf9e09133bf46f6de485d2cc04588fa4c69f11fdf0e0f +2577200 001334c5b97893507f222202ab2b2c939e9fe58bbe0d5fa57bbfcff67c428493 +2577600 001f4d88da9320653530666a8c3eb7d6b6a2d55cce797592546e0887486d7c0a +2578000 000906a3241e53cb7e4e46815f5d204456f25d2480c640c05ca932792a20bb58 +2578400 0010a40544f2bd825d4e7c0bfec330e19e318930ce5277f34d27dab61a1e8d36 +2578800 0029007c4db008d726ecb00d9b736fbcb19e3fd013fda41b651cc6baa170e817 +2579200 000d3075bfe205c37ee3ca5cc9263eac72567977e60c4f41142e74a83088f789 +2579600 0010e19b074242c805455eddd29c0c7a4b5d302c939213a951fa06fc4e93dfa7 +2580000 000d717569dcdac9458704cec46eb7fc67ca105a20f6dbbf9b21f0b2a0a87910 +2580400 001eb1b827e96863ffb0b77f062ace47439b1d4294379f998525a316ec836d6a +2580800 002c637adc01af9d1e5bad80cb867845fd83977f6ae81f004850c3443a8b73da +2581200 00196120803818124a8fac78ba371f43331f796c60c7075f31e6bcfd0076c761 +2581600 003e015bb30b0e4fbf1bf10140703990e6e915fafe68869f3a474334dcd832ba +2582000 003abbcfc96f1f198cdf643ad7ec87a0d0fdaa72cd3f6089a1b0193512cba9c5 +2582400 00180eacdb358d2d655bc310f46124c4f3b4d30f19fb2fa31b9ea9007d34fb8a +2582800 000a8c0ffea7cbf0fe4c0bc4ac5d05daf9ce6dfdb69c5835e6a2a94bf6c085e6 +2583200 00334b987ef209cbfc7c119edbc949db0aa5f33a0e9b82f4a6514593eef85e14 +2583600 00204748cd2f3e5114e1e72e9e1c34b9b255a40676efda6b65b1cbffab9a2751 +2584000 000099bfa6640fe7e4e3e80f00f837fd3a9c18e46de6c7b424415e60e543dc18 +2584400 0019f3de261dd1159785e66e4ae6064f4fc84e3a5d732058641c671c6449309b +2584800 0030ed515220236633e68ddc881f8ef78208e8e83000c1e503376bdf6e88c255 +2585200 000c8be193c6bb414f656d7eef889ba21659b60e012b478d78742bc5df3ac697 +2585600 00035628329212e32bc16c4fa2a23b9ba7848c2b78cad81c5c00fbc69dbf67a9 +2586000 00098b106c2657e848413683d5a4052806c5c5ff9f15b6b55040cf3622431d54 +2586400 0002137522f0df162f1a924ddb786453d7c4aef0f69003979dc79634a3ac6d99 +2586800 00172c8381d8ceaaed83fd480fadc0e5b7ea7547827db5925465dd85332b0cb3 +2587200 000b8069a18a8c616a892eef778f792a47039bab54d6871e3955c326b8e5163a +2587600 002f9141dbd03e50cff2624ffd2f670d1bc1482b89ea48a0fe31074f23cf6b78 +2588000 00174cc0ea5e1d8d278933cbd3c8bbf5f1b94dda765fdaddbe0d51a49aa7040c +2588400 0037e24b1da2048f3606af275ac66458d052ac82ef408ed7e3e9ea42d00237fa +2588800 001027dbb204a514a32a790ffd871e03a61ef9b2bfcffcc9f7b33dc45204575a +2589200 000814d9fdb2ab69304e7c577fd0948fb93c61922cb2d71123664a97dbc23fd8 +2589600 00075b40446b6378495ac4c858a395ea4b341e99a192dbf3fc999203dccab36e +2590000 000e025af081ac1d5deac23db13a487a740c1dd11c8edbe101da87491c59987e +2590400 0024d0bb30b7f8a2a9c8d699480d303e0389eee3827b709d1ad0374ab6b57ab7 +2590800 001036c4bad14405ecb516fd7702342e627221558b76890108d49b364a62c2d2 +2591200 00124c377751a06275b51fcbe9226a614d8b40ba68608810b2b23279f8a896cb +2591600 00511575a33289ec41bdd9322b7910c75cf1858dfebceb7012be8a00d8c5e25e +2592000 002e88756241f925c2e583c1591949c1b37a76dddb2b3bba1d7fce049d6cac43 +2592400 0025dac86f46c07862c46b8a9f133eb6996b05213242efd0acfe2ccacc247b0d +2592800 000cc2becb78576b29116209bd8cdb218cff7e82b22f1d19802dcd43bf8d6b98 +2593200 0040d299bb3b5382f40b4a421265643349fa0453788e93e0a31db7f25c5a80d4 +2593600 004dafccdc8152cb85e8b24910396e9ea1df47c2b82b36481c7ca402c7f405a3 +2594000 005c1d143405266648f766e036d71bbc965134b7675a52c661acae52a68a671d +2594400 004e73df55157a562d6908f36022a4b39a39bad6abd423e45143b643714b87fd +2594800 0011297526d9a133adb068ed9df83c4ee66b4da3c1ff59590396917a94021f00 +2595200 001de1406dffa6755a8330043e93dd78245f283deb97f2c9f869e17274139ac6 +2595600 00139f3ce586a51e017eb6dfff7e6feb45847d9859a2ab89206e5268c8ade159 +2596000 001d6a711a1a7df35944b67bdf7f7523f49e48d3657535cda770d3d87670d47c +2596400 0032058829ad6ce5d26af35441ff85bcb0c80af39b41fe3c2f941b6dd4f700d9 +2596800 000aa5f78f90c8ea147d56584edd71c459608e872029dd2c20805b12c272a232 +2597200 0017c0d36cef228f71c3b3e0b1ef6d36219ab634904ad269b5caaa02503ef57c +2597600 001e0974f54783d6116d659c06cd652d53a13e29cf873220f9c5e6fdc6ac9ab5 +2598000 0020795a3b1781c937e0d0882af3334d828aea68ae1fb5d0f4e48d21604863f7 +2598400 0008708b94df86b73a4df0b854b1655c824c249ec8ea5533604ec67e6849657e +2598800 0006ac1470574bd39c8d9ebd2c815d069c523b959d7adcdc58033399edaf6aee +2599200 003a78d1e2ecfe5410a8abf8433e9669f3dde8110f64e3dca5391a0f0c7facf4 +2599600 001cf30f48f1cb9c62ef1d73f8385c48ed77a1f4c9f5924d65e8c266cfcf5252 +2600000 000b9ecc8bd155dedcf64d27771fc79b8b753fef0d8b0a2557eea1c17b0d8fe6 +2600400 00002605f44a66137a91d8fef93d4e3eec0e0b9395793f9157c5a4d475fe84dd +2600800 000051eddffdae0a1b66273ca2af7f9dac62e3167e6c18e26b43be9a126c09d5 +2601200 0000455b4081b8b0acf29c3ea83ed2655573fbec2756f633983ca72c498244ff +2601600 001fd7aa0334ca299f10d642842fe594e112263395e46ac4ff25e899cce6fa8c +2602000 000b65fc715cbf19e259f88e079f195bbf410435522a4edc58d478f0bdf40eb3 +2602400 00005a6a9613774b931a3d917a8b5333d3be2e0219334686ebde3835e47c420d +2602800 000c8ca93453ad7b227dab39a8f4805f2946a02bd313a69b6b88973a7d23e504 +2603200 00077a7b86918c789f6d0d918ec3a0509987d99b61fe92bc487be20adab8fb10 +2603600 0027102dbdfe96462d5a2a05d23a8e61ab1841e2c042a3dc3f2602d3b43f942f +2604000 0012fd14f8bcbe8bcc90b9e94caaf2aa5f846b3c52ecad1c8747ea9f8493388c +2604400 0028bc5aa39fa03f9989e7b39408829c6294c2deb1f3a04f02430469df2fc846 +2604800 006c91f3053b8c371937d913a57a60cca07493e648a43683d5c4458b6cb92df0 +2605200 0009ef1eb52e3acd1f5b178d04423c459f71395a547ff8f31e8965667cf2d646 +2605600 001a638a38e8aef76f1d251de55b433321971ea18e0940201f988cc4a7f226e9 +2606000 00555da1c42794eedcc49866871a86ef23f1c2a9ab8af082748170d2a89e29e9 +2606400 0023181dfca2cc2344a74811fd1733a1552da07f71e6337163a6c173d6e03edd +2606800 00669a430ee16be5ab026389fec1ea9e787dcca22822646066aae3c12849465b +2607200 0025912f1afbedf044209f4d5368f0f8cfc7ac2ae2a36103113cf55460589a9d +2607600 0019e55469477117859b855e26041bf0804627fe9f61821df8ad8f33e2271ae9 +2608000 001111631dffc309c795ef5a16249f858cee35e46c8d74b0566add6d71ffea32 +2608400 00113e9d77b1f8af57f0f6d9fed408d6b9a96fc7dc340d3e4d4b9e7ceca743ae +2608800 00007a34e8e3fbdb32f4ec512456d0d3705549a9054746fc2f6e1d0dbc024f79 +2609200 000fcb99d36ae30f9666a70195e1ffbda74705035986f4949ba7295747b0e3ae +2609600 0006f37ba23902325d30d2ad809f15683e0fe14e740723a0712a67de0e2e862b +2610000 001ec0dab50faa76f18e6f909e47fab55b1c4ca8d3e71ecb2ade5b4cbd0e5fe7 +2610400 003c6d96aa1d919ea8f512e181093d13d762d2d8dd33da09938dadcd260e1e5b +2610800 00141e7a4b4b6648fabda568a2c5fbb2ece5e86243efdbb2cb6c21df681f69d2 +2611200 00160a4588bae7ef7a8fb6434e9ba89b81082ab18ecaa5476cf743eed5c826ba +2611600 000f7ccbf43acf6b3bf994154cde06ad662d14ebb88c7a40874a52c9d2b1d73f +2612000 00013bad8b72f5a971ae0955857ea53d64d670028ee73edc4b708cafc937a7ef +2612400 000392b5bf5b61b83139267452490f66c46e456e28f016ce65beb00b999cbf1e +2612800 0056a08e17a40b4fd706411c71af523f7523fd0800d47be7742b674027f414f7 +2613200 003b86674b0da598750b88ed4eea867a3df98139ad1b45c4161c4381f0279244 +2613600 00182e65033070ea0aa3c39139fc03787257848f2b0ba235e1bb6089d30c1124 +2614000 003ff6847afb29c3c2e6f6c0efc87f3b322676d5f321da489d325f4febc9d90a +2614400 00185af82c7bd90cf3af6fe6aeae937348776867791e2e11362737f4639e93ce +2614800 001ae8bba5e7330338af23fd447272be606058d7acffc8f7e5b4180b43402cc3 +2615200 000a5296eeca33f3444b5976ca2c8a0d073bf398adee39248d635d55ee0d9b68 +2615600 000721d297f8a02edb3aed58d9e71a483c523fc03a129a4e95fbcb0e64cae62d +2616000 0001b34090adc1a19be3ef6a6cd90876ad39acc55a66634f2c2c18255a1368e5 +2616400 00154d5280982e05fd58f43d233709bc7c226d57c0b76f9b2f603698fca69ed5 +2616800 000059727bd647da6e2ad163d9d715084b8d9c4986dacd7213c2268c626ab9f7 +2617200 000455ff6a49dc313e2a4e58b60539ced01ab2c5ae0d80a8ec3d31a472119a15 +2617600 001e33b33a92762aa653a90e3e596e32b9a73d50a9856e72e94815d4897e6335 +2618000 001c6db62adb702e52b76e86e23b9b12f4af0a7f821e448cab977e077ab2311e +2618400 000ba9177eb0ad7c4e600047a2d151537e23fc4e10dce28e99748f7fc2ba4ab5 +2618800 0083378af0cfaec4ab860e94c0eb43ac3cdd22d269568fa4b0d95daf59ddc1a3 +2619200 007658e938a2ba766fb0cbb0bf5a9fc408c36ed762867073d4d41e78c7bdb2a8 +2619600 0011111464dccc6893133287125ca8fc612a0734157ef845a8f5a36e938fd3f5 +2620000 00139f229081782e5f0238fa02da7b0dd7516a0c6c8f7e3bc1940f841146f32b +2620400 00021eff77829d103433c08290df34d7f119744efc5e0f8a3080917ca062c794 +2620800 0015463a631c1cc2c2bf4963c78d685261805638f0086ba77479bf0e814bd036 +2621200 0020b50b5696bd12e97f13067eb772aedafecda7fa01b2b19bc243cf69bee223 +2621600 00a3af146bf8fdc7236df23c8232f8ada61bec043b3d011af143622e73b1ed42 +2622000 0028603097088eca9e801ef90fadbab686d38c21dc55603b9c97a4c0403a64f0 \ No newline at end of file From 847cc163622d58438fc7aa431578e1c6b86f32e7 Mon Sep 17 00:00:00 2001 From: Arya Date: Wed, 6 Dec 2023 20:08:01 -0500 Subject: [PATCH 08/19] updates ESTIMATE_RELEASE_HEIGHT --- zebrad/src/components/sync/end_of_support.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zebrad/src/components/sync/end_of_support.rs b/zebrad/src/components/sync/end_of_support.rs index 0b615c1f050..3fc8633c144 100644 --- a/zebrad/src/components/sync/end_of_support.rs +++ b/zebrad/src/components/sync/end_of_support.rs @@ -13,7 +13,7 @@ use zebra_chain::{ use crate::application::release_version; /// The estimated height that this release will be published. -pub const ESTIMATED_RELEASE_HEIGHT: u32 = 2_290_000; +pub const ESTIMATED_RELEASE_HEIGHT: u32 = 2_340_000; /// The maximum number of days after `ESTIMATED_RELEASE_HEIGHT` where a Zebra server will run /// without halting. From f7a6415b144d0cc6be8288982c2172d450c4f903 Mon Sep 17 00:00:00 2001 From: Arya Date: Thu, 7 Dec 2023 13:34:24 -0500 Subject: [PATCH 09/19] Apply suggestions from code review Co-authored-by: teor --- CHANGELOG.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 632f0864c96..db3e82d1de8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,17 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org). ## [Zebra 1.5.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.5.0) - 2023-11-28 -This release avoids a panic when reading cached sprout or history trees in Zebra v1.4.0, +This release fixes a panic that was introduced in Zebra v1.4.0, which happens in rare circumstances when reading cached sprout or history trees. improves how Zebra recovers from network interruptions, avoids potential network hangs, and limits the ability of synthetic nodes to spread throughout the network through Zebra to address some of the Ziggurat red team report. +As of this release, Zebra requires Rust 1.73 to build. + Finally, we've added an experimental "shielded-scan" feature and the zebra-scan crate as steps -towards supporting shielded scanning in Zebra. There are still known security issues with this -feature, it is not recommended to use important private keys when testing Zebra's experimental -shielded scanning support. Ongoing development is tracked in issue [#7728](https://github.com/ZcashFoundation/zebra/issues/7728). +towards supporting shielded scanning in Zebra. This feature has known security issues. +It is for experimental use only. Ongoing development is tracked in issue [#7728](https://github.com/ZcashFoundation/zebra/issues/7728). -As of this release, Zebra requires Rust 1.73 to build. +### Important Security Warning + +Do not use regular or sensitive viewing keys with Zebra's experimental scanning feature. Do not use this +feature on a shared machine. We suggest generating new keys for experimental use. ### Security @@ -53,7 +57,7 @@ As of this release, Zebra requires Rust 1.73 to build. ### Contributors Thank you to everyone who contributed to this release, we couldn't make Zebra without you: -@arya2, @dependabot[bot], @oxarbitrage, @teor2345 and @upbqdn +@arya2, @oxarbitrage, @teor2345 and @upbqdn ## [Zebra 1.4.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.4.0) - 2023-11-07 From cfb397f55e1ae2e10bb4410183b15d94ad933ac4 Mon Sep 17 00:00:00 2001 From: Arya Date: Thu, 7 Dec 2023 13:48:54 -0500 Subject: [PATCH 10/19] updates estimated release height --- zebrad/src/components/sync/end_of_support.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zebrad/src/components/sync/end_of_support.rs b/zebrad/src/components/sync/end_of_support.rs index 3fc8633c144..340d8fe6da2 100644 --- a/zebrad/src/components/sync/end_of_support.rs +++ b/zebrad/src/components/sync/end_of_support.rs @@ -13,7 +13,7 @@ use zebra_chain::{ use crate::application::release_version; /// The estimated height that this release will be published. -pub const ESTIMATED_RELEASE_HEIGHT: u32 = 2_340_000; +pub const ESTIMATED_RELEASE_HEIGHT: u32 = 2_325_000; /// The maximum number of days after `ESTIMATED_RELEASE_HEIGHT` where a Zebra server will run /// without halting. From 5f7787797f250c637ad2fb7eda8bbfe02829665b Mon Sep 17 00:00:00 2001 From: Arya Date: Thu, 7 Dec 2023 13:54:58 -0500 Subject: [PATCH 11/19] combines changelog entries about scanner db --- CHANGELOG.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index db3e82d1de8..9d02e159b45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,7 +32,7 @@ feature on a shared machine. We suggest generating new keys for experimental use ### Added - feat(config): Add config field for the viewing keys used by zebra-scan ([#7949](https://github.com/ZcashFoundation/zebra/pull/7949)) -- feat(scan): Add basic RAM database to store keys and scan results ([#7942](https://github.com/ZcashFoundation/zebra/pull/7942)) +- feat(scan): Add on-disk database to store keys and scan results ([#7942](https://github.com/ZcashFoundation/zebra/pull/7942), [#8036](https://github.com/ZcashFoundation/zebra/pull/8036)) - feat(scan): Spawn zebra-scan task from zebrad with configured viewing keys ([#7989](https://github.com/ZcashFoundation/zebra/pull/7989)) - feat(scan): Create a scan_block function to use across scanning tasks ([#7994](https://github.com/ZcashFoundation/zebra/pull/7994)) - feat(scan): Scan blocks with Sapling keys and write the results to the database ([#8040](https://github.com/ZcashFoundation/zebra/pull/8040)) @@ -43,10 +43,9 @@ feature on a shared machine. We suggest generating new keys for experimental use - change(state): Expose ZebraDb methods that can create different kinds of databases ([#8002](https://github.com/ZcashFoundation/zebra/pull/8002)) - change(state): Make the types for finalized blocks consistent ([#7923](https://github.com/ZcashFoundation/zebra/pull/7923)) - change(scan): Create a scanner storage database ([#8031](https://github.com/ZcashFoundation/zebra/pull/8031)) -- change(scan): Use the on-disk database for keys and results ([#8036](https://github.com/ZcashFoundation/zebra/pull/8036)) - change(scan): Store scanned TXIDs in "display order" ([#8057](https://github.com/ZcashFoundation/zebra/pull/8057)) - change(scan): Create a function that scans one block by height, and stores the results in the database ([#8045](https://github.com/ZcashFoundation/zebra/pull/8045)) -- change(scan): Store one transaction ID per database row, to make queries easier ([#8062](https://github.com/ZcashFoundation/zebra/pull/8062) +- change(scan): Store one transaction ID per database row, to make queries easier ([#8062](https://github.com/ZcashFoundation/zebra/pull/8062)) ### Fixed From 5db50f0b72bbcd6162d46765c9a3d0ab28152a54 Mon Sep 17 00:00:00 2001 From: Arya Date: Thu, 7 Dec 2023 13:58:23 -0500 Subject: [PATCH 12/19] zebra-scan is still in alpha --- zebra-scan/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zebra-scan/Cargo.toml b/zebra-scan/Cargo.toml index f1945ee63f1..f4884e2f1a6 100644 --- a/zebra-scan/Cargo.toml +++ b/zebra-scan/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "zebra-scan" -version = "0.1.0-beta.1" +version = "0.1.0-alpha.1" authors = ["Zcash Foundation "] description = "Shielded transaction scanner for the Zcash blockchain" license = "MIT OR Apache-2.0" From 2aabc24206b78ef686ec771e8237748cb86979f0 Mon Sep 17 00:00:00 2001 From: Arya Date: Thu, 7 Dec 2023 15:29:21 -0500 Subject: [PATCH 13/19] Update CHANGELOG.md --- CHANGELOG.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d02e159b45..83580dba062 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org). ## [Zebra 1.5.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.5.0) - 2023-11-28 -This release fixes a panic that was introduced in Zebra v1.4.0, which happens in rare circumstances when reading cached sprout or history trees. -improves how Zebra recovers from network interruptions, avoids potential network hangs, and -limits the ability of synthetic nodes to spread throughout the network through Zebra to -address some of the Ziggurat red team report. +This release: +- fixes a panic that was introduced in Zebra v1.4.0, which happens in rare circumstances when reading cached sprout or history trees. +- further improves how Zebra recovers from network interruptions and prevents potential network hangs. +- limits the ability of synthetic nodes to spread throughout the network through Zebra to address some of the Ziggurat red team report. As of this release, Zebra requires Rust 1.73 to build. From 7109276bc990032db0311347ea1cf5ad64b2cec2 Mon Sep 17 00:00:00 2001 From: Arya Date: Thu, 7 Dec 2023 15:44:52 -0500 Subject: [PATCH 14/19] update release checklist for zebra-scan --- .github/PULL_REQUEST_TEMPLATE/release-checklist.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/release-checklist.md b/.github/PULL_REQUEST_TEMPLATE/release-checklist.md index e25f0b64ce9..9a0e1338835 100644 --- a/.github/PULL_REQUEST_TEMPLATE/release-checklist.md +++ b/.github/PULL_REQUEST_TEMPLATE/release-checklist.md @@ -83,7 +83,8 @@ Check that the release will work: - [ ] Update crate versions, commit the changes to the release branch, and do a release dry-run: ```sh -cargo release version --verbose --execute --allow-branch '*' --workspace --exclude zebrad beta +cargo release version --verbose --execute --allow-branch '*' --workspace --exclude zebrad --exclude zebra-scan beta +cargo release version --verbose --execute --allow-branch '*' --package zebra-scan alpha # Increment version manually if this doesn't work cargo release version --verbose --execute --allow-branch '*' --package zebrad patch # [ major | minor | patch ] cargo release replace --verbose --execute --allow-branch '*' --package zebrad cargo release commit --verbose --execute --allow-branch '*' From c5384ad2108ce51825286def916320a2700eb0e7 Mon Sep 17 00:00:00 2001 From: Arya Date: Thu, 7 Dec 2023 18:50:31 -0500 Subject: [PATCH 15/19] use fastmod to update zebra-scan version --- .github/PULL_REQUEST_TEMPLATE/release-checklist.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/release-checklist.md b/.github/PULL_REQUEST_TEMPLATE/release-checklist.md index 9a0e1338835..8fd423ec91b 100644 --- a/.github/PULL_REQUEST_TEMPLATE/release-checklist.md +++ b/.github/PULL_REQUEST_TEMPLATE/release-checklist.md @@ -43,7 +43,7 @@ Update the README to: - [ ] Update the "Build and Run Instructions" with any new dependencies. Check for changes in the `Dockerfile` since the last tag: `git diff docker/Dockerfile`. - [ ] If Zebra has started using newer Rust language features or standard library APIs, update the known working Rust version in the README, book, and `Cargo.toml`s - +\d You can use a command like: ```sh fastmod --fixed-strings '1.58' '1.65' @@ -84,7 +84,8 @@ Check that the release will work: ```sh cargo release version --verbose --execute --allow-branch '*' --workspace --exclude zebrad --exclude zebra-scan beta -cargo release version --verbose --execute --allow-branch '*' --package zebra-scan alpha # Increment version manually if this doesn't work +fastmod -d zebra-scan -e toml -F '0.1.0-alpha.1' '0.1.0-alpha.2' # Update this command if zebra-scan is still in alpha and alpha version bumps won't work with cargo-release +# cargo release version --verbose --execute --allow-branch '*' --package zebra-scan beta # [ major | minor | patch ] cargo release version --verbose --execute --allow-branch '*' --package zebrad patch # [ major | minor | patch ] cargo release replace --verbose --execute --allow-branch '*' --package zebrad cargo release commit --verbose --execute --allow-branch '*' From 12063c125500074cfa1a126ae03f7dd51b20f140 Mon Sep 17 00:00:00 2001 From: Arya Date: Thu, 7 Dec 2023 23:36:17 -0500 Subject: [PATCH 16/19] corrects zebra-scan version requirement in zebrad --- Cargo.lock | 2 +- zebrad/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 08b70719401..6b71351dfb9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5795,7 +5795,7 @@ dependencies = [ [[package]] name = "zebra-scan" -version = "0.1.0-beta.1" +version = "0.1.0-alpha.1" dependencies = [ "bls12_381", "chrono", diff --git a/zebrad/Cargo.toml b/zebrad/Cargo.toml index d72afdea586..2e04355249d 100644 --- a/zebrad/Cargo.toml +++ b/zebrad/Cargo.toml @@ -156,7 +156,7 @@ zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.32" } zebra-state = { path = "../zebra-state", version = "1.0.0-beta.32" } # Experimental shielded-scan feature -zebra-scan = { path = "../zebra-scan", version = "0.1.0-beta.1", optional = true } +zebra-scan = { path = "../zebra-scan", version = "0.1.0-alpha.1", optional = true } # Required for crates.io publishing, but it's only used in tests zebra-utils = { path = "../zebra-utils", version = "1.0.0-beta.32", optional = true } From 13a59e20f1a99fae2e874e51bd5947c921b85149 Mon Sep 17 00:00:00 2001 From: Arya Date: Fri, 8 Dec 2023 10:28:53 -0500 Subject: [PATCH 17/19] Applies suggestions from review --- .github/PULL_REQUEST_TEMPLATE/release-checklist.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/release-checklist.md b/.github/PULL_REQUEST_TEMPLATE/release-checklist.md index 8fd423ec91b..adf1395161f 100644 --- a/.github/PULL_REQUEST_TEMPLATE/release-checklist.md +++ b/.github/PULL_REQUEST_TEMPLATE/release-checklist.md @@ -43,7 +43,7 @@ Update the README to: - [ ] Update the "Build and Run Instructions" with any new dependencies. Check for changes in the `Dockerfile` since the last tag: `git diff docker/Dockerfile`. - [ ] If Zebra has started using newer Rust language features or standard library APIs, update the known working Rust version in the README, book, and `Cargo.toml`s -\d + You can use a command like: ```sh fastmod --fixed-strings '1.58' '1.65' @@ -84,8 +84,8 @@ Check that the release will work: ```sh cargo release version --verbose --execute --allow-branch '*' --workspace --exclude zebrad --exclude zebra-scan beta -fastmod -d zebra-scan -e toml -F '0.1.0-alpha.1' '0.1.0-alpha.2' # Update this command if zebra-scan is still in alpha and alpha version bumps won't work with cargo-release -# cargo release version --verbose --execute --allow-branch '*' --package zebra-scan beta # [ major | minor | patch ] +# Due to a bug in cargo-release, we need to pass an exact version here +cargo release version --verbose --execute --allow-branch '*' --package zebra-scan 0.1.0-alpha.1 cargo release version --verbose --execute --allow-branch '*' --package zebrad patch # [ major | minor | patch ] cargo release replace --verbose --execute --allow-branch '*' --package zebrad cargo release commit --verbose --execute --allow-branch '*' From acdaa9beeb80f5c4b2196bdaff2d102be6e77638 Mon Sep 17 00:00:00 2001 From: Arya Date: Mon, 11 Dec 2023 13:33:34 -0500 Subject: [PATCH 18/19] updates changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 83580dba062..44ef7d72016 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,6 +37,7 @@ feature on a shared machine. We suggest generating new keys for experimental use - feat(scan): Create a scan_block function to use across scanning tasks ([#7994](https://github.com/ZcashFoundation/zebra/pull/7994)) - feat(scan): Scan blocks with Sapling keys and write the results to the database ([#8040](https://github.com/ZcashFoundation/zebra/pull/8040)) - poc(scan): Proof of concept for shielded scanning ([#7758](https://github.com/ZcashFoundation/zebra/pull/7758)) +- add(docker): Add `ldb` RocksDB query tool to the Dockerfile ([#8074](https://github.com/ZcashFoundation/zebra/pull/8074)) ### Changed @@ -46,12 +47,14 @@ feature on a shared machine. We suggest generating new keys for experimental use - change(scan): Store scanned TXIDs in "display order" ([#8057](https://github.com/ZcashFoundation/zebra/pull/8057)) - change(scan): Create a function that scans one block by height, and stores the results in the database ([#8045](https://github.com/ZcashFoundation/zebra/pull/8045)) - change(scan): Store one transaction ID per database row, to make queries easier ([#8062](https://github.com/ZcashFoundation/zebra/pull/8062)) +- change(log): Silence verbose failed connection logs ([#8072](https://github.com/ZcashFoundation/zebra/pull/8072)) ### Fixed - fix(db): Fix a sprout/history tree read panic in Zebra v1.4.0, which only happens before the 25.3.0 state upgrade completes ([#7972](https://github.com/ZcashFoundation/zebra/pull/7972)) - fix(net): Fix potential network hangs, and reduce code complexity ([#7859](https://github.com/ZcashFoundation/zebra/pull/7859)) - fix(scan): Start scanning task only if there are keys to scan ([#8059](https://github.com/ZcashFoundation/zebra/pull/8059)) +- fix(rpc): Make the `verbose` argument of the `getrawtransaction` RPC optional ([#8076](https://github.com/ZcashFoundation/zebra/pull/8076)) ### Contributors From 0fd7c6ab1812117412795ac40e0426ab06f3551c Mon Sep 17 00:00:00 2001 From: Arya Date: Mon, 11 Dec 2023 15:02:08 -0500 Subject: [PATCH 19/19] Update zebrad/src/components/sync/end_of_support.rs --- zebrad/src/components/sync/end_of_support.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zebrad/src/components/sync/end_of_support.rs b/zebrad/src/components/sync/end_of_support.rs index 340d8fe6da2..760ded544d8 100644 --- a/zebrad/src/components/sync/end_of_support.rs +++ b/zebrad/src/components/sync/end_of_support.rs @@ -13,7 +13,7 @@ use zebra_chain::{ use crate::application::release_version; /// The estimated height that this release will be published. -pub const ESTIMATED_RELEASE_HEIGHT: u32 = 2_325_000; +pub const ESTIMATED_RELEASE_HEIGHT: u32 = 2_330_000; /// The maximum number of days after `ESTIMATED_RELEASE_HEIGHT` where a Zebra server will run /// without halting.