Files
plm-electrumx/tests/lib/test_script.py
T

26 lines
859 B
Python
Raw Normal View History

import pytest
from electrumx.lib.script import OpCodes, is_unspendable_legacy, is_unspendable_genesis
@pytest.mark.parametrize("script, iug", (
(bytes([OpCodes.OP_RETURN]), False),
(bytes([OpCodes.OP_RETURN]) + bytes([2, 28, 50]), False),
(bytes([OpCodes.OP_0, OpCodes.OP_RETURN]), True),
(bytes([OpCodes.OP_0, OpCodes.OP_RETURN]) + bytes([2, 28, 50]), True)
))
def test_op_return_legacy(script, iug):
assert is_unspendable_legacy(script)
assert is_unspendable_genesis(script) is iug
@pytest.mark.parametrize("script", (
bytes([]),
bytes([OpCodes.OP_1, OpCodes.OP_RETURN]) + bytes([2, 28, 50]),
bytes([OpCodes.OP_0]),
bytes([OpCodes.OP_0, OpCodes.OP_1]),
bytes([OpCodes.OP_HASH160]),
))
def test_not_op_return(script):
assert not is_unspendable_legacy(script)
assert not is_unspendable_genesis(script)