Sprout only -> Pre-Sapling.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2018-04-20 03:52:28 +01:00
parent 1a383e60f7
commit 36cfb95cec
1 changed files with 8 additions and 8 deletions

View File

@ -1574,13 +1574,13 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\newcommand{\consensusrule}[1]{\needspace{3ex}\subparagraph{Consensus rule:}{#1}}
\newenvironment{consensusrules}{\vspace{-4ex}\introlist\subparagraph{Consensus rules:}\begin{itemize}}{\end{itemize}}
\newcommand{\sproutspecificitem}[1]{\item \sproutspecific{#1}}
\newcommand{\sproutonlyitem}[1]{\item \sproutonly{#1}}
\newcommand{\presaplingitem}[1]{\item \presapling{#1}}
\newcommand{\saplingonwarditem}[1]{\sapling{\item {[\Sapling onward]}\, {#1}}}
\newcommand{\prenuzeroitem}[1]{\item \prenuzero{#1}}
\newcommand{\nuzeroonlyitem}[1]{\nuzero{\item {[\NUZero only, pre-\Sapling\!]}\, {#1}}}
\newcommand{\nuzeroonwarditem}[1]{\nuzero{\item {[\NUZero onward]}\, {#1}}}
\newcommand{\sproutspecific}[1]{\notsprout{[\Sprout\!]\,} {#1}}
\newcommand{\sproutonly}[1]{\notsprout{[\Sprout only]\,} {#1}}
\newcommand{\presapling}[1]{\notsprout{[Pre-\Sapling\!]\,} {#1}}
\newcommand{\saplingonward}[1]{\sapling{[\Sapling onward]\, {#1}}}
\newcommand{\prenuzero}[1]{\notsprout{[Pre-\NUZero\!]\,} {#1}}
\newcommand{\nuzeroonly}[1]{\nuzero{[\NUZero only, pre-\Sapling\!]\, {#1}}}
@ -1591,7 +1591,7 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\newcommand{\pnote}[1]{\subparagraph{Note:}{#1}}
\newenvironment{pnotes}{\introlist\subparagraph{Notes:}\begin{itemize}}{\end{itemize}}
\newcommand{\sproutspecificpnote}[1]{\notsprout{[\Sprout\!]\,\,} \textbf{Note:\,} {#1}}
\newcommand{\sproutonlypnote}[1]{\notsprout{[\Sprout only]\,\,} \textbf{Note:\,} {#1}}
\newcommand{\presaplingpnote}[1]{\notsprout{[Pre-\Sapling\!]\,\,} \textbf{Note:\,} {#1}}
\newcommand{\prenuzeropnote}[1]{\notsprout{[Pre-\NUZero\!]\,\,} \textbf{Note:\,} {#1}}
\newcommand{\nuzeroonlypnote}[1]{\nuzero{[\NUZero only, pre-\Sapling\!]\,\,} \textbf{Note:\,} {#1}}
\newcommand{\nuzeroonwardpnote}[1]{\nuzero{[\NUZero onward]\,\,} \textbf{Note:\,} {#1}}
@ -7358,16 +7358,16 @@ $\versionField \geq 4$ and $\nShieldedSpend + \nShieldedOutput > 0$.
\begin{consensusrules}
\item The \transactionVersionNumber{} \MUST be greater than or equal to $1$.
\sproutonlyitem{The \fOverwintered{} flag \MUSTNOT be set.}
\presaplingitem{The \fOverwintered{} flag \MUSTNOT be set\sprout{ in the protocol version described by this document}.}
\nuzeroonwarditem{The \fOverwintered{} flag \MUST be set.}
\nuzeroonwarditem{The \versionGroupID{} \MUST be recognized.}
\nuzeroonlyitem{The \transactionVersionNumber{} \MUST be $3$ and the \versionGroupID{} \MUST
be $\hexint{03C48270}$.}
\sproutonlyitem{If $\versionField = 1$ or $\nJoinSplit = 0$, then \txInCount{} \MUSTNOT be $0$.}
\saplingonwarditem{The \transactionVersionNumber{} \MUST be $4$ and the \versionGroupID{} \MUST
be $\hexint{892F2085}$.}
\presaplingitem{The encoded size of the \transaction{} \MUST be less than or equal to
$100000$ bytes.}
\presaplingitem{If $\versionField = 1$ or $\nJoinSplit = 0$, then \txInCount{} \MUSTNOT be $0$.}
\saplingonwarditem{At least one of \txInCount, \nShieldedSpend, and \nJoinSplit{} \MUST be nonzero.}
\item A \transaction with one or more inputs from \coinbaseTransactions{} \MUST have no
\transparent outputs (i.e.\ \txOutCount{} \MUST be $0$).
@ -7446,7 +7446,7 @@ The changes relative to \Bitcoin version $1$ \transactions as described in \cite
a corresponding standard rule but no consensus rule.
\end{itemize}
\sproutonly{
\presapling{
Software that creates \transactions{} \SHOULD use version $1$ for \transactions with no
\joinSplitDescriptions.
}
@ -7629,7 +7629,7 @@ ensuring that none of those \transactions can be modified without modifying the
$32$ & \sprout{$\hashReserved$}
\notsprout{\Longunderstack[l]{$\hashReserved$ /\\ \sapling{$\hashFinalSaplingRoot$}}} &
\type{char[32]} &
\sproutonly{A reserved field which should be ignored.}
\presapling{A reserved field which should be ignored.}
\saplingonward{A \merkleRoot (\todo{specify bit sequence to byte sequence conversion}) of the \Sapling{}
\noteCommitmentTree corresponding to the final \Sapling{} \treestate of this \block.} \\ \hline
@ -8237,7 +8237,7 @@ as input, and produces up to $\NNew$ \shieldedNotes and a
Only ``Pour'' transactions included a \zkSNARK proof.
\sproutonly{
\presapling{
In \Zcash, the sequence of operations added to a \transaction
(see \crossref{trstructure}) consists only of \joinSplitTransfers.
A \joinSplitTransfer is a Pour operation generalized to take a \transparent