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:
@@ -186,7 +186,7 @@ Validation consists of the following steps:
|
||||
##* <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.
|
||||
# (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.
|
||||
## 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
|
||||
@@ -194,10 +194,10 @@ Validation consists of the following steps:
|
||||
## <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
|
||||
## 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 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.
|
||||
# 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>.
|
||||
</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>
|
||||
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>
|
||||
<li>
|
||||
If they added no inputs to <code>to_sign</code>, left nSequence and nLockTime at 0, and ''A'' is a
|
||||
Segwit address (either pure or P2SH-wrapped), then they may base64-encode
|
||||
If they added no inputs to <code>to_sign</code>, left nVersion, nSequence and nLockTime at 0, and
|
||||
''A'' is a "native" Segwit address (P2WPKH, P2WSH, P2TR), then they may base64-encode
|
||||
<code>message_signature</code>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
Reference in New Issue
Block a user