Page MenuHomePhabricator

[Cashtab] Deprecate multi-path utxo support
ClosedPublic

Authored by bytesofman on Sep 17 2025, 12:45.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC0eaedbf2eca7: [Cashtab] Deprecate multi-path utxo support
Summary

The main advantage of strongly typed utxos from chronik-client is ... using the types. Cashtab though prepares and uses extended type utxos, with a path key, to support collecting and spending utxos from legacy paths.

This was preserved because it was thought such a feature could be useful for eventual HD support, even as wallets stopped being created with legacy paths.

Going forward, there is no reason for Cashtab to continue supporting multiple paths. This type of wallet logic should be handled by ecash-wallet, and we should use strict chronik types to get the full benefit of a strongly typed utxo lib.

This diff is part of an effort to simplify storage and typing in Cashtab as preparation for implementing ecash-wallet instead of Cashtab's customized wallet methods.

While this is ... technically a breaking change, the only potentially impacted users are those who created a wallet ~4 years ago and never spent anything, or those who may still have a mint baton from an SLP token created with such a wallet ~4 years ago. Since this impact is expected to be trivial, I do not think it is worth developing app-level handling for migration. Impacted users, if any, could be guided through a scripted migration.

At the app level, this has been prepared for years with

  • All change from all txs going to Path1899 for years
  • All new wallets created with only Path1899 for years
Test Plan

npm test

grep -r "path: " src/ ; we do get some results still, but only in wallet mocks where we still have the possibility of multiple paths in legacy wallets, no results for utxos

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Fabien requested changes to this revision.Sep 17 2025, 16:31
Fabien added a subscriber: Fabien.
Fabien added inline comments.
cashtab/src/transactions/index.js
206 ↗(On Diff #55729)

Remove

This revision now requires changes to proceed.Sep 17 2025, 16:31
This revision is now accepted and ready to land.Sep 17 2025, 19:22