|
|
@ -3,7 +3,8 @@ from typing import NamedTuple, Union |
|
|
|
from electrum import transaction, bitcoin |
|
|
|
from electrum.transaction import (convert_raw_tx_to_hex, tx_from_any, Transaction, |
|
|
|
PartialTransaction, TxOutpoint, PartialTxInput, |
|
|
|
PartialTxOutput, Sighash) |
|
|
|
PartialTxOutput, Sighash, match_script_against_template, |
|
|
|
SCRIPTPUBKEY_TEMPLATE_ANYSEGWIT) |
|
|
|
from electrum.util import bh2u, bfh |
|
|
|
from electrum.bitcoin import (deserialize_privkey, opcodes, |
|
|
|
construct_script, construct_witness) |
|
|
@ -78,6 +79,13 @@ class TestBCDataStream(ElectrumTestCase): |
|
|
|
|
|
|
|
|
|
|
|
class TestTransaction(ElectrumTestCase): |
|
|
|
def test_match_against_script_template(self): |
|
|
|
script = bfh(construct_script([opcodes.OP_5, bytes(29)])) |
|
|
|
self.assertTrue(match_script_against_template(script, SCRIPTPUBKEY_TEMPLATE_ANYSEGWIT)) |
|
|
|
script = bfh(construct_script([opcodes.OP_NOP, bytes(30)])) |
|
|
|
self.assertFalse(match_script_against_template(script, SCRIPTPUBKEY_TEMPLATE_ANYSEGWIT)) |
|
|
|
script = bfh(construct_script([opcodes.OP_0, bytes(50)])) |
|
|
|
self.assertFalse(match_script_against_template(script, SCRIPTPUBKEY_TEMPLATE_ANYSEGWIT)) |
|
|
|
|
|
|
|
def test_tx_update_signatures(self): |
|
|
|
tx = tx_from_any("cHNidP8BAFUBAAAAASpcmpT83pj1WBzQAWLGChOTbOt1OJ6mW/OGM7Qk60AxAAAAAAD/////AUBCDwAAAAAAGXapFCMKw3g0BzpCFG8R74QUrpKf6q/DiKwAAAAAAAAA") |
|
|
@ -927,7 +935,7 @@ class TestSighashTypes(ElectrumTestCase): |
|
|
|
txin = PartialTxInput(prevout=prevout) |
|
|
|
txin.nsequence=0xffffffff |
|
|
|
txin.script_type='p2sh-p2wsh' |
|
|
|
txin.witness_script = bfh('56210307b8ae49ac90a048e9b53357a2354b3334e9c8bee813ecb98e99a7e07e8c3ba32103b28f0c28bfab54554ae8c658ac5c3e0ce6e79ad336331f78c428dd43eea8449b21034b8113d703413d57761b8b9781957b8c0ac1dfe69f492580ca4195f50376ba4a21033400f6afecb833092a9a21cfdf1ed1376e58c5d1f47de74683123987e967a8f42103a6d48b1131e94ba04d9737d61acdaa1322008af9602b3b14862c07a1789aac162102d8b661b0b3302ee2f162b09e07a55ad5dfbe673a9f01d9f0c19617681024306b56ae') |
|
|
|
txin.witness_script = bfh('56210307b8ae49ac90a048e9b53357a2354b3334e9c8bee813ecb98e99a7e07e8c3ba32103b28f0c28bfab54554ae8c658ac5c3e0ce6e79ad336331f78c428dd43eea8449b21034b8113d703413d57761b8b9781957b8c0ac1dfe69f492580ca4195f50376ba4a21033400f6afecb833092a9a21cfdf1ed1376e58c5d1f47de74683123987e967a8f42103a6d48b1131e94ba04d9737d61acdaa1322008af9602b3b14862c07a1789aac162102d8b661b0b3302ee2f162b09e07a55ad5dfbe673a9f01d9f0c19617681024306b56ae') |
|
|
|
txin.redeem_script = bfh('0020a16b5755f7f6f96dbd65f5f0d6ab9418b89af4b1f14a1bb8a09062c35f0dcb54') |
|
|
|
txin._trusted_value_sats = 987654321 |
|
|
|
#Output of Transaction |
|
|
|