mirror of https://github.com/zcash/zips.git
ZIP 311: Replace "vector" with "sequence"
This commit is contained in:
parent
fa4b1ddcf0
commit
ff6a98ff65
|
@ -176,7 +176,7 @@ Discussions-To: <<a href="https://github.com/zcash/zips/issues/387">https://g
|
||||||
.</li>
|
.</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="math">\(\mathsf{length}(a)\)</span>
|
<span class="math">\(\mathsf{length}(a)\)</span>
|
||||||
means the length of the vector
|
means the length of the sequence
|
||||||
<span class="math">\(a\)</span>
|
<span class="math">\(a\)</span>
|
||||||
.</li>
|
.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -189,7 +189,7 @@ Discussions-To: <<a href="https://github.com/zcash/zips/issues/387">https://g
|
||||||
<li><cite>msg</cite>: A message field, which could contain a challenge value from the party to whom the payment disclosure is directed.</li>
|
<li><cite>msg</cite>: A message field, which could contain a challenge value from the party to whom the payment disclosure is directed.</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="math">\(\mathsf{saplingOutputs}\)</span>
|
<span class="math">\(\mathsf{saplingOutputs}\)</span>
|
||||||
: A vector of the Sapling Outputs that we are disclosing
|
: A sequence of the Sapling Outputs that we are disclosing
|
||||||
<span class="math">\([0..\mathsf{length}(\mathsf{tx.shieldedOutputs})]\)</span>
|
<span class="math">\([0..\mathsf{length}(\mathsf{tx.shieldedOutputs})]\)</span>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
|
@ -204,7 +204,7 @@ Discussions-To: <<a href="https://github.com/zcash/zips/issues/387">https://g
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="math">\(\mathsf{saplingSpends}\)</span>
|
<span class="math">\(\mathsf{saplingSpends}\)</span>
|
||||||
: A vector of the Sapling Spends for which we are proving spend authority
|
: A sequence of the Sapling Spends for which we are proving spend authority
|
||||||
<span class="math">\([0..\mathsf{length}(\mathsf{tx.shieldedSpends})]\)</span>
|
<span class="math">\([0..\mathsf{length}(\mathsf{tx.shieldedSpends})]\)</span>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
|
@ -243,7 +243,7 @@ Discussions-To: <<a href="https://github.com/zcash/zips/issues/387">https://g
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<span class="math">\(\mathsf{transparentInputs}\)</span>
|
<span class="math">\(\mathsf{transparentInputs}\)</span>
|
||||||
: A vector of the transparent inputs for which we are proving spend authority
|
: A sequence of the transparent inputs for which we are proving spend authority
|
||||||
<span class="math">\([0..\mathsf{length}(\mathsf{tx.vin})]\)</span>
|
<span class="math">\([0..\mathsf{length}(\mathsf{tx.vin})]\)</span>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
|
@ -273,10 +273,10 @@ Discussions-To: <<a href="https://github.com/zcash/zips/issues/387">https://g
|
||||||
<li>The message
|
<li>The message
|
||||||
<span class="math">\(msg\)</span>
|
<span class="math">\(msg\)</span>
|
||||||
to be included (which may be empty).</li>
|
to be included (which may be empty).</li>
|
||||||
<li>A vector of
|
<li>A sequence of
|
||||||
<span class="math">\((\mathsf{outputIndex}, \mathsf{ock})\)</span>
|
<span class="math">\((\mathsf{outputIndex}, \mathsf{ock})\)</span>
|
||||||
tuples (which may be empty).</li>
|
tuples (which may be empty).</li>
|
||||||
<li>A vector of Sapling spend tuples (which may be empty) containing:
|
<li>A sequence of Sapling spend tuples (which may be empty) containing:
|
||||||
<ul>
|
<ul>
|
||||||
<li>A Sapling spend index.</li>
|
<li>A Sapling spend index.</li>
|
||||||
<li>Its corresponding expanded spending key
|
<li>Its corresponding expanded spending key
|
||||||
|
@ -287,7 +287,7 @@ Discussions-To: <<a href="https://github.com/zcash/zips/issues/387">https://g
|
||||||
.</li>
|
.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>A vector of transparent input tuples (which may be empty) containing:
|
<li>A sequence of transparent input tuples (which may be empty) containing:
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<span class="math">\(\mathsf{index}\)</span>
|
<span class="math">\(\mathsf{index}\)</span>
|
||||||
|
@ -365,7 +365,7 @@ Discussions-To: <<a href="https://github.com/zcash/zips/issues/387">https://g
|
||||||
<li>
|
<li>
|
||||||
<span class="math">\(\mathsf{pd.txid} = \mathsf{tx.txid}()\)</span>
|
<span class="math">\(\mathsf{pd.txid} = \mathsf{tx.txid}()\)</span>
|
||||||
</li>
|
</li>
|
||||||
<li>Vector length correctness:
|
<li>Sequence length correctness:
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<span class="math">\(\mathsf{length}(\mathsf{pd.saplingOutputs}) \leq \mathsf{length}(\mathsf{tx.shieldedOutputs})\)</span>
|
<span class="math">\(\mathsf{length}(\mathsf{pd.saplingOutputs}) \leq \mathsf{length}(\mathsf{tx.shieldedOutputs})\)</span>
|
||||||
|
|
16
zip-0311.rst
16
zip-0311.rst
|
@ -160,7 +160,7 @@ We also define the following notation here:
|
||||||
- :math:`[a..b]` means the sequence of values inclusive of :math:`a` and exclusive of
|
- :math:`[a..b]` means the sequence of values inclusive of :math:`a` and exclusive of
|
||||||
:math:`b`.
|
:math:`b`.
|
||||||
|
|
||||||
- :math:`\mathsf{length}(a)` means the length of the vector :math:`a`.
|
- :math:`\mathsf{length}(a)` means the length of the sequence :math:`a`.
|
||||||
|
|
||||||
|
|
||||||
Specification
|
Specification
|
||||||
|
@ -176,14 +176,14 @@ A payment disclosure has the following fields:
|
||||||
- `msg`: A message field, which could contain a challenge value from the party to whom
|
- `msg`: A message field, which could contain a challenge value from the party to whom
|
||||||
the payment disclosure is directed.
|
the payment disclosure is directed.
|
||||||
|
|
||||||
- :math:`\mathsf{saplingOutputs}`: A vector of the Sapling Outputs that we are disclosing
|
- :math:`\mathsf{saplingOutputs}`: A sequence of the Sapling Outputs that we are disclosing
|
||||||
:math:`[0..\mathsf{length}(\mathsf{tx.shieldedOutputs})]`
|
:math:`[0..\mathsf{length}(\mathsf{tx.shieldedOutputs})]`
|
||||||
|
|
||||||
- :math:`\mathsf{index}`: An index into :math:`\mathsf{tx.shieldedOutputs}`.
|
- :math:`\mathsf{index}`: An index into :math:`\mathsf{tx.shieldedOutputs}`.
|
||||||
- :math:`\mathsf{ock}`: The outgoing cipher key that allows this output to be recovered.
|
- :math:`\mathsf{ock}`: The outgoing cipher key that allows this output to be recovered.
|
||||||
[#protocol-saplingencrypt]_
|
[#protocol-saplingencrypt]_
|
||||||
|
|
||||||
- :math:`\mathsf{saplingSpends}`: A vector of the Sapling Spends for which we are proving
|
- :math:`\mathsf{saplingSpends}`: A sequence of the Sapling Spends for which we are proving
|
||||||
spend authority :math:`[0..\mathsf{length}(\mathsf{tx.shieldedSpends})]`
|
spend authority :math:`[0..\mathsf{length}(\mathsf{tx.shieldedSpends})]`
|
||||||
|
|
||||||
- :math:`\mathsf{index}`: An index into :math:`\mathsf{tx.shieldedSpends}`.
|
- :math:`\mathsf{index}`: An index into :math:`\mathsf{tx.shieldedSpends}`.
|
||||||
|
@ -198,7 +198,7 @@ A payment disclosure has the following fields:
|
||||||
|
|
||||||
- :math:`\mathsf{spendAuthSig}`
|
- :math:`\mathsf{spendAuthSig}`
|
||||||
|
|
||||||
- :math:`\mathsf{transparentInputs}`: A vector of the transparent inputs for which we are
|
- :math:`\mathsf{transparentInputs}`: A sequence of the transparent inputs for which we are
|
||||||
proving spend authority :math:`[0..\mathsf{length}(\mathsf{tx.vin})]`
|
proving spend authority :math:`[0..\mathsf{length}(\mathsf{tx.vin})]`
|
||||||
|
|
||||||
- :math:`\mathsf{index}`: An index into :math:`\mathsf{tx.vin}`.
|
- :math:`\mathsf{index}`: An index into :math:`\mathsf{tx.vin}`.
|
||||||
|
@ -223,14 +223,14 @@ The inputs to a payment disclosure are:
|
||||||
- The transaction.
|
- The transaction.
|
||||||
- The SLIP-44 [#slip-0044]_ coin type.
|
- The SLIP-44 [#slip-0044]_ coin type.
|
||||||
- The message :math:`msg` to be included (which may be empty).
|
- The message :math:`msg` to be included (which may be empty).
|
||||||
- A vector of :math:`(\mathsf{outputIndex}, \mathsf{ock})` tuples (which may be empty).
|
- A sequence of :math:`(\mathsf{outputIndex}, \mathsf{ock})` tuples (which may be empty).
|
||||||
- A vector of Sapling spend tuples (which may be empty) containing:
|
- A sequence of Sapling spend tuples (which may be empty) containing:
|
||||||
|
|
||||||
- A Sapling spend index.
|
- A Sapling spend index.
|
||||||
- Its corresponding expanded spending key :math:`(\mathsf{ask}, \mathsf{nsk}, \mathsf{ovk})`.
|
- Its corresponding expanded spending key :math:`(\mathsf{ask}, \mathsf{nsk}, \mathsf{ovk})`.
|
||||||
- [Optional] An associated payment address :math:`(\mathsf{d}, \mathsf{pk_d})`.
|
- [Optional] An associated payment address :math:`(\mathsf{d}, \mathsf{pk_d})`.
|
||||||
|
|
||||||
- A vector of transparent input tuples (which may be empty) containing:
|
- A sequence of transparent input tuples (which may be empty) containing:
|
||||||
|
|
||||||
- :math:`\mathsf{index}`: An index into :math:`\mathsf{tx.vin}`.
|
- :math:`\mathsf{index}`: An index into :math:`\mathsf{tx.vin}`.
|
||||||
- The inputs to a BIP 322 signature (excluding `message_data`).
|
- The inputs to a BIP 322 signature (excluding `message_data`).
|
||||||
|
@ -289,7 +289,7 @@ by the caller), the verifier proceeds as follows:
|
||||||
|
|
||||||
- :math:`\mathsf{pd.txid} = \mathsf{tx.txid}()`
|
- :math:`\mathsf{pd.txid} = \mathsf{tx.txid}()`
|
||||||
|
|
||||||
- Vector length correctness:
|
- Sequence length correctness:
|
||||||
|
|
||||||
- :math:`\mathsf{length}(\mathsf{pd.saplingOutputs}) \leq \mathsf{length}(\mathsf{tx.shieldedOutputs})`
|
- :math:`\mathsf{length}(\mathsf{pd.saplingOutputs}) \leq \mathsf{length}(\mathsf{tx.shieldedOutputs})`
|
||||||
- :math:`\mathsf{length}(\mathsf{pd.saplingSpends}) \leq \mathsf{length}(\mathsf{tx.shieldedSpends})`
|
- :math:`\mathsf{length}(\mathsf{pd.saplingSpends}) \leq \mathsf{length}(\mathsf{tx.shieldedSpends})`
|
||||||
|
|
Loading…
Reference in New Issue