0.5.0-rc2: rebase ironwood onto 0.4.3 (CI only)#5
Closed
emersonian wants to merge 13 commits into
Closed
Conversation
Add opt-in Ironwood (NU6.3 / V6) support behind a default-off `ironwood` cargo feature: the PostNu6_3 proving key and proof step, the NU6.3 regtest activation height, ironwood receive discovery and balance rollup, and `pool == "ironwood"` labelling. The librustzcash set is pinned to a currently-working zecrocks fork of librustzcash, which will be repointed to mainline librustzcash before release. With the feature off the default build is unchanged. Also adds transparent recovery-window policy controls and an ironwood regtest. Co-authored-by: AI <noreply+norm@overpay.com>
…checkpoint-pruning fix Repoint shardtree and incrementalmerkletree to a currently-working zecrocks fork for the explicit-checkpoint-retention APIs plus a fix for a panic when pruning a checkpoint whose flags need clearing; this will be repointed upstream before release. Also run the ironwood NU6.3 regtest tier for PRs targeting the ironwood branch. Co-authored-by: AI <noreply+norm@overpay.com>
Rebase the pin onto the latest ironwood-scan-model on the currently-working zecrocks fork of librustzcash, which will be repointed to mainline librustzcash before release, and bump the patch rev. - Route Ironwood sends through the fused build path (the ironwood_forces_fused gate) since upstream still rejects Ironwood PCZTs; input selection now takes SpendPolicy. - Add an ironwood receive-memo end-to-end regtest proving Ironwood-domain memo decryption. Co-authored-by: AI <noreply+norm@overpay.com>
The zecrocks incrementalmerkletree fork existed only to carry the clear_flags checkpoint-pruning panic fix, which has now landed upstream. Repoint shardtree and incrementalmerkletree from the fork to zcash/incrementalmerkletree main (same crate versions, API-compatible) and drop the fork. The librustzcash pin is unchanged. Co-authored-by: AI <noreply+norm@overpay.com>
Drop the dev-only `ironwood` cargo feature and its 16 cfg gates; ironwood is now always compiled and activated purely by consensus height, so it is on for testnet (NU6.3 height 4_134_000), off for mainnet, and opt-in on regtest via the `ZECD_REGTEST_NU63_HEIGHT` env var, with no build flag. The proving-key cache is unconditionally the V5 Orchard circuit, since every post-NU6.3 send routes through the fused build path that builds its own key. This is an RC posture; the real release will pin published crates.io librustzcash instead of the git rev. Co-authored-by: AI <noreply+norm@overpay.com>
Also make the numeric version encoding take each component's leading digit run, so the -rc0 pre-release suffix parses instead of panicking.
The bundled stack pinned zebra 5.0.0, which carries no NU6.3, so the testnet deployment could never activate ironwood. Point the testnet base at the ironwood release candidate and pin mainnet back to the stable release, since ironwood is testnet-only. Co-authored-by: AI <noreply+norm@overpay.com>
Add an ironwood regtest assertion that `getnewaddress` yields a non-empty, valid unified address once NU6.3 is active, guarding the address path on a post-activation chain. Co-authored-by: AI <noreply+norm@overpay.com>
Pin the librustzcash set by git rev to the official zcash/librustzcash ironwood line (dw/ironwood-scan-model) instead of the zecrocks fork, and drop the self-send received-note memo backfill cherry-pick that only the fork carried (it is being submitted upstream separately). The ironwood wallet crates are not published to crates.io yet, so the set stays git-pinned to upstream until they land. Co-authored-by: AI <noreply+norm@overpay.com>
Zebra 6.0.0 is released and serves both networks (Orchard on mainnet, ironwood on testnet), so bump the testnet compose base, the regtest ironwood tier, and the workflow default from the 6.0.0-rc.0 candidate to 6.0.0. The mainnet overlay no longer needs a separate zebra pin and reuses the base image. Co-authored-by: AI <noreply+norm@overpay.com>
Co-authored-by: AI <noreply+norm@overpay.com>
Rebase the ironwood line onto 0.4.3 and repoint librustzcash to the upstream zcash/librustzcash ironwood branch, retiring the interim zecrocks fork. Ironwood now carries every 0.4.x fix through 0.4.3. Co-authored-by: AI <noreply+norm@overpay.com>
Contributor
Author
|
CI green (CI + Docker + Regtest E2E all passed). Branches force-pushed to release/0.5.x, main, ironwood and tagged v0.5.0-rc2. Closing this CI-only PR. |
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.
Draft for CI only — do not merge. This branch will be force-pushed to
release/0.5.x,main, andironwood; it is not meant to merge intorelease/0.4.x. It is based againstrelease/0.4.xhere purely so the diff shows the clean ironwood delta on top ofv0.4.3.What this is
release/0.5.x(the ironwood / NU6.3 line) rebased from its oldv0.4.2base ontov0.4.3, so the RC now carries every 0.4.x maintenance fix through 0.4.3:/readyzdefaults tosynced+ per-walletscan_laglibrustzcash stays pinned to the upstream
zcash/librustzcashironwood rev (git pin until the ironwood wallet crates publish); the interim zecrocks fork is retired. Version bumped to0.5.0-rc2.The one real merge point was the
cached_pczt_pathdoc comment (ironwood's "forced to fused once NU6.3 active" note now coexists with 3.14's Sapling-output-diversion note). Two public-only zebra-6.0.0 commits were re-stamped to remove future-dated timestamps.Local verification
cargo build— clean (zecd v0.5.0-rc2, upstream librustzcash git-pin)cargo test --lib— 267 passed, 0 failed, incl. the 3.14/3.15/3.16 fix testsConfirming CI + Regtest E2E here before tagging
v0.5.0-rc2.