32 lines
1.5 KiB
Python
32 lines
1.5 KiB
Python
import unittest
|
|
from pybtc import *
|
|
from binascii import unhexlify
|
|
from pybtc import address2hash as address2hash160
|
|
|
|
class CreateTransactionTests(unittest.TestCase):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
print("\nTesting create transaction:\n")
|
|
|
|
def test_create_tx(self):
|
|
tx = Transaction()
|
|
tx.add_input("60965ce5eec9846373c497ff0b45e55d0af5e6ed96ef46455be377935eb563e4",
|
|
2)
|
|
tx.add_output_address(270000000, "3ByyFTy4ESZVr6y3mWqapqC84yn2TAtcr4")
|
|
tx.add_output_address(171310000, "bc1qwqdg6squsna38e46795at95yu9atm8azzmyvckulcc7kytlcckxswvvzej")
|
|
self.assertEqual(rh2s(tx.hash), "1afc445bf8aef9904f2e1d7f4c5f9093587ccff8aa01263c7369c917aa86616a")
|
|
raw_tx = tx.serialize()
|
|
tx2 = Transaction.deserialize(raw_tx)
|
|
self.assertEqual(rh2s(tx2.hash), "1afc445bf8aef9904f2e1d7f4c5f9093587ccff8aa01263c7369c917aa86616a")
|
|
self.assertEqual(tx2.tx_out[-1].pk_script.type, "P2WSH")
|
|
|
|
tx = Transaction()
|
|
tx.add_input("593cd8119bcd49055df0a3a01c38989b311c1e88985a6315608bb5d59dda9d1f", 1)
|
|
tx.add_output_address(25000, "39okDra9814p4Dz3SFSuS2D8riqbbMtSiP")
|
|
tx.add_output_address(689, "bc1qrn7pyh2c79gf7a8ywpx85w9u7lj9dx7tfevlv0")
|
|
self.assertEqual(rh2s(tx.hash), "7221dfc0fa3ff37d5dcbaf77c2e1b56318a25a793a62d854909cbd7f754881bb")
|
|
self.assertEqual(tx.tx_out[-1].pk_script.type, "P2WPKH")
|
|
self.assertEqual(tx.tx_out[0].pk_script.type, "P2SH")
|
|
|