mirror of https://github.com/zcash/zips.git
Refine macros for Sapling version of spec.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
b1113c131c
commit
e73c7c04fd
|
@ -160,17 +160,20 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
|
||||||
\RequirePackage[usenames,dvipsnames]{xcolor}
|
\RequirePackage[usenames,dvipsnames]{xcolor}
|
||||||
% https://en.wikibooks.org/wiki/LaTeX/Colors#The_68_standard_colors_known_to_dvips
|
% https://en.wikibooks.org/wiki/LaTeX/Colors#The_68_standard_colors_known_to_dvips
|
||||||
\newcommand{\todo}[1]{{\color{Sepia}\sf{TODO: #1}}}
|
\newcommand{\todo}[1]{{\color{Sepia}\sf{TODO: #1}}}
|
||||||
|
\definecolor{green}{RGB}{0,120,0}
|
||||||
|
|
||||||
\newcommand{\changedcolor}{magenta}
|
\newcommand{\changedcolor}{magenta}
|
||||||
\newcommand{\setchanged}{\color{\changedcolor}}
|
\newcommand{\setchanged}{\color{\changedcolor}}
|
||||||
\newcommand{\changed}[1]{\texorpdfstring{{\setchanged{#1}}}{#1}}
|
\newcommand{\changed}[1]{\texorpdfstring{{\setchanged{#1}}}{#1}}
|
||||||
\newcommand{\saplingcolor}{ForestGreen}
|
\newcommand{\saplingcolor}{green}
|
||||||
\iftoggle{issapling}{
|
\iftoggle{issapling}{
|
||||||
\newcommand{\sprout}[1]{}
|
\newcommand{\sprout}[1]{}
|
||||||
|
\newcommand{\notsprout}[1]{#1}
|
||||||
\newcommand{\setsapling}{\color{\saplingcolor}}
|
\newcommand{\setsapling}{\color{\saplingcolor}}
|
||||||
\newcommand{\sapling}[1]{\texorpdfstring{{\setsapling{#1}}}{#1}}
|
\newcommand{\sapling}[1]{\texorpdfstring{{\setsapling{#1}}}{#1}}
|
||||||
} {
|
} {
|
||||||
\newcommand{\sprout}[1]{#1}
|
\newcommand{\sprout}[1]{#1}
|
||||||
|
\newcommand{\notsprout}[1]{}
|
||||||
\newcommand{\setsapling}{}
|
\newcommand{\setsapling}{}
|
||||||
\newcommand{\sapling}[1]{}
|
\newcommand{\sapling}[1]{}
|
||||||
}
|
}
|
||||||
|
@ -185,6 +188,8 @@ electronic commerce and payment, financial privacy, proof of work, zero knowledg
|
||||||
|
|
||||||
\newcommand{\Zcash}{\termbf{Zcash}}
|
\newcommand{\Zcash}{\termbf{Zcash}}
|
||||||
\newcommand{\Zerocash}{\termbf{Zerocash}}
|
\newcommand{\Zerocash}{\termbf{Zerocash}}
|
||||||
|
\newcommand{\Sprout}{\notsprout{\termbf{Sprout}}}
|
||||||
|
\newcommand{\Sapling}{\termbf{Sapling}}
|
||||||
\newcommand{\Bitcoin}{\termbf{Bitcoin}}
|
\newcommand{\Bitcoin}{\termbf{Bitcoin}}
|
||||||
\newcommand{\CryptoNote}{\termbf{CryptoNote}}
|
\newcommand{\CryptoNote}{\termbf{CryptoNote}}
|
||||||
\newcommand{\ZEC}{\termbf{ZEC}}
|
\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}}
|
\newcommand{\consensusrule}[1]{\needspace{3ex}\subparagraph{Consensus rule:}{#1}}
|
||||||
\newenvironment{consensusrules}{\introlist\subparagraph{Consensus rules:}\begin{itemize}}{\end{itemize}}
|
\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}}
|
\newcommand{\securityrequirement}[1]{\needspace{3ex}\subparagraph{Security requirement:}{#1}}
|
||||||
\newenvironment{securityrequirements}{\introlist\subparagraph{Security requirements:}\begin{itemize}}{\end{itemize}}
|
\newenvironment{securityrequirements}{\introlist\subparagraph{Security requirements:}\begin{itemize}}{\end{itemize}}
|
||||||
\newcommand{\pnote}[1]{\subparagraph{Note:}{#1}}
|
\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
|
\sprout{\noindent This specification defines the \Zcash consensus protocol and explains
|
||||||
its differences from \Zerocash and \Bitcoin.}
|
its differences from \Zerocash and \Bitcoin.}
|
||||||
\sapling{\noindent This \em{draft} specification defines the next major
|
\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
|
a work in progress and should not be used as a reference for the current
|
||||||
protocol.}
|
protocol.}
|
||||||
|
|
||||||
|
@ -810,6 +818,11 @@ non-interactive arguments of knowledge (\zkSNARKs).
|
||||||
|
|
||||||
Changes from the original \Zerocash are explained in \crossref{differences},
|
Changes from the original \Zerocash are explained in \crossref{differences},
|
||||||
and highlighted in \changed{\changedcolor} throughout the document.
|
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
|
Technical terms for concepts that play an important role in \Zcash are
|
||||||
written in \term{slanted text}. \emph{Italics} are used for emphasis and
|
written in \term{slanted text}. \emph{Italics} are used for emphasis and
|
||||||
|
|
Loading…
Reference in New Issue