Skip to content

Persist transparent enhancement progress - #360

Draft
ValarDragon wants to merge 1 commit into
chainapsis:mainfrom
valargroup:agent/persist-transparent-enhancement-progress
Draft

Persist transparent enhancement progress#360
ValarDragon wants to merge 1 commit into
chainapsis:mainfrom
valargroup:agent/persist-transparent-enhancement-progress

Conversation

@ValarDragon

Copy link
Copy Markdown
Collaborator

Summary

  • persist completed transparent-address enhancement ranges in the wallet DB
  • advance the checked-height cursor only after the lightwalletd stream
    completes successfully
  • cover the exclusive range-end conversion and notification failures

Root cause

TransactionsInvolvingAddress requests were serviced without calling
WalletWrite::notify_address_checked when the requested range completed.
The wallet DB therefore kept generating the same transparent history requests
on later syncs, causing established wallets to repeatedly download and process
historical transactions after restart or resync.

Impact

Completed transparent-history ranges are now recorded, so subsequent syncs
continue incrementally instead of reprocessing the same history. Partial or
failed streams do not advance the cursor and remain safe to retry.

Validation

  • cargo fmt -- --check
  • cargo test sync_engine::enhance::tests (12 passed)
  • cargo test (438 passed, 1 ignored; Docker regtests ignored as designed)

No Rust or Dart API surface changes.

@ValarDragon

Copy link
Copy Markdown
Collaborator Author

(this is vibecoded and unreviewed, but affects a user report of slow sync when they haven't logged in in 2 months, but very fast on direct usage of mnemonic)

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