View Issue Details

IDProjectCategoryView StatusLast Update
0006588Talerwallet-corepublic2026-11-02 19:55
ReporterFlorian Dold Assigned ToFlorian Dold Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status informingResolutionfixed 
Product Versiongit (master) 
Target Version1.6Fixed in Version1.6 
Summary0006588: wallet-core should support range queries for the transactions list
DescriptionThis might require some additional indices to be faster!
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0009030 closedFlorian Dold implement getTransactionsV2 API based on materialized transactions 
related to 0011912 planning iOS wallet should use range queries for the transactions list 

Activities

Florian Dold

2023-05-07 14:43

manager   ~0020188

Main thing to discuss here: How do we actually do the pagination? What do we use as the "cursor"?

A transaction ID is not sufficient, as it doesn't efficiently allow querying transactions before or after it. So maybe a timestamp? But what if timestamps are not unique?

Probably the cursor should be a (timestamp, txid) tuple.

sebasjm

2023-06-06 17:53

developer   ~0020271

Is even possible to have the same timestamp for two tx since there is no multithread in the wallet?

Florian Dold

2023-06-21 16:26

manager   ~0020299

We've decided on an API:

getTransactions({ filterStates, limit}) -> { results, cursor }
=> Start a new paginated query
getTransactions({ cursor, limit}) -> { results, cursor }
=> Get more results (cursor encodes filter as well)

(where limit can be negative/positive to go back/forwards in history)

MarcS

2023-09-04 17:42

developer   ~0020490

IMHO we need three groups:
• "done", which might be thousands of transactions over the years if the user doesn’t delete them.
• "waiting" == dialog (the user needs to confirm) plus pending (the other party needs to confirm)
• all others (expired, failed, aborted, aborting, suspended, suspended-aborting). Could be named "uncompleted" or "unsuccessful".

The result (list of transactions) should be sorted chronologically (newest first).

Florian Dold

2026-08-27 06:59

manager   ~0029605

Transactions now have ordered metadata, stable cursors, paged v2 retrieval, and forward/backward range tests (notably commit 8027c7c74)

Issue History

Date ModifiedUsernameFieldChange
2020-09-08 14:48Florian DoldNew Issue
2020-09-08 14:48Florian DoldStatusnew => assigned
2020-09-08 14:48Florian DoldAssigned To => Florian Dold
2020-09-10 16:45Florian DoldTarget Version0.8.1 => 0.8
2020-09-10 16:48Christian GrothoffTarget Version0.8 => 0.8.1
2020-09-11 20:57Christian GrothoffSeverityminor => tweak
2021-08-24 18:39Christian GrothoffTarget Version => 0.8.5
2022-10-20 08:45Christian GrothoffTarget Version0.8.5 => 0.9
2022-10-20 09:21Christian GrothoffTarget Version0.9 => 0.9.1
2023-01-10 17:36Christian GrothoffTarget Version0.9.1 => 0.9.2
2023-01-31 21:06sebasjmAssigned ToFlorian Dold => sebasjm
2023-02-17 16:51Florian DoldTarget Version0.9.2 => 0.9.3
2023-04-13 18:36Florian DoldCategorywallet (TS core) => wallet-core
2023-05-07 14:43Florian DoldNote Added: 0020188
2023-06-06 17:53sebasjmNote Added: 0020271
2023-06-21 16:23Florian DoldTarget Version0.9.3 => 0.9.4
2023-06-21 16:26Florian DoldNote Added: 0020299
2023-09-04 17:42MarcSNote Added: 0020490
2023-09-23 13:52Christian GrothoffTarget Version0.9.4 => 0.10
2023-12-22 13:04Christian GrothoffSeveritytweak => feature
2023-12-22 13:04Christian GrothoffTarget Version0.10 => post-1.0
2024-08-02 07:10MarcSRelationship addedrelated to 0009030
2025-04-17 21:53Christian GrothoffAssigned Tosebasjm =>
2025-04-17 21:53Christian GrothoffStatusassigned => implementing
2026-08-27 06:59Florian DoldAssigned To => Florian Dold
2026-08-27 06:59Florian DoldStatusimplementing => informing
2026-08-27 06:59Florian DoldResolutionopen => fixed
2026-08-27 06:59Florian DoldNote Added: 0029605
2026-09-19 14:40Christian GrothoffFixed in Version => 1.6
2026-09-19 14:44Christian GrothoffTarget Versionpost-1.0 => 1.6
2026-11-02 19:55MarcSRelationship addedrelated to 0011912