rescan after loading seed
It's a bummer that we need to rescan in so many different cases. I think a better walletdb design could remove the need to rescan at the cost of storing more data. For example, if we stored a mapping from every outputID to the blockID where it was spent, we could simply rescan this set (requesting blocks from consensus as needed) to find all the outputs and transactions associated with a given seed.