When starting the wallet and there are many transactions to be recieved from the same mint, wallet likely get bricked on "duplicate b_B" errors returned by the mint. Issue is cause by the fact, that multiple transactions acess and overwrite recovery index counter that is now increased before making a call to the mint in order to allow recovery in case the app will quit before receiving the response from the mint.
Solution is to implement pessimistic lock on recovery index counters specific to each transactionId and released only after transaction completed storing of new proofs.
When starting the wallet and there are many transactions to be recieved from the same mint, wallet likely get bricked on "duplicate b_B" errors returned by the mint. Issue is cause by the fact, that multiple transactions acess and overwrite recovery index counter that is now increased before making a call to the mint in order to allow recovery in case the app will quit before receiving the response from the mint.
Solution is to implement pessimistic lock on recovery index counters specific to each transactionId and released only after transaction completed storing of new proofs.