View Issue Details

IDProjectCategoryView StatusLast Update
0006588Talerwallet-corepublic2024-08-02 09:10
ReporterFlorian Dold Assigned Tosebasjm  
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status assignedResolutionopen 
Product Versiongit (master) 
Target Versionpost-1.0 
Summary0006588: wallet-core should support range queries for the transactions list
DescriptionThis might require some additional indices to be faster!
TagsNo tags attached.

Relationships

related to 0009030 resolvedFlorian Dold implement getTransactionsV2 API based on materialized transactions 

Activities

Florian Dold

2023-05-07 16: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 19: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 18: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 19: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).

Issue History

Date Modified Username Field Change
2020-09-08 16:48 Florian Dold New Issue
2020-09-08 16:48 Florian Dold Status new => assigned
2020-09-08 16:48 Florian Dold Assigned To => Florian Dold
2020-09-10 18:45 Florian Dold Target Version 0.8.1 => 0.8
2020-09-10 18:48 Christian Grothoff Target Version 0.8 => 0.8.1
2020-09-11 22:57 Christian Grothoff Severity minor => tweak
2021-08-24 20:39 Christian Grothoff Target Version => 0.8.5
2022-10-20 10:45 Christian Grothoff Target Version 0.8.5 => 0.9
2022-10-20 11:21 Christian Grothoff Target Version 0.9 => 0.9.1
2023-01-10 18:36 Christian Grothoff Target Version 0.9.1 => 0.9.2
2023-01-31 22:06 sebasjm Assigned To Florian Dold => sebasjm
2023-02-17 17:51 Florian Dold Target Version 0.9.2 => 0.9.3
2023-04-13 20:36 Florian Dold Category wallet (TS core) => wallet-core
2023-05-07 16:43 Florian Dold Note Added: 0020188
2023-06-06 19:53 sebasjm Note Added: 0020271
2023-06-21 18:23 Florian Dold Target Version 0.9.3 => 0.9.4
2023-06-21 18:26 Florian Dold Note Added: 0020299
2023-09-04 19:42 MarcS Note Added: 0020490
2023-09-23 15:52 Christian Grothoff Target Version 0.9.4 => 0.10
2023-12-22 14:04 Christian Grothoff Severity tweak => feature
2023-12-22 14:04 Christian Grothoff Target Version 0.10 => post-1.0
2024-08-02 09:10 MarcS Relationship added related to 0009030