pyflo/pybtc/test/create_transaction.py
2018-07-03 16:04:32 +04:00

36 lines
1.6 KiB
Python

import unittest
import os, sys
parentPath = os.path.abspath("..")
if parentPath not in sys.path:
sys.path.insert(0, parentPath)
from pybtc import *
from binascii import unhexlify
from pybtc import address_to_hash 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")