@staticmethod
def process(rpcconn, src, dest):
    param_out = BTC_CreateRawTransactionEx.generateOutParam(dest)
    (ret, utxos, redundant) = BTC_CreateRawTransactionEx.genearateInParam(rpcconn, src, param_out)
    if (not ret):
        return (False, 'budget not enough')
    param_out[src[0]] = (redundant if (src[0] not in param_out.keys()) else (param_out[src[0]] + redundant))
    from utils import filtered
    param_in = [filtered(item, ['txid', 'vout']) for item in utxos]
    return (True, {'hex': rpcconn.batch_([['createrawtransaction', param_in, param_out]]), 'utxos': utxos, 'txout': param_out})
@staticmethod
def process(rpcconn, src, dest):
    param_out = BTC_CreateRawTransactionEx.generateOutParam(dest)
    (ret, utxos, redundant) = BTC_CreateRawTransactionEx.genearateInParam(rpcconn, src, param_out)
    if (not ret):
        return (False, 'budget not enough')
    param_out[src[0]] = (redundant if (src[0] not in param_out.keys()) else (param_out[src[0]] + redundant))
    from utils import filtered
    param_in = [filtered(item, ['txid', 'vout']) for item in utxos]
    return (True, {'hex': rpcconn.batch_([['createrawtransaction', param_in, param_out]]), 'utxos': utxos, 'txout': param_out})