[Cashtab] Implement exhaustive parsing of tx notifications
Summary:
We recently upgraded how Cashtab parses notifications so that it can all be handled async. This also means we can do the same for incoming tx notifications.
Have been meaning to do this for some time. This means our notifications for incoming txs can be much better. It also fixes some existing bugs right now. For example, Agora Sales are parsed correctly in tx history, but not in incoming tx notifications.
Because there are so many cases, may detect some available improvements and optimizations in prod. I don't think it's practical to get this perfect right here. Having all of the tests for all of the cases is a good start.
Test Plan:
npm test
this diff is live at https://cashtab-local-dev.netlify.app/
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D17448