Conversation
…to Domain implementation.
…ShieldedOutput trait
…textBytes, wrapping the AEADBytes in a struct
Add `SighashInfo` (version and associated data) to - Transparent authorizing signatures. Update `auth_digest` by adding `SighashInfo` as defined in ZIP246
This PR makes the changes to the Fee Rules in `zcash_primitives` in order to add the additional computation for issuance of ZSAs --------- Co-authored-by: Constance Beguier <constance@qed-it.com> Co-authored-by: Paul <3682187+PaulLaux@users.noreply.github.com>
The `build` function requires the `is_new_asset` parameter, but one call site was not providing it.
Replace DEFAULT_VANILLA BundleType with DEFAULT
Replace - orchard_flavor with flavor - orchard_sighash_versioning with sighash_versioning - issuance_auth with issuance::auth - issuance_sighash_versioning with issuance::sighash_versioning
Remove patch on halo2_hadgets Use zcash_pr471_review branch for orchard I updated supply-chain/imports.lock so that halo2_gadgets:0.4.0 is marked as safe to deploy. This change was made upstream in librustzcash.
builder.build(...) returns `Result<Option<UnauthorizedBundleWithMetadata<V, FL>>, BuildError>` instead of `Result<UnauthorizedBundleWithMetadata<V, FL>, BuildError>`
Bump MSRV to 1.85.1 Migrate to Rust 2024 edition
…h Orchard pin (#193) This PR adds a `zsa-issuance` feature to `Cargo.toml` of `zcash_primitives` that forwards to `orchard/zsa-issuance`, and enables it in the default feature set for the ZSA build. `librustzcash` depends on Orchard with `default-features = false` at the workspace level, so Orchard’s own default features (including `zsa-issuance`) are not enabled unless opted in explicitly. It also updates the Orchard patch dependency and refreshes the pinned Orchard commit in `Cargo.lock`. --------- Co-authored-by: Constance Beguier <constance@qed-it.com>
Replace AssetBase::derive with AssetBase::custom
Add a patch in Cargo.toml for zcash_spec Pin cargo-vet to version 0.10.1 in the CI
With the updated Orchard version, `update_rho` now takes an additional `rng` parameter.
This is the librustzcash (`zcash_primitives`) side of the fix for upstream Orchard PR 471 review comments `r2585555720` and `r2602558531`. We removed the `Clone` bounds from the Orchard `SpendAuth` associated types, so `#[derive(Clone)]` no longer works for the generic `OrchardBundle<A>` wrapper. This change switches `OrchardBundle<A>` to `#[derive(Debug)]` and adds an explicit `Clone` impl with the bounds needed to clone the contained `orchard::Bundle`. --------- Co-authored-by: Constance Beguier <constance@qed-it.com>
…Issue)SighashKind (#200) Update Orchard sighash handling
Updates the `orchard/issuance_sighash_info_for_kind` signatures to return `Vec<u8>`.
…for the OrchardZSA review (#207) This adds fixes for compilation under the --features zip-233 option. The test vectors are also updated to match the updates from the zcash-test-vectors repository (QED-it/zcash-test-vectors#46 and QED-it/zcash-test-vectors#47). These add support for the ZIP 233 addition to the transaction format, as well as some regeneration that occurs due to changes in the randomness while generating the test vectors. --------- Co-authored-by: Paul <3682187+PaulLaux@users.noreply.github.com>
…ht validation - Replace assert! with io::Error in read_transparent_v6 sighash info check - Replace panic! with Option return in first_nullifier, propagate error at call site - Enforce expiry_height = 0 consensus rule in V6 tx parser - Fix proptest arb_txdata to generate expiry_height = 0 for V6 transactions
This PR updates librustzcash to align with the API and architectural changes from the OrchardZSA review (zcash/orchard#471). It coversnaming consistency, structural improvements, bug fixes, and dependency updates across the workspace. Changes: API Renames - (Orchard/Issue)SighashVersioning to (Orchard/Issue)SighashKind (ZIP-246) - AssetBase::native() to AssetBase::zatoshi() - AssetBase::derive() to AssetBase::custom(&AssetId::new_v0(...)) - BundleType::DEFAULT_VANILLA to BundleType::DEFAULT - OrchardVersionedSig<T> to OrchardSig<T> - Module paths simplified: orchard_flavor to flavor, issuance_auth to issuance::auth, etc. Structural Changes - Sighash kind lookup refactored from BTreeMap + lazy_static! to pure match-based functions - builder.build() now returns Result<Option<...>> to handle cases where no actions satisfy bundle type requirements - Manual Clone impl for generic OrchardBundle (upstream removed Clone bound on SpendAuth) - rho made optional in Note; update_rho now takes additional rng parameter Bug Fixes - Fixed rho value for issuance notes - Fixed ZIP-233 compilation: correct #[cfg] gating, BuildConfig::TxV6 in tests, added zip-233 feature to zcash_client_memory Dependency Updates - Rust toolchain updated to 1.85.1 (edition 2024) - Orchard pin updated to latest zsa1 branch + enabled zsa-issuance feature in zcash_primitives
Revert rust 2024 edition formatting changes
This PR updates the patched orchard dependency revision in Cargo.toml to the commit that includes Orchard PR #199 (issue/burn validation refactor). This keeps librustzcash using the same Orchard version as the Zebra issue/burn asset-state integration changes.
Changes: * Remove the v6 `expiry_height == 0` check from `zcash_primitives/src/transaction/mod.rs`. * In `zcash_primitives/src/transaction/components/orchard.rs:read_v6_bundle`, rename the `timelimit` local variable to `n_ag_expiry_height`, and update the error message accordingly. `nAGExpiryHeight` (`timelimit`) was already enforced to be zero, but the local name `timelimit` caused confusion.
Merge upstream up to zcash@675907b
- Move some imports - memo is no longer an Option since the merge of sapling-crypto with upstream - is_finalized flag is now inside a u8 flag in IssueBundle - Reduce visibility of some functions - Revert BuildConfig to be either Standard or Coinbase (previously we could create a Builder with a build_config equal to V6 and a tx_verion equal to V5) - Remove Clone from Authorized struct - Remove halo patch in Cargo.toml
This restores `zcash_primitives::transaction::components::issuance::read_note` from `pub(crate)` back to `pub`. It was changed from `pub` to `pub(crate)` recently in PR #224, which broke downstream builds in our Zebra fork. Zebra uses this function in `zebra-chain/src/orchard_zsa/asset_state.rs` to deserialize the reference note in `AssetState::from_bytes`, so it needs to remain public. See the Zebra code here: https://github.com/QED-it/zebra/blob/2634fd662a4eaca6df901c82b1bc05d2982636d7/zebra-chain/src/orchard_zsa/asset_state.rs#L60 This PR also updates the orchard dependency revision in `Cargo.toml` to the latest commit on our `zsa1` branch. That update is unrelated, but we decided to include it here as well.
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.
No description provided.