Description
This issue is to track and discuss usability around Payment Address generation in Namada Keychain, mostly because it can seem confusing that generating a new payment address overwrites the current payment address. Users may not understand that the underlying keys remain the same, we are only generating a new address for receiving funds. All balances will be available to the viewing key regardless of payment address used.
Currently, the extension behaves like the CLI, where a user can generate the next valid payment address for any spending/viewing key in their wallet:
- Increment the current stored diversifier index, then find the next valid index
- Store this new index and address
We had also discussed whether we should incorporate arrows which would allow the user to cycle through payment addresses in either direction, so increment and decrement. To implement something like this when all we have in storage is the current index and payment address, we would likely need to run a loop which continues to decrement the stored index to find the previous index & address (since we don't know exactly what the previous index was), then update the extension storage with that index & address. There may be a simpler way, but I don't remember any method in the SDK that does this.