diff --git a/packages/taler-wallet-core/src/operations/transactions.ts b/packages/taler-wallet-core/src/operations/transactions.ts index cf2006406..72c67b153 100644 --- a/packages/taler-wallet-core/src/operations/transactions.ts +++ b/packages/taler-wallet-core/src/operations/transactions.ts @@ -1291,10 +1291,12 @@ export async function getTransactions( const txNotPending = transactions.filter((x) => !isPending(x)); const txCmp = (h1: Transaction, h2: Transaction) => { - const tsCmp = AbsoluteTime.cmp( + // Order transactions by timestamp. Newest transactions come first. + const tsCmp = -AbsoluteTime.cmp( AbsoluteTime.fromPreciseTimestamp(h1.timestamp), AbsoluteTime.fromPreciseTimestamp(h2.timestamp), ); + // If the timestamp is exactly the same, order by transaction type. if (tsCmp === 0) { return Math.sign(txOrder[h1.type] - txOrder[h2.type]); }