Skip to content

[untested] wallet: persist dest addrs when updating to FCMP++ wallet#106

Draft
j-berman wants to merge 1 commit intoseraphis-migration:fcmp++-stagefrom
j-berman:keep-data-first-refresh
Draft

[untested] wallet: persist dest addrs when updating to FCMP++ wallet#106
j-berman wants to merge 1 commit intoseraphis-migration:fcmp++-stagefrom
j-berman:keep-data-first-refresh

Conversation

@j-berman
Copy link
Collaborator

Untested, wanted to get your feedback on this approach.

Context: when a user opens a pre-FCMP++ wallet using the updated wallet software, their wallet will need to re-sync from the wallet's restore height in order sync the FCMP++ tree and identify received output paths in the tree.

I trigger a re-sync by calling clear_soft when such a wallet first loads. Notably, clear_soft does not delete any tx keys.

For such a wallet, this PR saves destination addrs from confirmed/unconfirmed txs to a separate data store in the wallet cache called m_recoverable_dests before soft clearing. Then upon completing refresh(), the wallet recovers destinations back into any identified confirmed/unconfirmed txs.

I persist m_recoverable_deststo the wallet cache in case refresh does not execute to completion after the wallet state is cleared, and before the wallet is closed.

@j-berman j-berman mentioned this pull request Sep 18, 2025
74 tasks
@j-berman j-berman force-pushed the keep-data-first-refresh branch from fd9782f to 257b1aa Compare December 15, 2025 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant