feat(app): flag transactions above the newest checkpoint as not anchored

Blocks mined after the newest hardcoded checkpoint cannot be chained to it,
so only the Merkle proof against the server's header backs them. The
history list and the transaction detail now show a 'not anchored' label
for those transactions. Informational only: spending is not blocked.
See ADR 0041.
This commit is contained in:
davide committed 2026-11-03 15:11:06 +01:00
1 parent 24368a07b5
commit 305f22ed0e
13 files changed
+119 -7

No files matched your search

@@ -240,6 +240,7 @@ public partial class MainWindowViewModel
var transactions = _lastTransactions;
var loc = _loc;
var unit = _config.Unit;
var unanchored = Profile.IsAboveNewestCheckpoint(height);
try
{
@@ -247,7 +248,7 @@ public partial class MainWindowViewModel
{
var details = await TransactionInspector.FetchAsync(
client, network, txid, tipHeight, height, owned, delta, verified, transactions, ct);
return new TransactionDetailsViewModel(details, loc, unit);
return new TransactionDetailsViewModel(details, loc, unit, unanchored);
}, ct);
}
catch (OperationCanceledException)
@@ -310,7 +311,8 @@ public partial class MainWindowViewModel
tx.Height > 0 ? tx.Height.ToString() : "mempool",
(tx.DeltaSats >= 0 ? "+" : "") + Fmt(tx.DeltaSats, withLabel: false),
tx.Txid,
tx.Verified));
tx.Verified,
Profile.IsAboveNewestCheckpoint(tx.Height)));
Addresses.Clear();
foreach (var a in cache.Addresses)