https://travis-ci.org/github/bitcoin/bitcoin/jobs/680452476#L6107
CWallet* const pwallet = wallet.get();
    
    
    pwallet->BlockUntilSyncedToCurrentChain();
    LOCK(pwallet->cs_wallet);
    RPCTypeCheckArgument(request.params[0], UniValue::VBOOL);
    bool fUnlock = request.params[0].get_bool();
    if (request.params[1].isNull()) {
        if (fUnlock)
            pwallet->UnlockAllCoins();
        return true;
    }
    RPCTypeCheckArgument(request.params[1], UniValue::VARR);
    const UniValue& output_params = request.params[1];
    
    std::vector<COutPoint> outputs;
    outputs.reserve(output_params.size());
    for (unsigned int idx = 0; idx < output_params.size(); idx++) {
        const UniValue& o = output_params[idx].get_obj();
        RPCTypeCheckObj(o,
            {
                {"txid", UniValueType(UniValue::VSTR)},
                {"vout", UniValueType(UniValue::VNUM)},
            });
        const uint256 txid(ParseHashO(o, "txid"));
        const int nOutput = find_value(o, "vout").get_int();
        if (nOutput < 0) {
            throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, vout cannot be negative");
        }
        const COutPoint outpt(txid, nOutput);