Conversation
a-shannon
marked this pull request as ready for review
September 6, 2026 22:31
This was referenced Sep 7, 2026
a-shannon
force-pushed
the
fix/wallet-scan-metadata
branch
from
September 8, 2026 10:07
65a1f4e to
4f7b14f
Compare
Keep synchronization scenarios with their correction in ergoplatform#2511. Reuse the spendable sorting fixture already present in ergoplatform#2480.
a-shannon
force-pushed
the
fix/wallet-scan-metadata
branch
from
September 8, 2026 10:33
4f7b14f to
459f6bb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changing a tracked box's scan associations preserves its inclusion and spending metadata. Payment-association changes affect ERG and token balances only while the box is unspent. Registry writes propagate their actual result to callers, including the actor's AddBox response; preparing a write no longer exposes uncommitted metadata through the cache, and affected entries reload from persistence after either outcome. When a previously registered box is created and spent in the current block, current-block metadata takes precedence and superseded indexes are removed.
Head
2b529f7366f4c2cc146278d8f2266db95d289ef0retains both registry corrections and all four owning files. Review #2514 first, then the pinned registry correction and maturity composition. The composition preserves the maturity-removal bag before folding old-output index cleanup and retains rejected-write/successful-retry contracts under both history-retention settings. GitHub's upstream-master diff remains cumulative until the prerequisites merge.The maturity-parent refresh incorporates the real #2514 parent, including existing shared prerequisites: D, owned by #2535, establishes a settled seed and isolated mining; X, owned by #2549, wakes cached block sections after headers; and G, owned by #2511, supplies synchronization continuation/cache/download corrections. These retain their own review and integration dependencies; the registry files are unchanged by the refresh.
The final two-file diagnostic increment reuses exact K, owned by #2511 on #2535's shared H observer. It reports ForkResolution phases and bounded node observations while retaining the fixed target, independent per-node acceptance and fifteen-minute deadline. The shared increments can be reviewed once; the diagnostic addition changes no production code.
Historical registry validation passed all 68 WalletScanLogicSpec, WalletRegistrySpec and WalletRegistryWriteResultSpec cases, covering metadata, spent-payment balances, write failures/retries, cache/index agreement, actor acknowledgements and both history settings. The actual refreshed composition passed 133 tests: synchronization/header-body joins 49, WalletRegistrySpec 27, WalletRegistryWriteResultSpec 24 and shared observer/isolation cases 33. The subsequent K composition passed normal integration-test compilation and 37/37 observer/diagnostic cases. Unchanged source evidence is reused; these focused runs did not execute Docker. Independent composition review found no blockers.
At previous public head
459f6bbd5d80f31dd55a3eb240377339a6c3622f, CI passed seven of eight jobs and 20/22 IT cases, with DeepRollBack and ForkResolution timeouts. Their exclusive causes were not established. New-head native CI must test the combined behavior and collect the added diagnostics; no successful Docker result is claimed here. Follow #2533 for current results.