Page MenuHomePhabricator

[Cashtab] Parse Agora relist txs as Relisted instead of Canceled
ClosedPublic

Authored by bytesofman on Mon, Jul 20, 11:44.

Details

Summary

Agora ALP relist txs cancel an existing offer and create a new
one in the same transaction. ecash-parse previously classified them as
Agora Cancel because the cancel input was detected first and ALP offer
detection was skipped. Detect cancel + new agora offer as Agora Relist
and render "Relisted ..." in Cashtab history.

Test Plan
  • cd modules/ecash-parse && npm test
  • cd cashtab && npm test -- --testPathPatterns='Home/Tx/__tests__/index' --testNamePattern='ALP Agora relist'
  • Confirm tx 92604d8db0d72f145556d9b8d0c07c48a841acbc449e1197c7a00758bae0b459 shows as Relisted for wallet ecash:qr8hdk8rxjc5nj6f450eth3nnslxa8k4gysrtyfxc5

Diff Detail

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

Event Timeline

Failed tests logs:

====== CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - parses op_return_raw for Proof of Writing (POWR) auth/login ======
Error: expect(element).toHaveTextContent()

Expected element to have text content:
  9,513.12 XEC
Received:
  9,513.12
    at toHaveTextContent (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:605:15)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - parses op_return_raw for eCash Chat Auth ======
Error: expect(element).toHaveTextContent()

Expected element to have text content:
  9,513.12 XEC
Received:
  9,513.12
    at toHaveTextContent (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:605:15)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - parses op_return_raw for XECX staking reward ======
Error: expect(element).toHaveTextContent()

Expected element to have text content:
  9,513.12 XEC
Received:
  9,513.12
    at toHaveTextContent (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:605:15)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - parses op_return_raw for Solana Address (SOL0) ======
Error: expect(element).toHaveTextContent()

Expected element to have text content:
  9,513.12 XEC
Received:
  9,513.12
    at toHaveTextContent (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:605:15)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - parses op_return_raw for DICE bet ======
Error: expect(element).toHaveTextContent()

Expected element to have text content:
  9,513.12 XEC
Received:
  9,513.12
    at toHaveTextContent (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:605:15)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)
====== CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - parses op_return_raw for ROLL payout ======
Error: expect(element).toHaveTextContent()

Expected element to have text content:
  9,513.12 XEC
Received:
  9,513.12
    at toHaveTextContent (/work/cashtab/src/components/Send/__tests__/SendByUrlParams.test.js:605:15)
    at runNextTicks (node:internal/process/task_queues:65:5)
    at listOnTimeout (node:internal/timers:549:9)
    at processTimers (node:internal/timers:523:7)

Each failure log is accessible here:
CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - parses op_return_raw for Proof of Writing (POWR) auth/login
CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - parses op_return_raw for eCash Chat Auth
CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - parses op_return_raw for XECX staking reward
CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - parses op_return_raw for Solana Address (SOL0)
CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - parses op_return_raw for DICE bet
CashTab Unit Tests: <SendXec /> rendered with params in URL bip21 param - parses op_return_raw for ROLL payout

Fix SendByUrlParams op_return_raw tests: Balance XEC text no longer includes ticker (header puts ticker in title).

Fabien added a subscriber: Fabien.
Fabien added inline comments.
cashtab/src/components/Home/Tx/index.tsx
1076 ↗(On Diff #60407)

does tsx support switch/case ? That would help with indentation

This revision is now accepted and ready to land.Tue, Jul 21, 12:56