ZIP 203: Remove incorrect dependency between expiry heights and lock times.

fixes #569

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2022-04-28 16:16:35 +01:00
parent 5aabc86e21
commit b870363ae6
2 changed files with 9 additions and 6 deletions

View File

@ -34,7 +34,8 @@ License: MIT</pre>
</section>
<section id="specification"><h2><span class="section-heading">Specification</span><span class="section-anchor"> <a rel="bookmark" href="#specification"><img width="24" height="24" class="section-anchor" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>Transactions will have a new field, <code>nExpiryHeight</code>, which will set the block height after which transactions will be removed from the mempool if they have not been mined.</p>
<p>The data type for <code>nExpiryHeight</code> will be <code>uint32_t</code>. If used in combination with <code>nLockTime</code>, both <code>nLockTime</code> and <code>nExpiryHeight</code> must be block heights. <code>nExpiryHeight</code> will never be a UNIX timestamp, unlike <code>nLockTime</code> values, and thus the maximum expiry height will be 499999999 (but see the exception for coinbase transactions described in <a href="#changes-for-nu5">Changes for NU5</a>).</p>
<p>The data type for <code>nExpiryHeight</code> will be <code>uint32_t</code>. <code>nExpiryHeight</code> will never be a UNIX timestamp, unlike <code>nLockTime</code> values, and thus the maximum expiry height will be 499999999 (but see the exception for coinbase transactions described in <a href="#changes-for-nu5">Changes for NU5</a>).</p>
<p>Note: a previous version of this ZIP incorrectly specified an interaction between <code>nExpiryHeight</code> and <code>nLockTime</code> that was never implemented.</p>
<p>For the example below, the last block that the transaction below could possibly be included in is 3539. After that, it will be removed from the mempool.</p>
<pre>"txid": "17561b98cc77cd5a984bb959203e073b5f33cf14cbce90eb32b95ae2c796723f",
"version": 3,

View File

@ -46,11 +46,13 @@ Specification
Transactions will have a new field, ``nExpiryHeight``, which will set the block height
after which transactions will be removed from the mempool if they have not been mined.
The data type for ``nExpiryHeight`` will be ``uint32_t``. If used in combination with
``nLockTime``, both ``nLockTime`` and ``nExpiryHeight`` must be block heights.
``nExpiryHeight`` will never be a UNIX timestamp, unlike ``nLockTime`` values, and thus
the maximum expiry height will be 499999999 (but see the exception for coinbase
transactions described in `Changes for NU5`_).
The data type for ``nExpiryHeight`` will be ``uint32_t``. ``nExpiryHeight`` will never
be a UNIX timestamp, unlike ``nLockTime`` values, and thus the maximum expiry height
will be 499999999 (but see the exception for coinbase transactions described in
`Changes for NU5`_).
Note: a previous version of this ZIP incorrectly specified an interaction between
``nExpiryHeight`` and ``nLockTime`` that was never implemented.
For the example below, the last block that the transaction below could possibly be
included in is 3539. After that, it will be removed from the mempool.