Conversation
a-shannon
marked this pull request as ready for review
September 7, 2026 02:16
a-shannon
force-pushed
the
fix/wallet-maturity-accounting
branch
from
September 8, 2026 10:07
181ba7f to
0573cc5
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-maturity-accounting
branch
from
September 8, 2026 10:33
0573cc5 to
bf06cc6
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.
Mining rewards change scan associations in the same versioned registry update as the block that matures them. This preserves external scan memberships, accounts for rewards spent in that block and restores preceding associations on rollback. Rewards already associated with payments are not credited twice.
Direct coverage includes shared scans, ERG and token balances, spending with history enabled or disabled, immature rewards and rollback.
Review and integration
Current prepared head:
b41a94ca3f752650f0f1215a7e763b2cb889cf44. The three maturity-owned files are unchanged frombf06cc62edcfc4480df184184baac5e58638792c.Shared test increments remain owned by #2535: existing funded fixtures
7c753910, convergence helper H0f9f75c1, settled-seed/isolation fixture D71f33c6e, and startup-reader fixture R76e5ec4b. Production continuation/download correction Gd62c945ais owned by #2511; header/body cache wake-up Xa772a5cbis owned by #2549. This branch reuses those exact commits and preserves its maturity correction.Integrate the independently reusable shared increments and their production owners first, then this maturity correction, then #2516. R precedes G; the whole #2535 branch is not a prerequisite of #2511. GitHub's upstream-master diff includes the cumulative prerequisites until they merge.
Validation
The actual #2516 composition with this exact parent passed 133/133 focused cases after normal compilation: 49 synchronization/history/cache cases, 51 registry cases and 33 convergence/isolation cases. This includes the combined maturity and registry-write behavior; it is not a separate execution on this branch or a Docker convergence result. The earlier 68-case wallet scan/registry result is historical evidence for the unchanged owning files.
The same shared liveness corrections also passed full CI in the release composition at
168bd7e16860d3e3a6fbae80a000a4478f19c007(run 34732895475). That is supporting composition evidence, not exact-head CI for this PR or proof of the exclusive cause of its earlier timeout. Native CI for the updated head is pending.Historical head
bf06cc62had seven of eight successful checks; integration passed 21/22 and timed out in DeepRollBackSpec (run 34216070115). D now establishes a fully applied, non-mining seed and asserts isolation before the original fork exercise. X and G remain separately owned production prerequisites. Existing convergence assertions, mining targets and deadlines are preserved.The separate bootstrap join with #2424 must retain its creation-height maturity criterion and pass filtered newly credited outputs to the block digest helper. Snapshot digest callers retain their own inputs; this PR does not validate that whole bootstrap join.
Integration tracker.