From 6c3ea6735a9f9c6725be9762efa78738d9254c27 Mon Sep 17 00:00:00 2001 From: "David A. Harding" Date: Fri, 30 Jan 2015 09:45:55 -0500 Subject: [PATCH] BIP66: Number Examples To Match Implementation Tests The Bitcoin Core tests in script_tests.cpp refer to these examples by number, but these BIP66 examples are in an unordered list, making them hard to follow. This changes the list to an ordered list. --- bip-0066.mediawiki | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/bip-0066.mediawiki b/bip-0066.mediawiki index 35c8a00b..3fd1b852 100644 --- a/bip-0066.mediawiki +++ b/bip-0066.mediawiki @@ -102,19 +102,19 @@ bool static IsValidSignatureEncoding(const std::vector &sig) { Notation: P1 and P2 are valid, serialized, public keys. S1 and S2 are valid signatures using respective keys P1 and P2. S1' and S2' are non-DER but otherwise valid signatures using those same keys. F is any invalid but DER-compliant signature (including 0, the empty string). F' is any invalid and non-DER-compliant signature. -* S1' P1 CHECKSIG fails (changed) -* S1' P1 CHECKSIG NOT fails (unchanged) -* F P1 CHECKSIG fails (unchanged) -* F P1 CHECKSIG NOT can succeed (unchanged) -* F' P1 CHECKSIG fails (unchanged) -* F' P1 CHECKSIG NOT fails (changed) +# S1' P1 CHECKSIG fails (changed) +# S1' P1 CHECKSIG NOT fails (unchanged) +# F P1 CHECKSIG fails (unchanged) +# F P1 CHECKSIG NOT can succeed (unchanged) +# F' P1 CHECKSIG fails (unchanged) +# F' P1 CHECKSIG NOT fails (changed) -* 0 S1' S2 2 P1 P2 2 CHECKMULTISIG fails (changed) -* 0 S1' S2 2 P1 P2 2 CHECKMULTISIG NOT fails (unchanged) -* 0 F S2' 2 P1 P2 2 CHECKMULTISIG fails (unchanged) -* 0 F S2' 2 P1 P2 2 CHECKMULTISIG NOT fails (changed) -* 0 S1' F 2 P1 P2 2 CHECKMULTISIG fails (unchanged) -* 0 S1' F 2 P1 P2 2 CHECKMULTISIG NOT can succeed (unchanged) +# 0 S1' S2 2 P1 P2 2 CHECKMULTISIG fails (changed) +# 0 S1' S2 2 P1 P2 2 CHECKMULTISIG NOT fails (unchanged) +# 0 F S2' 2 P1 P2 2 CHECKMULTISIG fails (unchanged) +# 0 F S2' 2 P1 P2 2 CHECKMULTISIG NOT fails (changed) +# 0 S1' F 2 P1 P2 2 CHECKMULTISIG fails (unchanged) +# 0 S1' F 2 P1 P2 2 CHECKMULTISIG NOT can succeed (unchanged) Note that the examples above show that only additional failures are required by this change, as required for a soft forking change.