Refine macros for Sapling version of spec.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2017-07-26 11:44:44 +01:00
parent b1113c131c
commit e73c7c04fd
1 changed files with 15 additions and 2 deletions

View File

@ -160,17 +160,20 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\RequirePackage[usenames,dvipsnames]{xcolor}
% https://en.wikibooks.org/wiki/LaTeX/Colors#The_68_standard_colors_known_to_dvips
\newcommand{\todo}[1]{{\color{Sepia}\sf{TODO: #1}}}
\definecolor{green}{RGB}{0,120,0}
\newcommand{\changedcolor}{magenta}
\newcommand{\setchanged}{\color{\changedcolor}}
\newcommand{\changed}[1]{\texorpdfstring{{\setchanged{#1}}}{#1}}
\newcommand{\saplingcolor}{ForestGreen}
\newcommand{\saplingcolor}{green}
\iftoggle{issapling}{
\newcommand{\sprout}[1]{}
\newcommand{\notsprout}[1]{#1}
\newcommand{\setsapling}{\color{\saplingcolor}}
\newcommand{\sapling}[1]{\texorpdfstring{{\setsapling{#1}}}{#1}}
} {
\newcommand{\sprout}[1]{#1}
\newcommand{\notsprout}[1]{}
\newcommand{\setsapling}{}
\newcommand{\sapling}[1]{}
}
@ -185,6 +188,8 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\newcommand{\Zcash}{\termbf{Zcash}}
\newcommand{\Zerocash}{\termbf{Zerocash}}
\newcommand{\Sprout}{\notsprout{\termbf{Sprout}}}
\newcommand{\Sapling}{\termbf{Sapling}}
\newcommand{\Bitcoin}{\termbf{Bitcoin}}
\newcommand{\CryptoNote}{\termbf{CryptoNote}}
\newcommand{\ZEC}{\termbf{ZEC}}
@ -745,6 +750,9 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
\newcommand{\consensusrule}[1]{\needspace{3ex}\subparagraph{Consensus rule:}{#1}}
\newenvironment{consensusrules}{\introlist\subparagraph{Consensus rules:}\begin{itemize}}{\end{itemize}}
\newcommand{\sproutonlyitem}[1]{\sprout{\item {#1}}\notsprout{\item {[\Sprout only]}\, {#1}}}
\newcommand{\saplingonlyitem}[1]{\sprout{}\sapling{\item {[\Sapling only]}\, {#1}}}
\newcommand{\securityrequirement}[1]{\needspace{3ex}\subparagraph{Security requirement:}{#1}}
\newenvironment{securityrequirements}{\introlist\subparagraph{Security requirements:}\begin{itemize}}{\end{itemize}}
\newcommand{\pnote}[1]{\subparagraph{Note:}{#1}}
@ -779,7 +787,7 @@ memory-hard proof-of-work algorithm.
\sprout{\noindent This specification defines the \Zcash consensus protocol and explains
its differences from \Zerocash and \Bitcoin.}
\sapling{\noindent This \em{draft} specification defines the next major
version of the \Zcash consensus protocol, codenamed Sapling. It is
version of the \Zcash consensus protocol, codenamed \Sapling. It is
a work in progress and should not be used as a reference for the current
protocol.}
@ -810,6 +818,11 @@ non-interactive arguments of knowledge (\zkSNARKs).
Changes from the original \Zerocash are explained in \crossref{differences},
and highlighted in \changed{\changedcolor} throughout the document.
\sapling{
Changes specific to the \Sapling upgrade (which are also changes from
\Zerocash) are highlighted in green. The name \Sprout is used for the
\Zcash protocol prior to \Sapling.
}
Technical terms for concepts that play an important role in \Zcash are
written in \term{slanted text}. \emph{Italics} are used for emphasis and