message: TEST: Replace hard-coded hex tx with classes
diff: @@ -19,6 +19,7 @@ import time
  from . import coverage
  from .authproxy import AuthServiceProxy, JSONRPCException
  +from io import BytesIO
  logger = logging.getLogger("TestFramework.utils")
  @@ -515,14 +516,13 @@ def gen_return_txouts():
  for i in range(512):
  script_pubkey = script_pubkey + "01"
  # concatenate 128 txouts of above script_pubkey which we'll insert before the txout for change
  - txouts = "81"
  + txouts = []
  + from .messages import CTxOut
  + txout = CTxOut()
  + txout.nValue = 0
  + txout.scriptPubKey = hex_str_to_bytes(script_pubkey)
  for k in range(128):
  - # add txout value
  - txouts = txouts + "0000000000000000"
  - # add length of script_pubkey
  - txouts = txouts + "fd0402"
  - # add script_pubkey
  - txouts = txouts + script_pubkey
  + txouts.append(txout)
  return txouts
  # Create a spend of each passed-in utxo, splicing in "txouts" to each raw
  @@ -530,6 +530,7 @@ def gen_return_txouts():
  def create_lots_of_big_transactions(node, txouts, utxos, num, fee):
  addr = node.getnewaddress()
  txids = []
  + from .messages import CTransaction
  for _ in range(num):
  t = utxos.pop()
  inputs = [{"txid": t["txid"], "vout": t["vout"]}]
  @@ -537,9 +538,11 @@ def create_lots_of_big_transactions(node, txouts, utxos, num, fee):
  change = t['amount'] - fee
  outputs[addr] = satoshi_round(change)
  rawtx = node.createrawtransaction(inputs, outputs)
  - newtx = rawtx[0:92]
  - newtx = newtx + txouts
  - newtx = newtx + rawtx[94:]
  + tx = CTransaction()
  + tx.deserialize(BytesIO(hex_str_to_bytes(rawtx)))
  + for txout in txouts:
  + tx.vout.append(txout)
  + newtx = tx.serialize().hex()
  signresult = node.signrawtransactionwithwallet(newtx, None, "NONE")
  txid = node.sendrawtransaction(signresult["hex"], 0)
  txids.append(txid)
  