Skip to content

[ZIP 230, ZIP 246] Making the issuance bundle in-order-parsable#1088

Merged
daira merged 2 commits into
zcash:mainfrom
QED-it:post_1086_fixes
Sep 14, 2025
Merged

[ZIP 230, ZIP 246] Making the issuance bundle in-order-parsable#1088
daira merged 2 commits into
zcash:mainfrom
QED-it:post_1086_fixes

Conversation

@vivek-arte
Copy link
Copy Markdown
Contributor

This PR adds a requirement for issuerLength to be 0 in the case where nIssueActions = 0, to account for the unintuitive parsing in that scenario due to the rearrangement of the issuance bundle from #1086.

The diagram of the hash tree in ZIP 246 was also not updated then, so this PR brings the diagram in line with the rest of the ZIP.

Comment thread zips/zip-0230.rst
If $\mathtt{nIssueActions} = 0$ then ``issuerLength`` MUST be set to $0$ (``issuer`` and ``vIssueActions`` will be empty in this case).

* For coinbase transactions, the ``enableSpendsOrchard`` and ``enableZSAs`` bits MUST be set to $0$.

Copy link
Copy Markdown
Collaborator

@daira daira Sep 14, 2025

Choose a reason for hiding this comment

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

Comment on lines 231-232 below:

The encodings of ``tx_in``, and ``tx_out`` are as in a version 4 transaction (i.e.
unchanged from Canopy).

This is copied from https://zips.z.cash/zip-0225#transaction-format , where it made sense to reference v4 and Canopy because that was the immediately preceding tx version and epoch respectively. For v6, it would either make sense to reference v5 and NU6.1, or make a stronger and more general statement:

The encodings of ``tx_in``, and ``tx_out`` are as in previous transaction versions
(i.e. unchanged since Zcash launch). [#protocol-txnencoding]_ [#zip-0225-transaction-format]_

Reference #protocol-txnencoding already exists; #zip-0225-transaction-format should be:

.. [#zip-0225-transaction-format] `ZIP 225: Version 5 Transaction Format. Specification: Transaction Format <zip-0225#transaction-format>`_

Copy link
Copy Markdown
Collaborator

@daira daira left a comment

Choose a reason for hiding this comment

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

ACK. This accurately reflects the changes agreed at the 2025-09-09 ZIP sync.

@daira daira merged commit 5c5d28c into zcash:main Sep 14, 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.

2 participants