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 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. \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} \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 \item For the first \joinSplitDescription of a \transaction, the \anchor \MUST
be the output \Sprout \treestate of a previous \block. be the output \Sprout \treestate of a previous \block.
\vspace{-0.5ex} \vspace{-0.5ex}
@ -14519,6 +14520,13 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
\lsection{Change History}{changehistory} \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} \historyentry{2022.2.18}{2022-01-03}
\begin{itemize} \begin{itemize}
\nufive{ \nufive{