Skip to main content

Overview

Sovran provides detailed transaction timelines that show the progress of each payment through its lifecycle. The timeline displays state transitions, timestamps, and helpful context about each step.

Transaction Types

Each transaction type has its own timeline progression:

Mint Transactions (Receiving Lightning)

components/blocks/Transaction/HistoryEntryTimeline.tsx
Timeline Progression:
  1. Waiting for payment: Invoice created, awaiting payment
  2. Payment received: Lightning payment confirmed
  3. Complete: Ecash issued and added to wallet

Melt Transactions (Sending Lightning)

components/blocks/Transaction/HistoryEntryTimeline.tsx
Timeline Progression:
  1. Ready to send: Quote created, ready to execute
  2. Sending: Payment in progress
  3. Sent: Lightning payment completed

Send Transactions (Ecash)

components/blocks/Transaction/HistoryEntryTimeline.tsx
Standard Timeline:
  1. Created: Token prepared and ready to share
  2. Pending: Waiting for recipient to claim
  3. Claimed: Recipient has redeemed the token
Payment Request Timeline (via Nostr):
components/blocks/Transaction/HistoryEntryTimeline.tsx
  1. Created: Token created for payment request
  2. Delivered: Sent via Nostr DM
  3. Pending: Waiting for recipient
  4. Claimed: Recipient has redeemed

Receive Transactions (Ecash)

components/blocks/Transaction/HistoryEntryTimeline.tsx
Timeline Progression:
  1. Pending: Token received, not yet redeemed
  2. Added to wallet: Token successfully claimed

Timeline Components

Step Types

Each timeline step has a visual type:
components/blocks/Transaction/HistoryEntryTimeline.tsx

Visual Indicators

Timeline Dots:
components/blocks/Transaction/HistoryEntryTimeline.tsx
Connecting Lines:
components/blocks/Transaction/HistoryEntryTimeline.tsx

Real-time Updates

Timelines update in real-time for pending transactions:
components/blocks/Transaction/HistoryEntryTimeline.tsx

Expiry Tracking

For transactions that can expire, the timeline shows time remaining:
components/blocks/Transaction/HistoryEntryTimeline.tsx

Transaction Header

Each timeline includes a header showing the amount and icon:
components/blocks/Transaction/HistoryEntryHeader.tsx

Mint Information

Timelines can display the mint being used:
components/blocks/Transaction/HistoryEntryRefresh.tsx

Status Labels

The timeline generates contextual status labels:
components/blocks/Transaction/HistoryEntryTimeline.tsx