wallet: confirm replacement-chain sends by logical transaction ID after reorg #28

Closed
opened 2026-08-26 19:07:23 +00:00 by ignotusnemo · 1 comment
ignotusnemo commented 2026-08-26 19:07:23 +00:00 (Migrated from github.com)

Problem

install_reorg_snapshot_and_artifacts identifies replacement-chain transactions with their logical PagedSpend IDs while rebuilding wallet artifacts, but its final pending-send confirmation loop calls transaction.txid() for each physical page. Those identifiers differ.

If a locally recorded send remains on the replacement branch after a reorganization, its State and receipt are rebuilt correctly but the durable wallet-history entry can remain at height 0 and continue to appear pending.

Expected

Use try_compute_logical_txids, as the normal accepted-block wallet path already does, when confirming pending sends on a replacement branch.

Scope

This affects local wallet-history status only. The verified owner snapshot determines the actual UTXO balance and releases spent-input reservations; consensus and network transaction validity are unchanged.

Originally reported by @daddyxminer-cell and moved here for normal public issue tracking.

## Problem `install_reorg_snapshot_and_artifacts` identifies replacement-chain transactions with their logical PagedSpend IDs while rebuilding wallet artifacts, but its final pending-send confirmation loop calls `transaction.txid()` for each physical page. Those identifiers differ. If a locally recorded send remains on the replacement branch after a reorganization, its State and receipt are rebuilt correctly but the durable wallet-history entry can remain at height `0` and continue to appear pending. ## Expected Use `try_compute_logical_txids`, as the normal accepted-block wallet path already does, when confirming pending sends on a replacement branch. ## Scope This affects local wallet-history status only. The verified owner snapshot determines the actual UTXO balance and releases spent-input reservations; consensus and network transaction validity are unchanged. Originally reported by @daddyxminer-cell and moved here for normal public issue tracking.
ignotusnemo commented 2026-08-26 20:31:30 +00:00 (Migrated from github.com)

Fixed in 7acfb929: replacement-chain wallet confirmation now uses canonical logical transaction IDs. A regression test covers persistence across reload.

Fixed in [`7acfb929`](https://github.com/ignotusnemo/parano1d/commit/7acfb929): replacement-chain wallet confirmation now uses canonical logical transaction IDs. A regression test covers persistence across reload.
Sign in to join this conversation.
No description provided.