Skip to content

Conversation

jonasschnelli
Copy link
Contributor

Currently, the GUI shows only conflicts with transaction in a block.

This results in displaying replaced transaction (RBF) wrong (the replaced transaction is no longer in the mempool, but still in the wallet-transactionlist, conflicts are not detected).

This PR will mark unconfirmed transactions that are not in our mempool and have conflicts as conflicted.

@jonasschnelli
Copy link
Contributor Author

Another option would be to hide these transactions completely.

@jonasschnelli
Copy link
Contributor Author

Before this PR:

Sending 49.9BTC and RBF with a 40.0BTC transaction.
bildschirmfoto 2016-04-06 um 17 17 40

After this PR:
bildschirmfoto 2016-04-06 um 17 21 22

return true;
}

if (status.cur_num_blocks != chainActive.Height())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: I think you can leave those three lines the way it was before: return status.cur_num_blocks != chainActive.Height();

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right! Fixed.

@maflcko
Copy link
Member

maflcko commented Apr 6, 2016

Another option would be to hide these transactions completely.

I don't think you want to hide wtx without telling the user/ without having the user told you to do so.

@jonasschnelli jonasschnelli force-pushed the 2016/04/ui_mem_cflct branch from 91b63c5 to 614073f Compare April 6, 2016 15:23
@jonasschnelli
Copy link
Contributor Author

I don't think you want to hide wtx without telling the user/ without having the user told you to do so.

Yes. I agree. IMO the "mark as conflicted" solution is better.

@maflcko
Copy link
Member

maflcko commented Apr 6, 2016

Hmm, so I have a non-rbf transaction back from august:

Status: 0/unconfirmed, not in memory pool
Date: 8/19/15 15:51

and sendrawt returns Missing inputs (code -25), but it is not showing the new icon. Need to look into this...

@jonasschnelli
Copy link
Contributor Author

@MarcoFalke: does you non-rbf transaction back from august is in conflict with another transaction in your wallet? Only if it's so, the conflicted state icon will be shown.

@maflcko
Copy link
Member

maflcko commented Apr 7, 2016

No, it didn't conflict within the wallet.

Tested ACK 614073f

@maflcko
Copy link
Member

maflcko commented Apr 7, 2016

One could argue to use another status/icon for this e.g. https://raw.githubusercontent.com/jonasschnelli/bitcoin/47196712ec7f3ff2f5f814650d40366cb269fe56/src/qt/res/icons/transaction_replaceable.png with the conflicted icon (cross) in the lower left.

On RPC level, we show possible mempool conflicts already via detecting them over the CWallet::GetConflicts() function.
Currently, the GUI shows only conflicts with transaction in a block.

This results in displaying replaced transaction (RBF) wrong.

This PR will mark unconfirmed transactions that are _not_ in our mempool and have conflicts as conflicted.
@jonasschnelli jonasschnelli reopened this May 20, 2016
@jonasschnelli
Copy link
Contributor Author

jonasschnelli commented May 20, 2016

Rebased and changed the icon for transactions with conflict but not being in the mempool (RBF):
bildschirmfoto 2016-05-20 um 17 48 22

@luke-jr
Copy link
Member

luke-jr commented May 20, 2016

These seem to be two list items referring to the same transaction.

@jonasschnelli
Copy link
Contributor Author

@luke-jr: this PR does not focus on hiding out transactions from the wallet (a lot more complexity).
At the moment, a replaced RBF transaction is not listed as conflicted (#7826 (comment)).

This PR is a tiny fix to improve the GUI RBF attribution.

@jonasschnelli
Copy link
Contributor Author

jonasschnelli commented May 21, 2016

Another solution would be (idea once shortly discusses with @gmaxwell on IRC):

  • directly hide transactions if they are conflicted and not in the mempool (RBF)
  • hide transactions that conflicts with a transaction in a blocks with confirmation >6
  • add option in the settings panel to "display old conflicted transaction" and turn it off by default.

@sipa
Copy link
Member

sipa commented Jun 5, 2016

@jonasschnelli Any progress here?

@jonasschnelli
Copy link
Contributor Author

@sipa: I'm working on a option to auto-hide mempool conflicts (transactions that are not in the blockchain and mempool) (RBF/abandoned txes).

@jonasschnelli
Copy link
Contributor Author

I think this solution is fine as it is. The auto-hide option can be written in a separate PR.
This PR would be a simple change to allow users to easy identify mempool replacments relevant to the wallet.

Would be great for 0.13.

@jonasschnelli jonasschnelli added this to the 0.13.0 milestone Jun 9, 2016
@laanwj
Copy link
Member

laanwj commented Jun 21, 2016

Removing this from the 0.13 milestone as it missed the feature freeze.

Would be great for 0.13.

Agree, would have been nice, just like #7817. I think we have a lack of GUI testers/reviewers, as useful GUI changes like this linger way too long.

@laanwj laanwj removed this from the 0.13.0 milestone Jun 21, 2016
@jonasschnelli
Copy link
Contributor Author

This (simple) PR looks for reviewers...

@maflcko
Copy link
Member

maflcko commented Aug 10, 2016

I think the problem is that it may not be obvious for everyone to set up the appropriate transactions to test this. I think it may help to add "proposed steps to reproduce" for harder to test pulls in general.

@maflcko
Copy link
Member

maflcko commented Aug 10, 2016

82962bd Works for standard transactions:

screenshot from 2016-08-10 10-37-01
screenshot from 2016-08-10 10-37-06
screenshot from 2016-08-10 10-37-14

Does not work for non-standard transactions:

screenshot from 2016-08-10 10-34-42
screenshot from 2016-08-10 10-34-45

@jonasschnelli
Copy link
Contributor Author

Closing for now due to inactivity...

@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants