[Cashtab] Support custom eToken icons
Summary:
T1743
I've coded and deployed a simple back-end engine that will accept user submission of token icons. The icons are then manually reviewed and approved. Approval is by clicking on a button in a Telegram channel, so can be quite quick without too much extra work.
This diff implements user tools for creating and uploading a customized token icon. For now, only creating the icon on token creation is supported. In the future I will add a way for users to upload an icon for a previously created token.
While the diff seems like a complicated change, most of the code comes from previous production mint.bitcoin.com code, available from https://github.com/bitcoin-com/mint
Test Plan:
npm start
- Navigate to eTokens page and fill out the form to create a new eToken
- Upload your icon. Test the customization settings (zoom, rotate, square vs circle crop)
- Create the token. Note the notifications -- you should see one for icon submission success.
- Ping me on Telegram to verify icon is approved (@bytesofman)
- Verify you can see the icon displayed on the eTokens page
Reviewers: emack, #bitcoin_abc
Reviewed By: emack, #bitcoin_abc
Differential Revision: https://reviews.bitcoinabc.org/D10514