chore(main): release zkool 7.0.0#995
Closed
hhanh00 wants to merge 912 commits into
Closed
Conversation
…tree ZIP-227: first issuance includes a zero-value reference note with a well-known recipient. Its cmx must enter the Orchard Merkle tree but we must not create a wallet note for it. Set owner=None for value=0 notes so try_decrypt naturally skips them. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…upport - Sync ZSA notes from orchard_buckets to input_pools[2] for the builder, so ZSA notes become actual spends (fixes NoSplitNoteAvailable). - Count non-ZEC inputs in FeeManager so orchard action count is correct. - Add per-asset orchard change outputs to fee estimation. - Add dummy ZEC recipient (amount 0, own orchard address) when ZSA assets present but no ZEC output would exist. - Sort recipients ZEC-first so the builder processes ZEC before ZSA. - Show asset name and value in orchard input log lines. - Fix COALESCE zero-asset-base assert in get_orchard_note by treating [0;32] as AssetBase::zatoshi(). - Wire orchard_buckets into fill_single_receivers for asset-aware per-asset input selection and change computation. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Remove if asset_change > 0 guard so a 0-value change output is always emitted for each asset, keeping the fee estimator pre-count in sync - Fix ZSA closure in build_for_pczt: was |_| false, now correctly identifies non-ZEC assets via AssetBase::zatoshi() Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Revert plan.rs to pre-ZSA baseline (cc0c424f) and re-add ZSA support as an isolated pre-processing block that does not touch the core ZEC-only code path. Key changes: - ZSA recipients are partitioned out before the ZEC fill_single_receivers - ZSA notes are selected per-asset from orchard notes, tracked in fee_manager, and buffered for flush after the ZEC block - When ZSA is present, change_pool is forced to orchard (2) — the ZEC change output also satisfies ZIP-226, removing the need for a dummy ZEC recipient - ZSA-only transactions use a dummy recipient with track_outputs=false to drive ZEC note selection for fees without polluting the output list - Orchard outputs now use the correct AssetBase (not always zatoshi) - fill_single_receivers gains a track_outputs parameter for the dummy path Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ZSA change outputs create split spends via IoFinalizer. The PCZT package now tracks these split spend action indices, and the FROST signer includes them when applying signatures. Without this, ZSA transactions with change outputs fail with MissingSpendAuthSig during FROST signing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…de migration - Remove #[cfg(zcash_unstable = "nu7")] from OrchardZSA match arms in memo.rs, mempool.rs, and zebra.rs — ZSA is now always compiled - Remove unused AssetId import from issuance.rs - Switch zcash-trees from local path to git dependency in Cargo.toml - Comment out [patch.crates-io] section in Cargo.toml - Update Cargo.lock with git source entries for all overridden crates - Delete outdated test files (test_compact_decrypt.rs, test_orchard_decrypt.rs) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…e manual code signing - Remove FlutterGeneratedPluginSwiftPackage SPM references and XCLocalSwiftPackageReference section - Add [CP] Copy Pods Resources build phase for CocoaPods resources - Switch code signing from Apple Development/Automatic to Developer ID Application/Manual with zkool provisioning profile Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…O_ENCODED_RUSTFLAGS
…config.toml Move the `--cfg zcash_unstable="nu7"` rustflags from the workspace .cargo/config.toml into the CI build workflow as an env variable. This follows the approach of the reverted android fix (4aa751f) and ensures the flag is applied only in CI builds rather than globally. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The Android build uses cargokit's android_environment.dart which sets CARGO_ENCODED_RUSTFLAGS for NDK linker workarounds. When set, Cargo ignores RUSTFLAGS entirely, so --cfg zcash_unstable="nu7" was silently dropped during Android builds. Switch to CARGO_ENCODED_RUSTFLAGS which _libGccWorkaround already reads and appends to, so the flag merges correctly with the workaround flags. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
cargokit's android_environment.dart sets CARGO_ENCODED_RUSTFLAGS which causes Cargo to ignore RUSTFLAGS. Use CARGO_ENCODED_RUSTFLAGS instead. The \u001f YAML escape produces the Unit Separator byte required by Cargo's encoded format. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Add ZsaHolding type and list_zsa_holdings API (Rust + Flutter bindings) - Add ZSA holdings page with per-asset balance view - Add IssueAssetPage for new token issuance - Add currency dropdown to send page (ZEC + ZSA selection) - Support sending ZSA tokens with correct asset_base/asset_name - Fix missing split-spend signing in sign_transaction (orchard_split_spend_indices) - Share get_zsa_holdings between Flutter API and GraphQL assets query - Refactor Recipient to include assetBase field Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Add zsa_value + asset_id columns to transactions table - Compute ZSA summary in summarize_tx (first asset net amount) - Add asset_display helper fn (resolved from name or desc_hash, fallback ZEC) - Tx struct: zsaValue, assetId, assetDisplay fields - TxNote/TxSpend: idAsset + assetDisplay fields (join assets in queries) - TransactionTile shows ZSA value below ZEC amount - Tx detail page shows asset name and raw value for ZSA notes/spends - Fix calculate_balance to only count ZEC notes (id_asset IS NULL) - Fix max_spendable to only count ZEC notes
cccca39 to
5a071fe
Compare
5a071fe to
115ee57
Compare
- Activate NU7 only when database name contains "zsa" for v6 transactions - Use OrchardVanilla proving key for non-ZSA transactions - Use OrchardZSA proving key for ZSA-enabled transactions - Prevent "bad tx header" error from LWD with non-ZSA databases - Prevent ConstraintSystemFailure during proof generation Fixes transaction compatibility issues after ZSA work: - Non-ZSA databases (regtest.db) now use v5 format with OrchardVanilla - ZSA databases use v6 format with OrchardZSA circuit - Both transaction versions work with their respective proving keys Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
115ee57 to
0cb54f8
Compare
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.
🤖 I have created a release beep boop
7.0.0 (2026-06-02)
⚠ BREAKING CHANGES
Features
Bug Fixes
This PR was generated with Release Please. See documentation.