Receiving address, 1bbbbccc...V Receiving
1bbbbccc 0.12
1dddeeee 2.11
1bbbdddd 0.14
1mmmnnn 0.
1kkkppppp 0....
We observe the program did not select the fourth (first unused) address, but instead the first already used address! It placed this used address in the Receiving Tab as the one the user should use next.
I have a similar issue when I use Electrum RPC service. Client is getting the same address again in a situation when the address was not used before, but it was provided by Electrum and watched (notify) on the request of the client. IMHO all watched addresses should be excluded from the pool forever.
I'm not sure if it is the same bug or different, if different, please tell me, I will create another github issue.
OK, now, still in the Receiving Tab, click New.
Finally the program does the right thing and skips over the two remaining used addresses and hands the user the fourth address.
@ser that is probably a different problem.
This also happens if you get new transactions that pay to the address in the receive tab. It will not get updated by itself; you need to click the "New" button.
It is non-trivial to fix, it's not clear what should happen really. It's a UI/UX thing.
E.g. users could freak out if while they are on the receive tab, a new tx comes in that uses the displayed address, and suddenly the address changes.
On my computer the "New" button is disabled (greyed out), so receiving multiple payments at once involves going into Addresses and scrolling down to the first unused one. Kind of bothersome, so giving this ticket a little bump :)
going into Addresses and scrolling down to the first unused one
You can use filters in the addresses tab: Wallet>Addresses>Filter
Thank you! That's very helpful!
But it would be even greater if the first address in that list always populated the "receive" field :)
this also happens if you click "receive", give that address to someone. That someone sends you a tx, but until that tx is confirmed "receive" will always give you the same address for receiving as it thinks it's new. I am not sure if this is a bug or optimal action to do -- i am thinking what happens if the incoming tx never gets confirmed (low fee, dumped out of mempools, etc.) then we will have 1 unused address in the middle of multiple used addresses. Maybe we can implement some logic to re-look over the chain of historic addresses in order to identify such cases and give that address when "receiving" button is hit.
E.g. users could freak out if while they are on the receive tab, a new tx comes in that uses the displayed address, and suddenly the address changes.
@SomberNight Can we not detect if the user is on that tab and only update it when they switch tabs?
Most helpful comment
Thank you! That's very helpful!
But it would be even greater if the first address in that list always populated the "receive" field :)