Skip to content

[ZIP 227, ZIP, 230, ZIP 246] Fixes needed when Asset Base is not encoded in IssueNote#1086

Merged
str4d merged 8 commits into
zcash:mainfrom
QED-it:fixes_to_leave_asset_base_out_of_issue_note
Sep 9, 2025
Merged

[ZIP 227, ZIP, 230, ZIP 246] Fixes needed when Asset Base is not encoded in IssueNote#1086
str4d merged 8 commits into
zcash:mainfrom
QED-it:fixes_to_leave_asset_base_out_of_issue_note

Conversation

@vivek-arte
Copy link
Copy Markdown
Contributor

@vivek-arte vivek-arte commented Sep 9, 2025

If the Asset Base is not included in the issue note description encoding (IssueNote), there are a few fixes required to be made:

  • The size of an IssueNote reduces to 115 from 147.
  • The consensus rules need to reflect that the Asset Base is being generated for the notes rather than being verified as consistent across the Issue Action.
  • Rearrangements are needed to be able to ensure that the parser can populate all structures in a single pass.
  • The ZIP 246 digests need to be updated to match the order of fields in ZIP 230.

This is a suggestion that arose from the discussion in #1081 (comment).

Comment thread zips/zip-0230.rst Outdated
Comment thread zips/zip-0246.rst Outdated
Comment thread zips/zip-0246.rst Outdated
Comment thread zips/zip-0227.rst Outdated

- Every Issue Note in ``IssueAction`` MUST be a valid encoding of the $\mathsf{Note^{Issue}}$ type, and MUST encode the same $\mathsf{AssetBase}$.
- This $\mathsf{AssetBase}$ MUST satisfy the derivation from the issuer identifier and asset description described in the `Specification: Asset Identifier, Asset Digest, and Asset Base`_ section.
- An Issue Note of the $\mathsf{Note^{Issue}}$ type MUST be created for each ``IssueNote`` in the ``vNotes`` field of the ``IssueAction``, where the $\mathsf{AssetBase}$ MUST be computed from the ``assetDescHash`` field of the ``IssueAction`` and the ``issuer`` field of the issuance bundle, as described in the `Specification: Asset Identifier, Asset Digest, and Asset Base`_ section.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This need rewording:

  • The MUST consensus rule re: encoding needs to still be present, but about ensuring the validity of the field encodings in IssueNote (maybe renamed to IssueNoteDescription).
  • Then have a line like "Let the issue note $\mathsf{Note^{Issue}}$ be constructed from the fields of IssueNote and the derived $\mathsf{AssetBase}$ from the parent IssueAction.

Copy link
Copy Markdown
Collaborator

@str4d str4d left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@str4d str4d enabled auto-merge September 9, 2025 22:56
@str4d str4d merged commit 57c6207 into zcash:main Sep 9, 2025
1 check passed
ConstanceBeguier added a commit to QED-it/zcash-test-vectors that referenced this pull request Sep 23, 2025
…nges to ZIPs (#36)

There was a rearranging of the transaction format and the digests that took place in zcash/zips#1086 and zcash/zips#1088.

This PR makes the changes to the test vectors to match them back to the spec.

---------

Co-authored-by: Constance Beguier <constance@qed-it.com>
ConstanceBeguier added a commit to QED-it/librustzcash that referenced this pull request Sep 23, 2025
This PR performs the change from zcash/zips#987
to remove the asset base from the issue note description. It also makes
the follow-on reorderings suggested in
zcash/zips#1086 and
zcash/zips#1088.

The test vectors are updated in
QED-it/zcash-test-vectors#36 and copied in from
there.

---------

Co-authored-by: Constance Beguier <constance@qed-it.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants