## The second param of listsinceblock

From [issue 8752](https://github.com/bitcoin/bitcoin/issues/8752#issuecomment-247988691)

> The second parameter (target confirmation) is quite strange and should probably be better > documented in the RPC help of listsinceblock (check original comment: #199 (comment))

From the actual docs here is it is:

> target-confirmations:    (numeric, optional) The confirmations required, must be 1 or more

However, that's misleading at best. I've seen at least one project thinking that `target-confirmations` means "filter to only show transactions of n target-confirmations". It's a weird param but I'd document it as

> target-confirmations: (numeric, optional) Return the hash of the block that has target-confirmations of confirmations, for use in a further call to listsinceblock
## Transactions confirmations

Says:

> "confirmations": n,       (numeric) The number of confirmations for the transaction. Available for 'send' and 'receive' category of transactions.

It should also say when it's < 0, it means the transaction conflicted that many blocks ago
## bip125-replaceable

There's an undocumented field of transactions "bip125-replaceable" which I believe has three possibilities "yes" "no" and "unknown"  (under what circumstances it says unknown, should also be documented)

+ HelpExampleCli("gettransaction", "\"1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d\" true")
            + HelpExampleRpc("gettransaction", "\"1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d\"")
        );
    LOCK2(cs_main, pwalletMain->cs_wallet);
    uint256 hash;
    hash.SetHex(request.params[0].get_str());
    isminefilter filter = ISMINE_SPENDABLE;
    if(request.params.size() > 1)
        if(request.params[1].get_bool())
            filter = filter | ISMINE_WATCH_ONLY;
    UniValue entry(UniValue::VOBJ);
    if (!pwalletMain->mapWallet.count(hash))
        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid or non-wallet transaction id");
    const CWalletTx& wtx = pwalletMain->mapWallet[hash];
    CAmount nCredit = wtx.GetCredit(filter);
    CAmount nDebit = wtx.GetDebit(filter);
    CAmount nNet = nCredit - nDebit;
    CAmount nFee = (wtx.IsFromMe(filter) ? wtx.tx->GetValueOut() - nDebit : 0);
    entry.push_back(Pair("amount", ValueFromAmount(nNet - nFee)));
    if (wtx.IsFromMe(filter))
        entry.push_back(Pair("fee", ValueFromAmount(nFee)));
    WalletTxToJSON(wtx, entry);
    UniValue details(UniValue::VARR);
    ListTransactions(wtx, "*", 0, false, details, filter);
    entry.push_back(Pair("details", details));
    string strHex = EncodeHexTx(static_cast<CTransaction>(wtx), RPCSerializationFlags());
    entry.push_back(Pair("hex", strHex));
    return entry;
}
UniValue abandontransaction(const JSONRPCRequest& request)