Page MenuHomePhabricator

[Cashtab] [Alias] pt 12 - Upgrade tx history to recognize alias registration txs
ClosedPublic

Authored by emack on Feb 24 2023, 11:13.

Details

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

Diff Detail

Repository
rABC Bitcoin ABC
Branch
aliasTxHistoryParsing
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 22077
Build 43789: Build Diffcashtab-tests
Build 43788: arc lint + arc unit

Event Timeline

emack requested review of this revision.Feb 24 2023, 11:13

as an aside, that emoji namespace project I mentioned on the dev call is https://y.at/ , which went viral amongst the ethereum crowd at the height of the last bullrun. So our alias implementation is essentially an amalgamation of ENS + yat. Twice the possibilities without any extra effort =)

image.png (246×550 px, 17 KB)

image.png (231×498 px, 12 KB)

image.png (355×497 px, 20 KB)

looks good.

Similar to genesis transactions, let's replace the "send" icon at left for alias tx with the alias icon (the one used in the hamburger menu).

This revision now requires changes to proceed.Feb 24 2023, 14:12
  • added custom alias icon and title to registration txs in Transactions tab
  • regression tested sent/received xec icon
  • regression tested sent/received token icon
  • regression tested token burn icon
  • regression tested airdrop icon
  • regression tested in alias disabled mode
This revision is now accepted and ready to land.Feb 24 2023, 23:15