HomePhabricator

[Cashtab] Support agora partial listings, cancels, and buys

Description

[Cashtab] Support agora partial listings, cancels, and buys

Summary:
Support for SLP partial agora offers (listing fungible SLP tokens)

This diff is large. I think I have split out everything that can be split out.

Reviewer notes

For practical purposes, it's best to review this diff in some component parts. It's not practical to stack the diff into these parts, as these things need to happen at the same time (i.e. a user needs to be able to list, buy, and cancel an offer as soon as we launch support for this feature).

  • Addition of a new screen, Agora, and its navigation / icon (see assets/doge.svg, components/App/App.js, App.test.js, components/Common/CustomIcons.js)
  • Changes to the Token screen, where users can now create Agora offers to sell their tokens (see components/Etokens/Token/index.js and tests)
  • Associated validation functions for agora partial offer creation in validation/index.js and tests
  • The Agora screen, where users can see active offers and cancel their own offers (see components/Agora/index.js, components/Agora/OrderBook.js, and tests in same dir
  • new formatting functions in formatting.js

Test Plan:
npm test (new integration tests cover expected behavior or listing, buying, and canceling agora offers; as well as validation)

ping me on telegram for the test URL, make some offers, cancel some offers, partial accept offers, full accept offers, note any UX complaints for future, note any UX complaints that are MVP-critical

Reviewers: #bitcoin_abc, emack

Reviewed By: #bitcoin_abc, emack

Subscribers: emack

Differential Revision: https://reviews.bitcoinabc.org/D16846

Details

Provenance
bytesofmanAuthored on Sep 24 2024, 22:56
bytesofmanPushed on Oct 24 2024, 18:47
Reviewer
Restricted Project
Differential Revision
D16846: [Cashtab] Support agora partial listings, cancels, and buys
Parents
rABC57f6b86fc493: [e.cash] Change "Stack" to Stack Wallet and add "Desktop"
Branches
Unknown
Tags
Unknown