Description
A user deposits new funds in his account calling the DepositAccount rpc method. A new AccountDiff is created and stored (client and server side).
The tx was never broadcasted to the network. The lnd node does not see it in pending txs and the lnd inputs are released. The account diff is not applied to the account because is waiting for confirmations.
Expected behavior
In the spendAccount we should rollback the account update if the broadcast fails which releases the funds in LND.
Actual behavior
The account becomes unusable because of its Pending Updating state.
Workaround
Delete the account diff from the server and make the user go through the recovery account process so it gets in sync with the server with the last state of this account before it became unusable.
Bug spotted in the wild