|
|
@ -477,6 +477,15 @@ def random_transaction(nodes, amount, min_fee, fee_increment, fee_variants):
|
|
|
|
|
|
|
|
|
|
|
|
return (txid, signresult["hex"], fee)
|
|
|
|
return (txid, signresult["hex"], fee)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def assert_fee_amount(fee, tx_size, fee_per_kB):
|
|
|
|
|
|
|
|
"""Assert the fee was in range"""
|
|
|
|
|
|
|
|
target_fee = tx_size * fee_per_kB / 1000
|
|
|
|
|
|
|
|
if fee < target_fee:
|
|
|
|
|
|
|
|
raise AssertionError("Fee of %s BTC too low! (Should be %s BTC)"%(str(fee), str(target_fee)))
|
|
|
|
|
|
|
|
# allow the wallet's estimation to be at most 2 bytes off
|
|
|
|
|
|
|
|
if fee > (tx_size + 2) * fee_per_kB / 1000:
|
|
|
|
|
|
|
|
raise AssertionError("Fee of %s BTC too high! (Should be %s BTC)"%(str(fee), str(target_fee)))
|
|
|
|
|
|
|
|
|
|
|
|
def assert_equal(thing1, thing2):
|
|
|
|
def assert_equal(thing1, thing2):
|
|
|
|
if thing1 != thing2:
|
|
|
|
if thing1 != thing2:
|
|
|
|
raise AssertionError("%s != %s"%(str(thing1),str(thing2)))
|
|
|
|
raise AssertionError("%s != %s"%(str(thing1),str(thing2)))
|
|
|
|