Join our community: https://t.me/+DOylgFv1jyJlNzM0
Description
Every on-chain action (create, withdraw, top-up, cancel, pause, resume) follows the same lifecycle: signing → submitted → confirming → confirmed | failed. A shared component avoids duplicating this logic across all action forms.
What Needs to Happen
<TransactionTracker /> with states: idle | signing | submitted | confirming | confirmed | failed | cancelled
- On
submitted: show tx hash with Stellar Expert link
- On
confirming: poll GET /v1/streams/{id} every 3s until indexer reflects the change
- On
confirmed: show success with a summary of what changed
- On
failed: show Stellar error code + retry button
- Reusable across all action forms
Files
frontend/src/components/TransactionTracker.tsx (create)
Acceptance Criteria
Description
Every on-chain action (create, withdraw, top-up, cancel, pause, resume) follows the same lifecycle: signing → submitted → confirming → confirmed | failed. A shared component avoids duplicating this logic across all action forms.
What Needs to Happen
<TransactionTracker />with states:idle | signing | submitted | confirming | confirmed | failed | cancelledsubmitted: show tx hash with Stellar Expert linkconfirming: pollGET /v1/streams/{id}every 3s until indexer reflects the changeconfirmed: show success with a summary of what changedfailed: show Stellar error code + retry buttonFiles
frontend/src/components/TransactionTracker.tsx(create)Acceptance Criteria