Page MenuHomePhabricator

[Cashtab] [Alias] pt 16 - Resolve reserved aliases to aliasPaymentAddress
ClosedPublic

Authored by emack on Mar 5 2023, 04:55.

Details

Summary

T2551

This is a standalone diff that updates Send XEC and Send eToken components and resolves any of the reserved aliases to the address assigned to aliasPaymentAddress.

[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 alias char length and registration fee display
[Cashtab] [Alias] pt 14 - Frontend bytesize validation
[Cashtab] [Alias] pt 15 - Reserved aliases
[Cashtab] [Alias] pt 16 - Resolve reserved aliases to aliasPaymentAddress
--closed beta--
[Cashtab] [Alias] pt 17 - Pre-prod update (add p2sh parsing, set final registration fees, remove residual dev logs, test in extension mode and enable prod flag)
[Cashtab] [Alias] pt 18 - 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
  • enable Alias feature in Ticker.js
  • npm start
  • send an XEC tx to a reserved alias and verify it is sent to the address assigned to aliasPaymentAddress
  • send an XEC tx to a reserved alias with a case variation and verify it is sent to the address assigned to aliasPaymentAddress
  • input an unregistered and unreserved alias and ensure the eCash Alias does not exist error is displayed
  • input a registered and unreserved alias and ensure it is sent to the correctly parsed address
  • input an alias that is both registered and is a reserved alias (e.g. cashtab.xec was registered to *kfed prior to this diff) and ensure it still resolves to aliasPaymentAddress
  • send an unencrypted and encrypted message to a registered alias and ensure no regression
  • repeat for the SendToken component

Diff Detail

Repository
rABC Bitcoin ABC
Branch
resolveReservedAliases
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 22289
Build 44207: Build Diffcashtab-tests
Build 44206: arc lint + arc unit

Event Timeline

emack requested review of this revision.Mar 5 2023, 04:55
bytesofman requested changes to this revision.Mar 5 2023, 22:38

This approach "works". However, we want Cashtab to follow the spec. Cashtab should recognize reserved aliases as valid aliases that map to the alias registration address.

So, the implementation is to make sure the functions that get valid aliases and update the cache are correctly recognizing reserved aliases as valid aliases that map to the alias registration address.

This revision now requires changes to proceed.Mar 5 2023, 22:38

Updated to recognize reserved aliases as valid aliases that map to the alias registration address.
Unit test for getAliasAndAddresses updated with a mock containing a registration tx using a reserved alias (cashtab.xec) and verifies it will resolve to aliasPaymentAddress.

This revision is now accepted and ready to land.Mar 8 2023, 23:27