26 lines
859 B
Python
26 lines
859 B
Python
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)
|