From 0cdab5071b3806367ea432d8d5d22ddc1a210d5b Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Wed, 19 Jan 2022 17:55:57 +0000 Subject: [PATCH] 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 --- protocol/protocol.tex | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/protocol/protocol.tex b/protocol/protocol.tex index 64bef7a42..dc82cfbf7 100644 --- a/protocol/protocol.tex +++ b/protocol/protocol.tex @@ -3439,10 +3439,11 @@ 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 @@ \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{