dcrd/txscript/data
Dave Collins 11ae59977a
txscript: Introduce OP_SHA256.
This modifies the script engine to replace OP_UNKNOWN192 with OP_SHA256
along with a flag named ScriptVerifySHA256 to selectively enable its
enforcement.

The new opcode consumes the top item from the data stack, computes its
SHA-256, and pushes the resulting digest back to the data stack.

Since it requires an item on the data stack, execution will terminate
with an error when the stack is empty.  This behavior differs from
OP_UNKNOWN192 which does not consume any elements from the data stack
and therefore makes this is hard-forking change when interpreted with
the new semantics due to the ScriptVerifySHA256 flag being set.  Code to
selectively enable the opcode based on the result of an agenda vote will
be added in a separate commit.

This also includes tests to ensure the opcode works as expected
including when used both correctly and incorrectly.
2017-09-14 11:33:48 -05:00
..
LICENSE Import btcscript repo into txscript directory. 2015-01-30 10:30:16 -06:00
script_invalid.json txscript: Introduce OP_SHA256. 2017-09-14 11:33:48 -05:00
script_valid.json txscript: Introduce OP_SHA256. 2017-09-14 11:33:48 -05:00
tx_invalid.json txscript: Implement CheckSequenceVerify 2017-08-28 12:23:34 -05:00
tx_valid.json txscript: Implement CheckSequenceVerify 2017-08-28 12:23:34 -05:00