[Cashtab] Support address sharing for we web wallet
Summary:
We have a good address sharing feature for the browser extension, where the user can be invited to "connect wallet" -- which will open the extension with a confirmation modal to share the address. When the user clicks "ok", the address can immediately populate a form on the first page.
We can't do the same thing without an extension, but we can get close. This workflow will open Cashtab to the Manage Wallets page with an open modal that lists wallets, previews the address, and includes a copy button. If the user copies an address, and this was opened by JS, the window will close, immediately taking them back to the requesting page. That page can then have, say, a "paste" button to make the import as simple as possible.
Not as good as the extension but still quite easy, and much easier than the current way (open cashtab, copy address, close it, go back to other window, paste)
Test Plan:
npm test to confirm nothing is broken, npm start and navigate to http://localhost:3000/#/wallets?shareAddresses=true to check out the modal
We cannot easily test the "import" feature without another site, but as long as nothing breaks here that can be iterated on later if there is an issue. can confirm the tab DOES NOT close if you just navigate to this url instead of opening it with JS, which is expected behavior
Reviewers: #bitcoin_abc, PiRK
Reviewed By: #bitcoin_abc, PiRK
Differential Revision: https://reviews.bitcoinabc.org/D18303