perf(transaction): cache empty ZIP-244 bundle hashes#288
Open
czarcas7ic wants to merge 8 commits into
Open
Conversation
Contributor
Author
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep it up! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
czarcas7ic
marked this pull request as ready for review
July 19, 2026 23:02
p0mvn
approved these changes
Jul 19, 2026
evan-forbes
approved these changes
Jul 20, 2026
…44-bundle-hashes # Conflicts: # zakura-chain/src/transaction/zip244.rs
Contributor
Zakura PR node run — tip/mainnet ✅
Height over time
Notes
Droplet deleted after the run. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
ZIP-244 transaction IDs and authorizing-data digests recompute fixed BLAKE2b hashes whenever transparent, Sapling, Orchard, or Ironwood bundle nodes are absent.
Solution
Use verified constants for those empty digest nodes and for missing Sapling spend or output children. A unit test recomputes every constant from its personalization.
The digest benchmark now covers both an Orchard-only V5 transaction and an Ironwood-only V6 transaction. The V6 case leaves the transparent, Sapling, and Orchard bundles empty.
Benchmark
Using the same Ironwood-only V6 benchmark harness on main at 819ef11 and this branch:
Rerun with:
cargo bench -p zakura-chain --bench transaction --locked -- ironwood_onlyTesting
cargo fmt --all -- --checkcargo test -p zakura-chain zip244 --lockedcargo bench -p zakura-chain --bench transaction --locked -- ironwood_onlycargo clippy -p zakura-chain --all-targets --locked -- -D warnings