[Cashtab] Improve handling of tx finality status updates
Summary:
The current method is both buggy in its own right and unsuited to preconsensus finality. Current logic was written before the isFinal key became available in the Tx interface...tho still, should have used the websocket for this.
Replace the old way of doing it --- track the chaintip, compare chaintip with tx blockheight, if discover a discrepancy update the whole history
with a new way: listen for tx finalized ws msgs, on receipt update that specific tx
note this would be nice to test more extensively. however it is still mostly a rendering thing, which is tested.
Test Plan: npm test, npm start (or checkout cashtab.io) and see that txs finalize
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D18502