In \crossref{joinsplit}, clarify that balance for JoinSplit transfers is enforced by the

JoinSplit statement, and that there is no consensus rule to check it directly.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2022-01-19 17:55:57 +00:00
parent ac9dd97f77
commit 0cdab5071b
1 changed files with 11 additions and 3 deletions

View File

@ -3439,10 +3439,11 @@ Interstitial \treestates are necessary because when a \transaction is constructe
it is not known where it will eventually appear in a mined \block. Therefore the
\anchors that it uses must be independent of its eventual position.
The input and output values of each \joinSplitTransfer \MUST balance exactly. This
is not a consensus rule since it cannot be checked directly; it is enforced by the
\snarkref{Balance}{sproutbalance} rule of the \joinSplitStatement.
\begin{consensusrules}
\item The input and output values of each \joinSplitTransfer \MUST balance
exactly.
\vspace{-0.5ex}
\item For the first \joinSplitDescription of a \transaction, the \anchor \MUST
be the output \Sprout \treestate of a previous \block.
\vspace{-0.5ex}
@ -14519,6 +14520,13 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
\lsection{Change History}{changehistory}
\historyentry{2022.2.19}{}
\begin{itemize}
\item In \crossref{joinsplit}, clarify that balance for \joinSplitTransfers is enforced
by the \joinSplitStatement, and that there is no consensus rule to check it directly.
\end{itemize}
\historyentry{2022.2.18}{2022-01-03}
\begin{itemize}
\nufive{