[Cashtab, cashtab-connect] Support tx approval and rejection in cashtab extension and cashtab-connect
Summary:
Users should have a clear option to reject a tx opened by the browser extension or a URL. We should pass this info to the requesting app so it can be handled appropriately.
This is a typical API used by Phantom and metamask. It's useful for the webpage to know if the user completed or rejected the tx, as there may be some app functionality that depends on this.
Note that one consequence of this diff is users who directly navigate to a url-params-populated tx will get a "Reject" button that does not work. This is acceptable behavior. It's worth the tradeoff for the reject button working for tabs that are opened by a link, which is the expected use case.
Test Plan: npm test, run npm start in cashtab-connect/demo and try accepting / rejecting txs
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D18348