https://travis-ci.org/github/bitcoin/bitcoin/jobs/680452476#L6107
const auto destination = DecodeDestination(address_or_descriptor);
        if (!IsValidDestination(destination)) {
            throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Error: Invalid address or descriptor");
        }
        coinbase_script = GetScriptForDestination(destination);
    }
    const CTxMemPool& mempool = EnsureMemPool(request.context);
    std::vector<CTransactionRef> txs;
    const auto raw_txs_or_txids = request.params[1].get_array();
    for (size_t i = 0; i < raw_txs_or_txids.size(); i++) {
        const auto str(raw_txs_or_txids[i].get_str());
        uint256 hash;
        CMutableTransaction mtx;
        if (ParseHashStr(str, hash)) {
            const auto tx = mempool.get(hash);
            if (!tx) {
                throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, strprintf("Transaction %s not in mempool.", str));
            }
            txs.emplace_back(tx);
        } else if (DecodeHexTx(mtx, str)) {
            txs.push_back(MakeTransactionRef(std::move(mtx)));
        } else {
            throw JSONRPCError(RPC_DESERIALIZATION_ERROR, strprintf("Transaction decode failed for %s", str));
        }
    }
    CChainParams chainparams(Params());
    CBlock block;
    {
        LOCK(cs_main);
        CTxMemPool empty_mempool;