Skip to content

migrate-zcashd-wallet: import all wallet transactions directly#652

Open
nullcopy wants to merge 1 commit into
mainfrom
feat/migrate-saved-txs
Open

migrate-zcashd-wallet: import all wallet transactions directly#652
nullcopy wants to merge 1 commit into
mainfrom
feat/migrate-saved-txs

Conversation

@nullcopy

@nullcopy nullcopy commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

The migration used the wallet's saved transactions only to estimate birthday heights, then dropped all of them from the ZeWIF document unless --buffer-wallet-transactions was given, relying on the post-import chain scan to restore transaction history. That scan only re-derives transactions from the main-chain blocks it scans, so any transaction that was never mined (e.g. a still-unmined send) or was recorded only against a non-main-chain block (a conflicted or reorged transaction) had no on-chain record to recover and was lost.

Always carry every transaction through to be imported directly, and remove the now-redundant --buffer-wallet-transactions flag.

Closes #271
COR-325

The migration used the wallet's saved transactions only to estimate
birthday heights, then dropped all of them from the ZeWIF document unless
--buffer-wallet-transactions was given, relying on the post-import chain
scan to restore transaction history. That scan only re-derives
transactions from the main-chain blocks it scans, so any transaction that
was never mined (e.g. a still-unmined send) or was recorded only against a
non-main-chain block (a conflicted or reorged transaction) had no on-chain
record to recover and was lost.

Always carry every transaction through to be imported directly, and remove
the now-redundant --buffer-wallet-transactions flag.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

Migrate wallet.dat transactions directly, instead of restoring them from the chain.

1 participant