dashpay / dash

Dash - Reinventing Cryptocurrency
https://www.dash.org
MIT License
1.49k stars 1.2k forks source link

UI issue in context menu on the Transactions tab of the QT wallet #6124

Open kxcd opened 1 month ago

kxcd commented 1 month ago

When receiving a transaction in the QT wallet, before an ISD_Lock is detected (ie unconfirmed TX), if one right clicks on the transaction, the context menu that appears has the Resend Transaction option enabled, this seems weird to me, since this wallet cannot rebroadcast this transaction and instead needs to wait for it to be confirmed, or am I misunderstanding something?

Expected behavior

Too see this option disabled for incoming transactions. It should only be enabled for TXes this wallet has sent and that are neither ISD locked, NOR chainlocked.

Actual behavior

The bad stuff, it's enabled and clicking it doesn't appear to do anything at least in the UI.

To reproduce

Send this wallet a TX and observe the context menu before the ISD hits.

System information

Discovered on Windows QT wallet, v20.1.1.

I didn't check the debug.log.

image

knst commented 1 month ago

wallet cannot rebroadcast this transaction and instead needs to wait for it to be confirmed

Wallet can re-broadcast transaction. By default re-broadcasting intervals are pretty long for security reasons (random between 1 and 3 hours), so, if you click this button it would quitely (without any gui alerts) just re-transmit transaction to know peers immediately.

It can be useful, if you sent transaction, but you don't see it on other peers, no IS lock on it, etc - maybe the peers who received your transaction just censured it or went to offline, or your node has been with poor connection, etc

babi-1097 commented 1 month ago

When a transaction is received but not yet confirmed, it means it is still waiting to be included in a block on the blockchain. Specific to certain cryptocurrencies like Dash, this lock signifies that a transaction has been verified and locked by the network, providing near-instant confirmation. Your wallet does not have the ability to rebroadcast an incoming transaction because it was not originally broadcasted by your wallet. The transaction simply needs to be confirmed by the network which is out of your wallet's transaction.