diff --git a/bitcoin/core/script.py b/bitcoin/core/script.py index c0058a41..7823e9d0 100644 --- a/bitcoin/core/script.py +++ b/bitcoin/core/script.py @@ -365,12 +365,14 @@ def __new__(cls, n): OPCODES_BY_NAME = { 'OP_0': OP_0, + 'OP_FALSE': OP_0, 'OP_PUSHDATA1': OP_PUSHDATA1, 'OP_PUSHDATA2': OP_PUSHDATA2, 'OP_PUSHDATA4': OP_PUSHDATA4, 'OP_1NEGATE': OP_1NEGATE, 'OP_RESERVED': OP_RESERVED, 'OP_1': OP_1, + 'OP_TRUE': OP_1, 'OP_2': OP_2, 'OP_3': OP_3, 'OP_4': OP_4, diff --git a/bitcoin/tests/test_script.py b/bitcoin/tests/test_script.py index 1ca62eb0..35209f60 100644 --- a/bitcoin/tests/test_script.py +++ b/bitcoin/tests/test_script.py @@ -44,6 +44,10 @@ def test_is_singleton(self): for i in range(0x0, 0x100): self.assertTrue(CScriptOp(i) is CScriptOp(i)) + def test_boolean_aliases_are_available_by_name(self): + self.assertIs(OPCODES_BY_NAME['OP_FALSE'], OP_0) + self.assertIs(OPCODES_BY_NAME['OP_TRUE'], OP_1) + def test_encode_decode_op_n(self): def t(n, op): actual = CScriptOp.encode_op_n(n)