Page MenuHomePhabricator

[electrum] freeze UTXOs that may contain ALP tokens
Needs ReviewPublic

Authored by PiRK on Tue, Mar 11, 17:21.

Details

Reviewers
None
Group Reviewers
Restricted Project
Summary

This makes ALP tokens unspendable.

We add a data structure to store outpoints that may be ALP tokens. For now, the detection logic is very basic: we freeze all outputs in any transaction whose first output is a valid EMPP output with at least one payload that starts with the ALP lokad ID.

A known drawback is that this method makes the change output also unspendable (for users who import a seed from a token wallet such as CashTab into Electrum ABC). Future improvements should be to:

  • make it possible for users to force-spend SLP, ALP and false positive ALP outputs if they insist
  • properly parse ALP tokens to eliminate these known false positives
Test Plan

Open a wallet that already has an ALP token, make sure that now it is frozen and show as a potential token (green background) in the coins tab.

Send a new alp token to the wallet, make sure it gets frozen and green.

python test_runner.py

Diff Detail

Repository
rABC Bitcoin ABC
Branch
alp
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 32668
Build 64824: Build Diffelectrum-tests
Build 64823: arc lint + arc unit

Event Timeline

PiRK published this revision for review.Tue, Mar 11, 19:56
PiRK edited the test plan for this revision. (Show Details)

minor UI improvement (change the greyed out spend action text to tell why the coin is unspendable)