spesmilo / electrum

Electrum Bitcoin Wallet
https://electrum.org
MIT License
7.41k stars 3.08k forks source link

Fee increment adds Input and Change address without advertising #7322

Open donob4n opened 3 years ago

donob4n commented 3 years ago

Hi,

When raising fee of a 1input x 1output transaction is relative easy to end with a 2input x 2output transaction without noticing which is terrible. First because if it is a 1x1 transaction it is very likely that the user wants to avoid change address and second because the fee raise will be also applied to a double sized transaction (I went from ~2$ to ~8$ when just wanted to go from 40sat to 60sat).

Considering that a fee raise scenario is pretty likely to be under some stress it would be nice to have a clear warn about you are doing and the final result.

SomberNight commented 3 years ago

Note the there are advanced options for bumping the fee. In your case the option you seem to want is "decrease payment".

Also note that that is not the default specifically because in a significant chunk of cases it is not what the user wants. E.g. if the user is paying a merchant, decreasing the payment output is highly likely going to invalidate the payment.

With the above in mind, what do you specifically suggest; or can the issue be closed?

donob4n commented 3 years ago

I think that some warn dialog like ("Your transaction will have more inputs!") should be nice. I got some testnet coins for try to improve this but the max button is not working properly.

Let me dig a little on it.

donob4n commented 3 years ago

How do you see something like this?

raisefee

If you are ok or prefer a different text I will send a PR

SomberNight commented 3 years ago

I don't like it. It is fairly common that we end up adding new inputs, and it is not dangerous or anything. Sure, some people might not want this, but keep in mind that many users probably don't even know what tx inputs/outputs are. For those people this warning is just scary, and without benefits.

Instead, try changing the text to: (X new inputs will be added) Only display it if X > 0, and change the font colour from red to the default. No need to mention the "advanced settings" option that is directly 20 pixels below. Basically make it a short informational note, instead of a scary warning.

donob4n commented 3 years ago

Ok, is not dangerous but you will end with pretty higher fee than expected. If you want to raise a 2$ fee transaction you expect something like 2,5$, 3$.... 4$... . A sat/byte increment of 50% is not expected to end in a 400% growth.

But I'm agree, just information message is nice and cleaner.

donob4n commented 3 years ago

Ey @SomberNight , could you take a look here?