Page MenuHomePhabricator

[Cashtab] Simplify tx history processing by fetching for only path 1899
ClosedPublic

Authored by bytesofman on Sep 15 2025, 18:43.

Details

Summary

Cashtab has ultra-legacy support for path145 and path245. Need to fully lose this to migrate to ecash-wallet. Also, we have not been sending any change to these addresses for ~4 years. So the only users who could have utxos left there are extreme edge cases or, possibly, some users with very old SLP mint batons.

This support has been preserved because

(1) Wanted to ensure full 100% migration support for all users
and
(2) Figured there could be some future use of supporting multiple paths, or at least multiple private keys associated with utxos, e.g. for HD wallet support.

These reasons are no longer valid. (1), the number of users with any utxos at path145 or path245 is probably single digits; the cost of this continued support is no longer worth the complexity. We lose a lot of the benefit of chronik-client's strongly-typed utxos by monkey patching our own special utxo interface in Cashtab. And (2), any multi-private-key support or HD-like functionality should be handled in ecash-wallet, not Cashtab.

Removing legacy path support will be done incrementally. Here, we simplify the tx history, which no longer needs support for combining multi-path tx history. We can rely on just path1899 history.

Drop legacy helper methods that combined tx history across multiple paths. Expected behavior is identical, although load times for legacy wallets should be improved. This change will also simplify paginating tx history in Cashtab.

Test Plan

npm test

Diff Detail

Repository
rABC Bitcoin ABC
Branch
cashtab-cleaner-wallet
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 34451
Build 68370: Build Diffcashtab-tests
Build 68369: arc lint + arc unit

Event Timeline

bytesofman edited the summary of this revision. (Show Details)
bytesofman retitled this revision from [Cashtab] Simplify tx history to [Cashtab] Simplify tx history processing by fetching for only path 1899.
This revision is now accepted and ready to land.Sep 16 2025, 07:46