Update the consensus rules that prevent trivial transactions (with no inputs or outputs)

to take into account action transfers in the v5 transaction format.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2021-03-17 13:14:53 +00:00
parent 0dfe5df5e3
commit 17518632e1
1 changed files with 16 additions and 2 deletions

View File

@ -11954,8 +11954,10 @@ Several fields are reordered and/or renamed relative to prior versions.
\nufiveonwarditem{\nSpendsSapling, \nOutputsSapling, and \nActionsOrchard{} \MUST all be less \nufiveonwarditem{\nSpendsSapling, \nOutputsSapling, and \nActionsOrchard{} \MUST all be less
than $2^16$.} than $2^16$.}
\presaplingitem{If $\effectiveVersion = 1$ or $\nJoinSplit = 0$, then both \txInCount{} and \txOutCount{} \MUST be nonzero.\!} \presaplingitem{If $\effectiveVersion = 1$ or $\nJoinSplit = 0$, then both \txInCount{} and \txOutCount{} \MUST be nonzero.\!}
\saplingonwarditem{At least one of \txInCount, \nSpendsSapling, and \nJoinSplit{} \MUST be nonzero.} \saplingonwarditem{If $\effectiveVersion < 5$, then at least one of \txInCount, \nSpendsSapling, and \nJoinSplit{} \MUST be nonzero.}
\saplingonwarditem{At least one of \txOutCount, \nOutputsSapling, and \nJoinSplit{} \MUST be nonzero.} \saplingonwarditem{If $\effectiveVersion < 5$, then at least one of \txOutCount, \nOutputsSapling, and \nJoinSplit{} \MUST be nonzero.}
\nufiveonwarditem{If $\effectiveVersion \geq 5$, then at least one of \txInCount, \nSpendsSapling, and \nActionsOrchard{} \MUST be nonzero.}
\nufiveonwarditem{If $\effectiveVersion \geq 5$, then at least one of \txOutCount, \nOutputsSapling, and \nActionsOrchard{} \MUST be nonzero.}
\item A \transaction with one or more \transparent inputs from \coinbaseTransactions \MUST have no \item A \transaction with one or more \transparent inputs from \coinbaseTransactions \MUST have no
\transparent outputs (i.e.\ \txOutCount{} \MUST be $0$). Inputs from \transparent outputs (i.e.\ \txOutCount{} \MUST be $0$). Inputs from
\coinbaseTransactions include \foundersReward outputs\canopy{ and \fundingStream outputs}. \coinbaseTransactions include \foundersReward outputs\canopy{ and \fundingStream outputs}.
@ -13851,6 +13853,18 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}.
\lsection{Change History}{changehistory} \lsection{Change History}{changehistory}
\historyentry{2021.1.19}{}
\begin{itemize}
\nufive{
\item Update the consensus rules that prevent trivial transactions (with no inputs or outputs)
to take into account \actionTransfers in the v5 \transaction format.
} %nufive
\notnufive{
\item No changes before \NUFive.
} %notnufive
\end{itemize}
\historyentry{2021.1.18}{2021-03-17} \historyentry{2021.1.18}{2021-03-17}
\begin{itemize} \begin{itemize}
\nufive{ \nufive{