I have a suggestion, a feature to allow choosing how to pay network fees.
When we make bank transfers, by default the fee is paid without considering the amount that will be transferred. The amount we put for the transfer is in fact what will be transferred, so the amount is paid with the remainder left in the wallet. If there is not enough balance, the transfer is canceled or the wallet has a negative balance if there is credit in the bank.
My suggestion is to do something similar, but letting the user choose between paying the fee using the remaining money in the wallet or paying the fee on top of the total amount to be transferred. Showing what the fee will actually be and how the total amount transferred will be using direct payment of the amount to be transferred or whether to use payment by discounting the rest that remains in the wallet.
I believe this helps to facilitate transfers, if you want to transfer the entire amount in the wallet, simply choose to pay the fee by deducting it from the total amount to be transferred, but if you just want to make a transfer for the exact amount, then you can choose to pay the fee using the remaining amount in the wallet.
The network has a fee standard and is supported by modern shielded wallets. I’ve heard of some, yes, not calculating correctly for a max spend but this is simply a wallet malfunction, consider using a different wallet.
Currently, this fee standard is moving to a state of total enforcement after a couple years of subversion of the unpaid action limit by an attack on the network. All in all, because of this, most users wont notice anything using up-to-date wallets. All older, legacy wallets that don’t upgrade to support any kind of newer fee system will have issues. The most basic transactions will work with the base fee (maybe, assuming they support that), but additional inputs or outputs will cause it to fail consistently.
I’ve seen Trust wallet related posts recently about increasing the sat/byte value which is a bandaid but certainly better than nothing.
I am currently testing Zashi with less than 0.01 coins. In these days I tried to transfer the entire Zashi wallet (0.01) to Ywallet on the computer, I came across this, the transfer was not made because I did not consider the value of the fees when defining the transfer amount.
This is an issue with how the total value in the wallet is displayed; ideally we would be displaying the minimum total value that the wallet can possibly send, taking into account potential fees.
In Zashi, we also have scheduled on our roadmap implementing a “send max” function explicitly for the purpose of emptying the wallet.