Overview
Sovran provides comprehensive filtering capabilities to help you find specific transactions quickly. You can filter by currency, payment type, direction, status, and time period.Available Filters
Currency Filter
Filter transactions by their denomination:- ALL: Show all currencies
- SAT: Bitcoin (sats)
- USD: US Dollar
- EUR: Euro
- GBP: British Pound
components/screens/TransactionsFilterContext.tsx
Payment Type Filter
Filter by the payment method used:- All: Show all payment types
- Lightning: Lightning Network payments only
- Ecash: Cashu ecash tokens only
app/(filter-flow)/filters.tsx
Direction Filter
Filter by transaction direction:- All: Show all transactions
- Incoming: Received payments only (mint, receive)
- Outgoing: Sent payments only (send, melt)
app/(filter-flow)/filters.tsx
Status Filter
Filter by transaction status:- All: Show all statuses
- Confirmed: Completed transactions
- Pending: Transactions awaiting completion
- Expired: Transactions that expired without completion
app/(filter-flow)/filters.tsx
Mint Filter
Filter transactions by the mint they came from:- All Mints: Show transactions from all mints
- Specific Mint: Show only transactions from a selected mint
app/(filter-flow)/filters.tsx
Month Selector
The month selector allows you to view transactions from specific time periods.Features
- Automatic Month Detection: Automatically extracts months from your transaction history
- Smart Display: Shows year when transactions span multiple years
- Horizontal Scroll: Easily navigate through months
- Auto-selection: Automatically selects the most recent month on load
components/blocks/MonthSelector.tsx
Implementation
components/blocks/Transactions.tsx
Filter Context
The filter state is managed through a React Context that provides filter values and actions:components/screens/TransactionsFilterContext.tsx
Result Count
The filter screen shows a live count of matching transactions:app/(filter-flow)/filters.tsx
Usage Example
To filter your transactions:- Open the Transactions screen
- Tap the filter icon in the header
- Select your desired filters:
- Choose a currency
- Select payment type (Lightning/Ecash)
- Choose direction (Incoming/Outgoing)
- Filter by status (Confirmed/Pending/Expired)
- Select a specific mint (optional)
- Tap “Apply Filters” to see results
- Tap “Reset” to clear all filters
Filter Persistence
Filters are applied through URL parameters, allowing you to:- Share filtered views
- Navigate back and maintain filter state
- Deep link to specific filtered views
app/(filter-flow)/filters.tsx
Active Filter Indicator
The UI displays the number of active filters:components/screens/TransactionsFilterContext.tsx