1
0
mirror of https://github.com/bitcoin/bips.git synced 2026-05-11 16:51:51 +00:00

BIP-0322: small semantic and formatting fixes

This fixes small inconsistencies or incomplete definitions based on
previous, already merged changes.
This commit is contained in:
Oli
2026-04-14 15:44:37 +02:00
parent 6f3fce21e6
commit bbaf40ce1d

View File

@@ -186,7 +186,7 @@ Validation consists of the following steps:
##* <code>to_sign</code> has exactly one output, as specified above ##* <code>to_sign</code> has exactly one output, as specified above
## Confirm that the two transactions together satisfy all consensus rules, except for <code>to_spend</code>'s missing input, and except that ''nSequence'' of <code>to_sign</code>'s first input and ''nLockTime'' of <code>to_sign</code> are not checked. ## Confirm that the two transactions together satisfy all consensus rules, except for <code>to_spend</code>'s missing input, and except that ''nSequence'' of <code>to_sign</code>'s first input and ''nLockTime'' of <code>to_sign</code> are not checked.
# (Optional) If the validator does not have a full script interpreter, it should check that it understands all scripts being satisfied. If not, it should stop here and output ''inconclusive''. # (Optional) If the validator does not have a full script interpreter, it should check that it understands all scripts being satisfied. If not, it should stop here and output ''inconclusive''.
# Check the **required rules**: # Check the '''required rules''':
## All signatures must use the SIGHASH_ALL flag. ## All signatures must use the SIGHASH_ALL flag.
## The use of <code>CODESEPARATOR</code> or <code>FindAndDelete</code> is forbidden. ## The use of <code>CODESEPARATOR</code> or <code>FindAndDelete</code> is forbidden.
## <code>LOW_S</code>, <code>STRICTENC</code> and <code>NULLFAIL</code>: valid ECDSA signatures must be strictly DER-encoded and have a low-S value; invalid ECDSA signature must be the empty push ## <code>LOW_S</code>, <code>STRICTENC</code> and <code>NULLFAIL</code>: valid ECDSA signatures must be strictly DER-encoded and have a low-S value; invalid ECDSA signature must be the empty push
@@ -194,10 +194,10 @@ Validation consists of the following steps:
## <code>CLEANSTACK</code>: require that only a single stack element remains after evaluation ## <code>CLEANSTACK</code>: require that only a single stack element remains after evaluation
## <code>MINIMALIF</code>: the argument of <code>IF</code>/<code>NOTIF</code> must be exactly 0x01 or empty push ## <code>MINIMALIF</code>: the argument of <code>IF</code>/<code>NOTIF</code> must be exactly 0x01 or empty push
## If any of the above steps failed, the validator should stop and output the ''invalid'' state. ## If any of the above steps failed, the validator should stop and output the ''invalid'' state.
# Check the **upgradeable rules** # Check the '''upgradeable rules'''
## The version of <code>to_sign</code> must be 0 or 2. ## The version of <code>to_sign</code> must be 0 or 2.
## The use of NOPs reserved for upgrades is forbidden. ## The use of NOPs reserved for upgrades is forbidden.
## The use of segwit versions greater than 1 are forbidden. ## The use of Segwit versions greater than 1 are forbidden.
## If any of the above steps failed, the validator should stop and output the ''inconclusive'' state. ## If any of the above steps failed, the validator should stop and output the ''inconclusive'' state.
# Let ''T'' by the nLockTime of <code>to_sign</code> and ''S'' be the nSequence of the first input of <code>to_sign</code>. Output the state ''valid at time T and age S''. # Let ''T'' by the nLockTime of <code>to_sign</code> and ''S'' be the nSequence of the first input of <code>to_sign</code>. Output the state ''valid at time T and age S''.
@@ -212,7 +212,8 @@ Signers who control an address ''A'' who wish to sign a message ''m'' act as fol
<code>message_hash</code>. <code>message_hash</code>.
</li> </li>
<li> <li>
Optionally, they may set nLockTime of <code>to_sign</code> or nSequence of its first input. Optionally, they may set nVersion/nLockTime of <code>to_sign</code> or nSequence of its first
input.
</li> </li>
<li> <li>
Optionally, they may add any additional inputs to <code>to_sign</code> that they wish to prove Optionally, they may add any additional inputs to <code>to_sign</code> that they wish to prove
@@ -227,8 +228,8 @@ They then encode their signature, choosing either ''simple'' or ''full'' as foll
<ul> <ul>
<li> <li>
If they added no inputs to <code>to_sign</code>, left nSequence and nLockTime at 0, and ''A'' is a If they added no inputs to <code>to_sign</code>, left nVersion, nSequence and nLockTime at 0, and
Segwit address (either pure or P2SH-wrapped), then they may base64-encode ''A'' is a "native" Segwit address (P2WPKH, P2WSH, P2TR), then they may base64-encode
<code>message_signature</code> <code>message_signature</code>
</li> </li>
<li> <li>