add input input_verify flag
This commit is contained in:
parent
538f24b218
commit
24a8a3bba9
@ -357,11 +357,11 @@ class Transaction(dict):
|
||||
def add_input(self, tx_id=None, v_out=0, sequence=0xffffffff,
|
||||
script_sig=b"", tx_in_witness=None, amount=None,
|
||||
script_pub_key=None, address=None, private_key=None,
|
||||
redeem_script=None, sig_script_limit = True):
|
||||
redeem_script=None, input_verify = True):
|
||||
if tx_id is None:
|
||||
tx_id = b"\x00" * 32
|
||||
v_out = 0xffffffff
|
||||
if sequence != 0xffffffff or self["vIn"]:
|
||||
if (sequence != 0xffffffff or self["vIn"]) and input_verify:
|
||||
raise RuntimeError("invalid coinbase transaction")
|
||||
|
||||
if isinstance(tx_id, str):
|
||||
@ -371,7 +371,7 @@ class Transaction(dict):
|
||||
|
||||
if isinstance(script_sig, str):
|
||||
script_sig = bytes.fromhex(script_sig)
|
||||
if not isinstance(script_sig, bytes) or (len(script_sig) > 520 and sig_script_limit):
|
||||
if not isinstance(script_sig, bytes) or (len(script_sig) > 520 and input_verify):
|
||||
raise TypeError("script_sig invalid")
|
||||
|
||||
if not isinstance(v_out, int) or not (v_out <= 0xffffffff and v_out >= 0):
|
||||
@ -407,7 +407,8 @@ class Transaction(dict):
|
||||
|
||||
if tx_id == b"\x00" * 32:
|
||||
if not (v_out == 0xffffffff and sequence == 0xffffffff and len(script_sig) <= 100):
|
||||
raise TypeError("coinbase tx invalid")
|
||||
if input_verify:
|
||||
raise TypeError("coinbase tx invalid")
|
||||
self["coinbase"] = True
|
||||
|
||||
# script_pub_key
|
||||
|
||||
Loading…
Reference in New Issue
Block a user