Issue Details

Number
12883
Title
Wallet transactions affected by RBF double spends are not (always) clearly shown in GUI or RPC
Description
# What behavior did you expect? When the mempool contains a transaction that conflicts with a wallet transaction, for this to (always) be visible in both bitcoin-qt GUI and bitcoin-cli output. # What was the actual behavior (provide screenshots if the issue is GUI-related)? RPC: If the conflicting transaction touches the wallet (eg. if you are the sender, or if you are the recipient and we are considering an honest RBF feebump), the conflict is visible in the (undocumented) `walletconflicts` return value of the `listtransactions` and `gettransaction` RPC calls. In the case the conflicting transaction does NOT touch the wallet (eg. if you are the receiver of a maliciously doublespent RBF transaction), this is not indicated. GUI: If the conflicting transaction touches the wallet (eg. if you are the sender, or if you are the recipient and we are considering an honest RBF feebump), all versions are visible in the GUI, without indication of conflict between them, but the "pending" part of the balance (correctly) does not show a duplicate amount of incoming money. In the case the conflicting transaction does NOT touch the wallet (eg. if you are the receiver of a maliciously doublespent RBF transaction), there is no indication of any conflict (pending balance still counts the incoming transaction that has been doublespent) aside from the transaction details stating it is not in the mempool. ![rbfdoublespend1](https://user-images.githubusercontent.com/37372069/38313687-eb5b8e02-3824-11e8-8f02-cd124946f54f.png) ![rbfdoublespend2](https://user-images.githubusercontent.com/37372069/38313690-ef300f1c-3824-11e8-80e8-0506924c6454.png) ![rbfdoublespend3](https://user-images.githubusercontent.com/37372069/38313695-f1a1819a-3824-11e8-9c6b-eba5778353e3.png) # How reliably can you reproduce the issue, what are the steps to do so? Very reliably; screenshots provided are from 3 interconnected regtest nodes, the top node has mined some coins and has first spent them to the middle node, RBF-feebumped that transaction (only second transaction shown in screenshots), RBF-doublespent it to the bottom node, then RBF-doublespent it to itself. All nodes have only the latest transaction in the mempool. # What version of Bitcoin Core are you using, where did you get it (website, self-compiled, etc)? Version 0.16.0, pre-compiled version from bitcoincore.org.
URL
https://github.com/bitcoin/bitcoin/issue/12883
Closed by
Back to List