Browse Source

Use VERIFY_STRICTENC flag for Script verification

Without this flag set, the python-bitcointx Script
verification will use openssl for non-strict encoding,
which requires a libopenssl dependency. Moreover non-
strict encoding is now out of consensus so is not needed
for our purpose.
master
Adam Gibson 6 years ago
parent
commit
6e6bf0a99c
No known key found for this signature in database
GPG Key ID: 141001A1AF77F20B
  1. 8
      jmbitcoin/jmbitcoin/secp256k1_transaction.py

8
jmbitcoin/jmbitcoin/secp256k1_transaction.py

@ -16,7 +16,9 @@ from bitcointx.core.script import *
from bitcointx.wallet import (P2WPKHCoinAddress, CCoinAddress, P2PKHCoinAddress,
CCoinAddressError)
from bitcointx.core.scripteval import (VerifyScript, SCRIPT_VERIFY_WITNESS,
SCRIPT_VERIFY_P2SH, SIGVERSION_WITNESS_V0)
SCRIPT_VERIFY_P2SH,
SCRIPT_VERIFY_STRICTENC,
SIGVERSION_WITNESS_V0)
def human_readable_transaction(tx, jsonified=True):
""" Given a CTransaction object, output a human
@ -203,7 +205,7 @@ def sign(tx, i, priv, hashcode=SIGHASH_ALL, amount=None, native=False):
or: (None, errormsg) in case of failure
"""
# script verification flags
flags = set()
flags = set([SCRIPT_VERIFY_STRICTENC])
def return_err(e):
return None, "Error in signing: " + repr(e)
@ -320,7 +322,7 @@ def make_shuffled_tx(ins, outs, version=1, locktime=0):
def verify_tx_input(tx, i, scriptSig, scriptPubKey, amount=None,
witness=None, native=False):
flags = set()
flags = set([SCRIPT_VERIFY_STRICTENC])
if witness:
flags.add(SCRIPT_VERIFY_P2SH)
if native:

Loading…
Cancel
Save