diff --git a/protocol/protocol.tex b/protocol/protocol.tex index 4bf71de7..893efccf 100644 --- a/protocol/protocol.tex +++ b/protocol/protocol.tex @@ -12456,6 +12456,8 @@ in \cite{ZIP-239}. $(\nActionsOrchard > 0$ and $\enableSpendsOrchard = 1)$.} \nufiveonwarditem{If $\effectiveVersion \geq 5$ then this condition \MUST hold: $\txOutCount > 0$ or \mbox{$\nOutputsSapling > 0$} or $(\nActionsOrchard > 0$ and $\enableOutputsOrchard = 1)$.} + \nufiveonwarditem{If $\effectiveVersion \geq 5$ and $\nActionsOrchard > 0$, then at least one of + $\enableSpendsOrchard$ and $\enableOutputsOrchard$ \MUST be $1$.} \item A \transaction with one or more \transparent inputs from \coinbaseTransactions \MUST have no \transparent outputs (i.e.\ \txOutCount{} \MUST be $0$). Inputs from \coinbaseTransactions include \foundersReward outputs\canopy{ and \fundingStream outputs}. @@ -14436,6 +14438,9 @@ Peter Newell's illustration of the Jubjub bird, from \cite{Carroll1902}. \historyentry{2021.2.9}{} \begin{itemize} \nufive{ + \item Add a consensus rule for version 5 or later \transactions, that if + $\nActionsOrchard > 0$ then at least one of $\enableSpendsOrchard$ and + $\enableOutputsOrchard$ \MUST be $1$. \item Delete the consensus rule in \crossref{transactions} that required checking that each intermediate \merkleRoot of the \noteCommitmentTree is not $\bot$. Checking this rule would have imposed a significant performance penalty,