Remove implementation of disabled opcodes #2610

pull gavinandresen wants to merge 1 commits into bitcoin:master from gavinandresen:scriptcleanup changing 1 files +1 −166
  1. gavinandresen commented at 9:37 PM on May 2, 2013: contributor

    So we stop getting pull requests (like #2604) fixing problems with disabled Script opcodes. A hard fork would be required to re-enable these, and if we ever did that we'd require extensive review and testing.

    I double-checked to make sure the script_invalid.json unit tests make sure that the disabled opcodes are handled properly (script invalid even if the disabled opcodes are in the unexecuted branch of an OP_IF); they do.

  2. Remove implementation of disabled opcodes
    So we stop getting pull requests (like #2604) fixing problems with disabled Script opcodes.
    A hard fork would be required to re-enable these, and if we ever did that we'd require extensive review and testing.
    bce697d7fa
  3. luke-jr commented at 9:51 PM on May 2, 2013: member

    Any reason not to remove the definitions of OP_disabledops entirely?

  4. sipa commented at 10:02 PM on May 2, 2013: member

    The only reason to keep them would be backward compatibility for the decoded version, I guess, and then even only for very weird scripts...

  5. BitcoinPullTester commented at 10:28 PM on May 2, 2013: none

    Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/bce697d7faef0d8119ba80ae583cfcce460c7f81 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.

  6. laanwj commented at 6:00 AM on May 3, 2013: member

    Good. The code is unused and there is no reason to keep it like this. If it is ever decided to bring the opcodes back, it can be done with better designed semantics w.r.t signed/unsigned handling.

  7. petertodd commented at 1:53 PM on May 3, 2013: contributor

    @luke-jr The code that actually disabled those OP's is executed, so I'd be inclined to leave that in place out of paranoia, at least for now.

    FWIW, I manually reviewed the change.

  8. gavinandresen commented at 2:40 PM on May 3, 2013: contributor

    RE: remove opcodes entirely: I thought about removing the OP_ enum constants, but then we'd just have to use hard-coded 0x constants in a couple of places (the early if statement, and the opcode-to-string map so unit tests continued working) which would be uglier and more error-prone.

  9. sipa commented at 8:57 PM on May 3, 2013: member

    ACK

  10. gavinandresen referenced this in commit 4a4e9a3f8d on May 3, 2013
  11. gavinandresen merged this on May 3, 2013
  12. gavinandresen closed this on May 3, 2013

  13. gavinandresen deleted the branch on Nov 4, 2013
  14. laudney referenced this in commit 3f2d2b43f6 on Mar 19, 2014
  15. pyritepirate referenced this in commit b1b731e90a on Nov 21, 2018
  16. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-19 12:16 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me