def spend_utxos(self, node_id, utxo_list, recipient='', fMultiple=False):
    ' spend utxos to provided list of addresses or 10 new generate ones.\n        :param    node_id:     (int) index of the CTestNode used as rpc connection. Must own the utxo.\n                  utxo_list:   (JSON list) returned from listunspent used as input\n                  recipient:   (string, optional) destination address (new one if not provided)\n                  fMultiple:   (boolean, optional, default=false) spend each utxo on a different tx\n        :return:  txHashes:    (string list) list of hashes of completed txs\n        '
    assert_greater_than(len(self.nodes), node_id)
    rpc_conn = self.nodes[node_id]
    txHashes = []
    if (recipient == ''):
        recipient = rpc_conn.getnewaddress()
    if fMultiple:
        for utxo in utxo_list:
            txHash = self.spend_utxo(node_id, utxo, recipient)
            if (txHash != ''):
                txHashes.append(txHash)
    else:
        inputs = [{'txid': x['txid'], 'vout': x['vout']} for x in utxo_list]
        out_amount = (sum([float(x['amount']) for x in utxo_list]) - DEFAULT_FEE)
        outputs = {}
        if (recipient == ''):
            recipient = rpc_conn.getnewaddress()
        outputs[recipient] = out_amount
        txHash = self.spend_inputs(node_id, inputs, outputs)
        if (txHash != ''):
            txHashes.append(txHash)
    return txHashes
spend utxos to provided list of addresses or 10 new generate ones.
:param    node_id:     (int) index of the CTestNode used as rpc connection. Must own the utxo.
          utxo_list:   (JSON list) returned from listunspent used as input
          recipient:   (string, optional) destination address (new one if not provided)
          fMultiple:   (boolean, optional, default=false) spend each utxo on a different tx
:return:  txHashes:    (string list) list of hashes of completed txs
def spend_utxos(self, node_id, utxo_list, recipient=, fMultiple=False):
    ' spend utxos to provided list of addresses or 10 new generate ones.\n        :param    node_id:     (int) index of the CTestNode used as rpc connection. Must own the utxo.\n                  utxo_list:   (JSON list) returned from listunspent used as input\n                  recipient:   (string, optional) destination address (new one if not provided)\n                  fMultiple:   (boolean, optional, default=false) spend each utxo on a different tx\n        :return:  txHashes:    (string list) list of hashes of completed txs\n        '
    assert_greater_than(len(self.nodes), node_id)
    rpc_conn = self.nodes[node_id]
    txHashes = []
    if (recipient == ):
        recipient = rpc_conn.getnewaddress()
    if fMultiple:
        for utxo in utxo_list:
            txHash = self.spend_utxo(node_id, utxo, recipient)
            if (txHash != ):
                txHashes.append(txHash)
    else:
        inputs = [{'txid': x['txid'], 'vout': x['vout']} for x in utxo_list]
        out_amount = (sum([float(x['amount']) for x in utxo_list]) - DEFAULT_FEE)
        outputs = {}
        if (recipient == ):
            recipient = rpc_conn.getnewaddress()
        outputs[recipient] = out_amount
        txHash = self.spend_inputs(node_id, inputs, outputs)
        if (txHash != ):
            txHashes.append(txHash)
    return txHashes