[Cashtab] Send XEC/eToken confirmation modal w/ settings switch
Summary: Adding a toggleable setting that adds a send confirmation modal when sending XEC or eTokens.
Test Plan:
npm start
Frontend
- navigate to settings and ensure the send confirmation switch is off by default
- switch the send confirmation toggle on, then navigate to the send page, then navigate back to settings and ensure the state persisted
- restart browser and ensure the switch selection still persisted due to local storage
- switch off the send confirmation setting
- send a normal XEC tx and ensure it is sent straight away
- send a normal eToken tx and ensure it is sent straight away
- send a multi recipient tx and ensure it is sent straight away
- send a normal XEC tx with an unencrypted message and ensure it is sent straight away
- send a normal XEC tx with an encrypted message and ensure it is sent straight away
- toggle on the send confirmation switch in settings
- send a normal XEC tx and ensure confirmation modal is displayed and the ok/cancel buttons working as expected
- send a normal eToken tx and ensure confirmation modal is displayed and the ok/cancel buttons working as expected
- send a multi recipient tx and ensure confirmation modal is displayed and the ok/cancel buttons working as expected
- send a normal XEC tx with an unencrypted message and ensure it is sent successfully after the confirmation modal
- send a normal XEC tx with an encrypted message and ensure it is sent successfully after the confirmation modal
- test with a fresh new wallet with no tx history and ensure the send confirmation toggle state persists
Web/Extension
- test browser compatibility between chrome and firefox, including validating persistence of switch state from restarting browser
- test on extension plugin, including validating switch state persistence after browser restart
Regression
- ensure that toggling of the send confirmation switch in Settings does not interfere with the local storage state of the Lock App switch. i.e. Toggle both switches to on, then turn off the confirmation modal switch and ensure the Lock App authenticator is still on
- ensure the Lock App and Send Confirmations switches are visually aligned since this is not visible on web/extension modes (authenticator will just say not supported)
Reviewers: bytesofman, #bitcoin_abc
Reviewed By: bytesofman, #bitcoin_abc
Differential Revision: https://reviews.bitcoinabc.org/D11071