[Cashtab] [Alias] pt 12 - Upgrade tx history to recognize alias registration txs
Summary:
T2551
This is a standalone diff that enables Cashtab's Transactions tab to recognize and render alias registrations distinctly from other transactions.
aliasEnabled is not used to conditionally render alias registrations in the Transactions tab since users not part of the closed beta won't have any outbound alias registration txs from their wallet.
[Cashtab] [Alias] pt 1 - Create scaffold for new Alias component
[Cashtab] [Alias] pt 2 - Upgrade sendXec() to handle alias registration
[Cashtab] [Alias] pt 3 - Implement isAliasAvailable function
[Cashtab] [Alias] pt 4 - Implement isAddressRegistered function
[Cashtab] [Alias] pt 5 - Implement getAddressFromAlias function
[Cashtab] [Alias] pt 6.1 - Get latest alias tx count from payment address
[Cashtab] [Alias] pt 6.1.1 - Apply Promise.All approach for alias history retrieval
[Cashtab] [Alias] pt 6.2 - Implement getAliasesFromLocalForage
[Cashtab] [Alias] pt 6.3 - Implement updateAliases
[Cashtab] [Alias] pt 6.4 - Update getAliases() to extract both alias and address
[Cashtab] [Alias] pt 6.5 - Optimize getAllTxHistory to only make API calls for uncached tx history pages
[Cashtab] [Alias] pt 6.6 - Render list of Aliases owned by active wallet in Alias.js
[Cashtab] [Alias] pt 7 - Mitigate edge cases for registration records
[Cashtab] [Alias] pt 8 - Activation flag in prod
[Cashtab] [Alias] pt 9 - Retain tokenInfoById upon alias validation
--stacked diff cutoff--
[Cashtab] [Alias] pt 10 - Enable alias inputs for one to one Send XEC txs
[Cashtab] [Alias] pt 11 - Enable alias inputs for Send Token txs
[Cashtab] [Alias] pt 12 - Upgrade tx history to recognize alias registration txs
[Cashtab] [Alias] pt 13 - real time fee display
--closed beta--
[Cashtab] [Alias] pt 14 - Pre-prod update (Set final registration fees, remove residual dev logs and enable prod flag)
[Cashtab] [Alias] pt 15 - Port Alias feature to Cashtab extension
--post mvp---
[Cashtab] [Alias] - Enable alias parsing without the .xec extension
[Cashtab] [Alias] - Optimize isAliasAvailable to take cached tx history as input
[Cashtab] [Alias] - Add active wallet's aliases to caching mechanism
[Cashtab] [Alias] - Resolve special characters processing in node app
Test Plan:
- npm test
- set aliasEnabled to true
- npm start
- register a new alias and verify there's a new message category in the Transactions tab titled Alias Registration, with the registered alias displayed underneat it.
- verify previous aliases registered in tx history are similarly rendered as well
- send inbound and outbound unencrypted msgs and ensure no rendering regression
- send inbound and outbound encrypted msgs and ensure no rendering regression
- send inbound and outbound token txs and ensure no rendering regression
- set aliasEnabled to false and verify nothing blew up
Reviewers: bytesofman, #bitcoin_abc
Reviewed By: bytesofman, #bitcoin_abc
Differential Revision: https://reviews.bitcoinabc.org/D13167