It is important to mention that the state that the user needs to handle will grow. As new wallets’ addresses are generated, new states are generated as well. For each address that the user is planning to use in the future the state must be kept. As we don’t know which addresses are planed for reuse, we should keep all(?) states. Or we should discard the state after some threshold? If we discard the state, that would cost the user more to send a transaction via stateless path. How many states can we handle in parallel? If we retrieve the state from somewhere, should we retrieve all states (decrypt from a file) or just this specific one.
So another question to discuss, how to manage growing number of states, if we are considering SHRINCS.