diff --git a/zip-0227.html b/zip-0227.html
index 86a06c336..bcd47cb5a 100644
--- a/zip-0227.html
+++ b/zip-0227.html
@@ -658,7 +658,7 @@
T.5b: issuanceValidatingKey (32 bytes)
The personalization field of this hash is set to:
"ZTxIdSAIssueHash"
- In case the transaction has no issuance components, ''issue_actions_digest'' is:
+ In case the transaction has no issuance components, ''issuance_digest'' is:
BLAKE2b-256("ZTxIdSAIssueHash", [])
T.5a: issue_actions_digest
A BLAKE2b-256 hash of Issue Action information for all Issuance Actions belonging to the transaction. For each Action, the following elements are included in the hash:
@@ -676,6 +676,8 @@
T.5a.i.5: rseed (field encoding bytes)
The personalization field of this hash is set to:
"ZTxIdIAcNoteHash"
+ In case the transaction has no Issue Notes, ''issue_notes_digest'' is:
+ BLAKE2b-256("ZTxIdIAcNoteHash", [])
T.5a.i.1: recipient
This is the raw encoding of an Orchard shielded payment address as defined in the protocol specification .
diff --git a/zip-0227.rst b/zip-0227.rst
index 89e837f4a..95708a8f3 100644
--- a/zip-0227.rst
+++ b/zip-0227.rst
@@ -406,7 +406,7 @@ The personalization field of this hash is set to::
"ZTxIdSAIssueHash"
-In case the transaction has no issuance components, ''issue_actions_digest'' is::
+In case the transaction has no issuance components, ''issuance_digest'' is::
BLAKE2b-256("ZTxIdSAIssueHash", [])
@@ -436,6 +436,10 @@ The personalization field of this hash is set to::
"ZTxIdIAcNoteHash"
+In case the transaction has no Issue Notes, ''issue_notes_digest'' is::
+
+ BLAKE2b-256("ZTxIdIAcNoteHash", [])
+
T.5a.i.1: recipient
...................
This is the raw encoding of an Orchard shielded payment address as defined in the protocol specification [#protocol-orchardpaymentaddrencoding]_.
diff --git a/zip-0230.html b/zip-0230.html
index dc1547dcd..0453fb38e 100644
--- a/zip-0230.html
+++ b/zip-0230.html
@@ -324,6 +324,8 @@
The field anchorSapling
is present if and only if
\(\mathtt{nSpendsSapling} > 0\!\)
.
+ The elements of vSpendProofsSapling
and vSpendAuthSigsSapling
have a 1:1 correspondence to the elements of vSpendsSapling
and MUST be ordered such that the proof or signature at a given index corresponds to the SpendDescriptionV6
at the same index.
+ The elements of vOutputProofsSapling
have a 1:1 correspondence to the elements of vOutputsSapling
and MUST be ordered such that the proof at a given index corresponds to the OutputDescriptionV6
at the same index.
The fields flagsOrchard
, valueBalanceOrchard
, anchorOrchard
, sizeProofsOrchardZSA
, proofsOrchardZSA
, and bindingSigOrchard
are present if and only if
\(\mathtt{nActionsOrchard} > 0\!\)
. If valueBalanceOrchard
is not present, then
@@ -331,9 +333,10 @@
is defined to be
\(0\!\)
.
- The elements of vSpendProofsSapling
and vSpendAuthSigsSapling
have a 1:1 correspondence to the elements of vSpendsSapling
and MUST be ordered such that the proof or signature at a given index corresponds to the SpendDescriptionV6
at the same index.
- The elements of vOutputProofsSapling
have a 1:1 correspondence to the elements of vOutputsSapling
and MUST be ordered such that the proof at a given index corresponds to the OutputDescriptionV6
at the same index.
The proofs aggregated in proofsOrchardZSA
, and the elements of vSpendAuthSigsOrchard
, each have a 1:1 correspondence to the elements of vActionsOrchard
and MUST be ordered such that the proof or signature at a given index corresponds to the OrchardZsaAction
at the same index.
+ The fields ik
and issueAuthSig
are present if and only if
+ \(\mathtt{nIssueActions} > 0\!\)
+ .
For coinbase transactions, the enableSpendsOrchard
and enableZSAs
bits MUST be set to
\(0\!\)
.
@@ -569,7 +572,7 @@
- The encodings of each of these elements are defined in ZIP 227 .
+ The encodings of each of these elements are defined in ZIP 227 . Note that we allow the number of notes (represented by nNotes
) to be zero. This allows for issuers to create Issuance Actions to only finalize an issued Asset, without needing them to simultaneously issue more of that Asset.
Reference implementation
diff --git a/zip-0230.rst b/zip-0230.rst
index e807d6140..8ed76751c 100644
--- a/zip-0230.rst
+++ b/zip-0230.rst
@@ -195,11 +195,6 @@ Transaction Format
* The field ``anchorSapling`` is present if and only if :math:`\mathtt{nSpendsSapling} > 0\!`.
-* The fields ``flagsOrchard``, ``valueBalanceOrchard``, ``anchorOrchard``,
- ``sizeProofsOrchardZSA``, ``proofsOrchardZSA``, and ``bindingSigOrchard`` are present if and
- only if :math:`\mathtt{nActionsOrchard} > 0\!`. If ``valueBalanceOrchard`` is not present,
- then :math:`\mathsf{v^{balanceOrchard}}` is defined to be :math:`0\!`.
-
* The elements of ``vSpendProofsSapling`` and ``vSpendAuthSigsSapling`` have a 1:1
correspondence to the elements of ``vSpendsSapling`` and MUST be ordered such that the
proof or signature at a given index corresponds to the ``SpendDescriptionV6`` at the
@@ -209,11 +204,18 @@ Transaction Format
``vOutputsSapling`` and MUST be ordered such that the proof at a given index corresponds
to the ``OutputDescriptionV6`` at the same index.
+* The fields ``flagsOrchard``, ``valueBalanceOrchard``, ``anchorOrchard``,
+ ``sizeProofsOrchardZSA``, ``proofsOrchardZSA``, and ``bindingSigOrchard`` are present if and
+ only if :math:`\mathtt{nActionsOrchard} > 0\!`. If ``valueBalanceOrchard`` is not present,
+ then :math:`\mathsf{v^{balanceOrchard}}` is defined to be :math:`0\!`.
+
* The proofs aggregated in ``proofsOrchardZSA``, and the elements of
``vSpendAuthSigsOrchard``, each have a 1:1 correspondence to the elements of
``vActionsOrchard`` and MUST be ordered such that the proof or signature at a given
index corresponds to the ``OrchardZsaAction`` at the same index.
+* The fields ``ik`` and ``issueAuthSig`` are present if and only if :math:`\mathtt{nIssueActions} > 0\!`.
+
* For coinbase transactions, the ``enableSpendsOrchard`` and ``enableZSAs`` bits MUST be set to :math:`0\!`.
The encodings of ``tx_in``, and ``tx_out`` are as in a version 4 transaction (i.e.
@@ -332,6 +334,8 @@ An issuance action, ``IssueAction``, is the instance of issuing a specific Custo
+-----------------------------+--------------------------+-------------------------------------------+---------------------------------------------------------------------+
The encodings of each of these elements are defined in ZIP 227 [#zip-0227]_.
+Note that we allow the number of notes (represented by ``nNotes``) to be zero.
+This allows for issuers to create Issuance Actions to only finalize an issued Asset, without needing them to simultaneously issue more of that Asset.
Reference implementation
========================