Right now we have a local state variable and local storage. Instead, we should use the available contactList from wallet context -- so there is only one source of truth here.
Ended up requiring a significant refactor. I added several integration tests to support. However some cases are still not tested (see test plan).
This is the kind of diff that really shows the negative fallout from rushing to add a feature. The contact list is a low impact feature. It was poorly implemented and now must be cleaned up to avoid deprecating it.