-
Notifications
You must be signed in to change notification settings - Fork 3
Upstream 2025-09-24 #220
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Upstream 2025-09-24 #220
Conversation
…cashFoundation#9860) Bumps the prod group with 15 updates in the / directory: | Package | From | To | | --- | --- | --- | | [bitflags](https://github.com/bitflags/bitflags) | `2.9.1` | `2.9.4` | | [clap](https://github.com/clap-rs/clap) | `4.5.43` | `4.5.47` | | [ed25519-zebra](https://github.com/ZcashFoundation/ed25519-zebra) | `4.0.3` | `4.1.0` | | [hyper](https://github.com/hyperium/hyper) | `1.6.0` | `1.7.0` | | [indexmap](https://github.com/indexmap-rs/indexmap) | `2.10.0` | `2.11.0` | | [rayon](https://github.com/rayon-rs/rayon) | `1.10.0` | `1.11.0` | | [regex](https://github.com/rust-lang/regex) | `1.11.1` | `1.11.2` | | [reqwest](https://github.com/seanmonstar/reqwest) | `0.12.22` | `0.12.23` | | [serde_json](https://github.com/serde-rs/json) | `1.0.142` | `1.0.143` | | [syn](https://github.com/dtolnay/syn) | `2.0.104` | `2.0.106` | | [tempfile](https://github.com/Stebalien/tempfile) | `3.20.0` | `3.21.0` | | [thiserror](https://github.com/dtolnay/thiserror) | `2.0.12` | `2.0.16` | | [tinyvec](https://github.com/Lokathor/tinyvec) | `1.9.0` | `1.10.0` | | [tower](https://github.com/tower-rs/tower) | `0.4.13` | `0.5.2` | | [config](https://github.com/rust-cli/config-rs) | `0.15.14` | `0.15.15` | Updates `bitflags` from 2.9.1 to 2.9.4 - [Release notes](https://github.com/bitflags/bitflags/releases) - [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md) - [Commits](bitflags/bitflags@2.9.1...2.9.4) Updates `clap` from 4.5.43 to 4.5.47 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](clap-rs/clap@clap_complete-v4.5.43...clap_complete-v4.5.47) Updates `ed25519-zebra` from 4.0.3 to 4.1.0 - [Release notes](https://github.com/ZcashFoundation/ed25519-zebra/releases) - [Changelog](https://github.com/ZcashFoundation/ed25519-zebra/blob/main/CHANGELOG.md) - [Commits](ZcashFoundation/ed25519-zebra@4.0.3...4.1.0) Updates `hyper` from 1.6.0 to 1.7.0 - [Release notes](https://github.com/hyperium/hyper/releases) - [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md) - [Commits](hyperium/hyper@v1.6.0...v1.7.0) Updates `indexmap` from 2.10.0 to 2.11.0 - [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md) - [Commits](indexmap-rs/indexmap@2.10.0...2.11.0) Updates `rayon` from 1.10.0 to 1.11.0 - [Changelog](https://github.com/rayon-rs/rayon/blob/main/RELEASES.md) - [Commits](rayon-rs/rayon@rayon-core-v1.10.0...rayon-core-v1.11.0) Updates `regex` from 1.11.1 to 1.11.2 - [Release notes](https://github.com/rust-lang/regex/releases) - [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md) - [Commits](rust-lang/regex@1.11.1...1.11.2) Updates `reqwest` from 0.12.22 to 0.12.23 - [Release notes](https://github.com/seanmonstar/reqwest/releases) - [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md) - [Commits](seanmonstar/reqwest@v0.12.22...v0.12.23) Updates `serde_json` from 1.0.142 to 1.0.143 - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](serde-rs/json@v1.0.142...v1.0.143) Updates `syn` from 2.0.104 to 2.0.106 - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](dtolnay/syn@2.0.104...2.0.106) Updates `tempfile` from 3.20.0 to 3.21.0 - [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md) - [Commits](Stebalien/tempfile@v3.20.0...v3.21.0) Updates `thiserror` from 2.0.12 to 2.0.16 - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](dtolnay/thiserror@2.0.12...2.0.16) Updates `tinyvec` from 1.9.0 to 1.10.0 - [Changelog](https://github.com/Lokathor/tinyvec/blob/main/CHANGELOG.md) - [Commits](Lokathor/tinyvec@v1.9.0...v1.10.0) Updates `tower` from 0.4.13 to 0.5.2 - [Release notes](https://github.com/tower-rs/tower/releases) - [Commits](tower-rs/tower@tower-0.4.13...tower-0.5.2) Updates `config` from 0.15.14 to 0.15.15 - [Changelog](https://github.com/rust-cli/config-rs/blob/main/CHANGELOG.md) - [Commits](rust-cli/config-rs@v0.15.14...v0.15.15) --- updated-dependencies: - dependency-name: bitflags dependency-version: 2.9.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod - dependency-name: clap dependency-version: 4.5.47 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod - dependency-name: ed25519-zebra dependency-version: 4.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod - dependency-name: hyper dependency-version: 1.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod - dependency-name: indexmap dependency-version: 2.11.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod - dependency-name: rayon dependency-version: 1.11.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod - dependency-name: regex dependency-version: 1.11.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod - dependency-name: reqwest dependency-version: 0.12.23 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod - dependency-name: serde_json dependency-version: 1.0.143 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod - dependency-name: syn dependency-version: 2.0.106 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod - dependency-name: tempfile dependency-version: 3.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod - dependency-name: thiserror dependency-version: 2.0.16 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod - dependency-name: tinyvec dependency-version: 1.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod - dependency-name: tower dependency-version: 0.5.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: prod - dependency-name: config dependency-version: 0.15.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: prod ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(rpc): add getmempoolinfo RPC method * apply suggestion from review Co-authored-by: Conrado <[email protected]> * apply suggestion from review Co-authored-by: Conrado <[email protected]> --------- Co-authored-by: Conrado <[email protected]>
* improve qa config arguments for zebra * use list of funding streams, add activation heights * add feature_nu6_1.py test * move test funding streams to the test files * fix some newlines * fix regtest lockbox_disbursement from config * use lockbox_disbursements as an argument * fix test
…hFoundation#9819) * Adds `which` as a build dep of zebra-rpc * - Updates `zebra-rpc/build.rs` to copy generated proto files into output dir instead of re-compiling them if `protoc` is not available - Adds proto files to `zebra-rpc/proto/__generated__` * updates changelog * updates changelog * Avoids copying files if they already exist and match. * skip recompilation for downstream users by not attempting to rebuild if the proto files are absent --------- Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
…dation#9814) * Defines permitted `unexpected_cfg` lints for workspace and sets each crate to use the lints config from the workspace * - Adds arm for `ZFuture` in `match NetworkUpgrade` statements - Defines a consensus branch id for `ZFuture` * Adds a `zfuture` field to `ConfiguredActivationHeights` and updates `ParametersBuilder::with_activation_heights()` to allow users to define a ZFuture network upgrade activation height in the config when Zebra is compiled with `zcash_unstable="zfuture"`. * Hides the new `zfuture` field behind cfg(zcash_unstable=zfuture) * Adds comments explaining the allowed cfg flags
…nt.sh (ZcashFoundation#9890) The entrypoint.sh was updated to use `config-rs` but the directory creation and permissions setup was removed, causing "Permission denied" errors in tests like `sync_full_mainnet` when trying to create cached database files. This restores the permissions handling using the correct `ZEBRA_SECTION__KEY` environment variable format that config-rs expects. Fixes permission denied errors in cached database creation during tests.
…sible (ZcashFoundation#9828) * deduplicate valuecommitment * use sapling_crypto `ExtractedNoteCommitment` for `cm_u` field of `Output` * cleanup * add a todo for pedersen_hash * try upstream `pedersen_hash` * remove all pedersen_hash code and note commitment tree tests * use upstream `Node` * clippy * apply some of the suggestions from code review
…shFoundation#9809) * add(state): Backup non-finalized state in state cache directory - Defines a non-finalized state backup directory path relative to the state cache directory path - Adds a `NonFinalizedState::restore_backup()` method that reads from the directory and attempts to commit any blocks in it * - Moves logic for restoring backups to its own module - Refactors `restore_backup()` method into `with_backup()` method that should also spawn the backup task * - Moves logic for reading and processing backup files out of `restore_backup()` into their own fns - Adds and calls a stub `spawn_backup_task()` fn for writing the latest non-finalized state to the backup dir, and - Updates `with_backup()` method docs. * - Makes fns in `backup` mod private to the `non_finalized_state` mod - Adds an info log - Adds a `backup_task()` fn * Makes `StateService::new()` an async fn * Updates `duration_short()` to print microseconds when formatting durations less than 5 ms * - Moves blocking ops in `StateService::new()` to blocking tasks, and - Updates warning msg from `NonFinalizedBlocksListener::spawn()` when non-finalized state receiver is closed. * - Checks that block hashes in file name match computed block hashes when restoring blocks from non-finalized state backup - Removes unnecessary function * Implements `run_backup_task()`, writing blocks in the non-finalized state to the backup cache. * - Fixes a bug where the non-finalized state would not be restored from the backup cache - Fixes a bug where the state service uses the finalized tip as the initial chain tip in the latest chain tip channels even when there are non-finalized blocks restored from the backup cache * Rate limits updates to non-finalized state backup cache * Adds a config field to allow for disabling non-finalized state backup cache. * Fixes clippy lints, minor cleanup * - Reads/writes deferred pool balance change to non-finalized block backup files - Adds a unit test * Updates `validate_and_commit_non_finalized()` to check for parent block in non-finalized state before checking rocksdb * Fixes clippy lints * Fixes bad test config * Updates `raw_future_blocks()` to avoid caching a backup of its non-finalized state on disk * Drops finalized block write sender when instantiating state service if the finalized tip height is above the max checkpoint height, or skips restoring non-finalized state from backup cache otherwise. * Adds any blocks that were restored from the non-finalized backup cache to `SentHashes` when instantiating StateService * updates test config * Fixes a bug where the non-finalized state backup directory would not be created if the finalized tip is below the max checkpoint height * Fixes a bug where Zebra would log the wrong initial state cache height when blocks are restored from the non-finalized state backup cache * Merge remote-tracking branch 'origin/main' into non-final-blocks-backup * Updates state service initialization to read the best tip in a blocking task * Adds a note in the field docs for `should_backup_non_finalized_state` about rate limits * Fixes a bug where the chain would stall when the finalized tip is past the max checkpoint hash and Zebra is attempting to restore blocks from the non-finalized backup cache, but commits no valid blocks to the initial non-finalized state and initializes the finalized block write sender as `None` such that `sent_hashes.can_fork_chain_at` always remains false.
…cashFoundation#9888) * Moves `Network::checkpoint_list()` method from `zebra-consensus` to `zebra-chain`. * Allows configuration of checkpoints on custom Testnets/Regtest * - Updates stored configs to pass validation with empty checkpoints by default - Adds stored config using the new `checkpoints` field - Updates network config deserialization to restore previous behaviour where it would use the default funding streams if none were provided - Updates a test to use the custom testnet without default checkpoints - Fixes lints * Adds an acceptance test for non-finalized state backups above and below the max checkpoint height * Updates `restores_non_finalized_state_and_commits_new_blocks` to check that Zebra still syncs blocks when the finalized tip is past the max checkpoint height but the non-finalized state is initially empty. * Python backup state tests (ZcashFoundation#9896) * add `feature_backup_non_finalized_state.py` * remove non-finalized state hack from wallet python test * apply wait time fixes * extend the test * adds lockbox disbursements to regtest debug output --------- Co-authored-by: Alfredo Garcia <[email protected]>
* rpc: add chainInfo support to getaddressutxos * cleanup handling of calls with single/multi addresses support * Apply suggestions from code review Co-authored-by: Arya <[email protected]> * Apply suggestions from code review Co-authored-by: Arya <[email protected]> * address comments * return hash and height that matches response contents * document changes, move height and hash into AddressUtxos * use trait to get validate addresses --------- Co-authored-by: Arya <[email protected]> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* chore: clippy fixes * fix typo
…n#9883) * feat: new CI * refactor(ci)!: simplify CI and make it work on forks BREAKING CHANGE: Docs now deploy to GitHub Pages instead of Firebase We had a mess of patch files and external service dependencies that made it impossible for contributors to run CI on their forks. This fixes that. What changed: - Deleted all 19 patch workflow files (2,900+ lines removed) - Merged related workflows together for better maintainability - Moved docs from Firebase to GitHub Pages - Renamed ZFND workflows with `zfnd-` prefix for clarity and easy disabling - Consolidated test workflows into test-crates, test-docker, tests-unit - Added proper GitHub Pages deployment with both user and dev books Security & quality improvements: - Fixed workflow permissions across all files (minimal permissions by default) - Fixed secret inheritance to use explicit secret passing - Added `alls-green` checks to multi-job workflows for consistent CI validation - Fixed security scanner warnings (zizmor compliance) - Removed unused dependencies (tinyvec from 7 crates, jsonrpc from zebra-utils) - Fixed Docker Scout permission issues for fork PRs Test & coverage improvements: - Fixed coverage workflow to use nextest - Added dynamic timeouts for tests running under coverage instrumentation - Improved Windows test compatibility Now when someone forks the repo, CI just works without any extra setup after disabling all `zfnd-` prefixed workflows. All workflows are self-contained and don't depend on external services that fork users don't have access to. * fix(deps): resolve cargo deny duplicate and unmatched skip warnings - Added skip for windows-sys 0.60.2 to allow duplicate with 0.61.0 - Added base64 0.21.7 to skip-tree to handle multiple versions - Removed unused skip entries for tonic, prost-types, quick-xml, and hashbrown - Cleaned up comments for better clarity --------- Co-authored-by: Conrado <[email protected]>
…tion#9912) * fix(workflows): add missing permissions and protoc dependencies
…undation#9916) * fix(ci): align alls-green checks with dependency conditions - ensure integration success job mirrors fork/label gating - skip deployment success on skipped deploys and ignore versioning - gate cleanup/release success checks on owner-specific jobs - allow reusable deployment check to skip create-state-image when absent * fix: use correct and minimal permissions for secrets * fix(ci): simplify cached disk mounts - drop partition-specific container mount logic - remove derived partition metadata and labels when capturing state disks
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
…Foundation#9877) * Update worker.rs * Update layer.rs * Update service.rs
…on#9917) * reduce default `crawl_new_peer_interval` * remove reindex test --------- Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
# Conflicts: # .github/workflows/sub-ci-unit-tests-docker.yml
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This is an upstream sync pull request that brings in changes from the main branch dated 2025-09-24. The changes include significant updates to the Zcash ecosystem integration, state management improvements, and various bug fixes and enhancements.
- Migrated from deprecated
jubjub::Fqtypes tosapling_cryptotypes throughout the codebase - Added non-finalized state backup and restore functionality for improved crash recovery
- Enhanced RPC functionality with new methods and improved parameter handling
- Updated network configuration handling for regtest parameters
Reviewed Changes
Copilot reviewed 183 out of 190 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| zebra-state/src/service/non_finalized_state/backup.rs | New backup system for non-finalized state with cache management |
| zebra-rpc/src/methods.rs | Added getmempoolinfo RPC method and improved address parameter handling |
| zebra-chain/src/sapling/ | Migrated from jubjub::Fq to sapling_crypto types for better compatibility |
| zebra-state/src/service.rs | Async state initialization and backup integration |
| zebra-network/src/config.rs | Enhanced testnet parameter configuration with checkpoints support |
| zebra-consensus/src/checkpoint/ | Refactored checkpoint handling to use shared types from zebra-chain |
Files not reviewed (2)
- Cargo.lock: Language not supported
- zebra-rpc/proto/generated/zebra.indexer.rpc.rs: Language not supported
Comments suppressed due to low confidence (6)
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
254600f to
e79915a
Compare
|
27 Jobs Failed: Crosslink Tests / Crosslink Tests failed on "Run Crosslink tests with nextest"26 jobs failed running on non-Blacksmith runners. Summary: 3 successful workflows, 5 failed workflows
Last updated: 2025-09-25 01:15:33 UTC |
No description provided.