See #3743 (comment) for discussion.
Document that CPubKey.IsValid() is consensus critical #3744
pull petertodd wants to merge 1 commits into bitcoin:master from petertodd:document-isvalid-is-consensus-critical changing 1 files +3 −1-
petertodd commented at 2:33 PM on February 25, 2014: contributor
-
Document that CPubKey.IsValid() is consensus critical 5a986edac8
-
gavinandresen commented at 2:35 PM on February 25, 2014: contributor
ACK
-
BitcoinPullTester commented at 3:14 PM on February 25, 2014: none
Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/5a986edac8252da5432cf9145f145a906c05d9fe for binaries and test log. This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/ Contact BlueMatt on freenode if something looks broken.
-
laanwj commented at 3:27 PM on February 25, 2014: member
ACK
-
laanwj commented at 8:44 AM on February 26, 2014: member
BTW: a lot of the CPubKey class is consensus critical. Is IsValid() somehow more consensus critical than the rest, or is this the start of marking all methods that are consensus critical?
-
petertodd commented at 9:15 PM on February 26, 2014: contributor
@laanwj My point is that the fact that IsValid() is consensus critical is kinda surprising; IsFullyValid() just below it is not. (used in CScriptCompressor, but in a non-consensus-critical way) I asked Pieter to make a similar note about the IsPushOnly() function a few months ago, consensus critical due to its use in P2SH validation.
FWIW in python-bitcoinlib I recently moved everything consensus critical into the bitcoin.core namespace to make it clear what is and isn't critical, as well as make it easier to ditch the code entirely and replace it with a future consensus library made from the Satoshi sourcecode. We eventually should do something similar with Bitcoin Core.
- gavinandresen referenced this in commit 7be6ebcf08 on Feb 28, 2014
- gavinandresen merged this on Feb 28, 2014
- gavinandresen closed this on Feb 28, 2014
- petertodd deleted the branch on Feb 28, 2014
- DrahtBot locked this on Sep 8, 2021