Skip to content

Generate valid wallet user scan ids in tests - #2397

Open
a-shannon wants to merge 13 commits into
ergoplatform:masterfrom
a-shannon:fix/offchain-registry-scan-id-generator
Open

a-shannon wants to merge 13 commits into
ergoplatform:masterfrom
a-shannon:fix/offchain-registry-scan-id-generator

Conversation

@a-shannon

@a-shannon a-shannon commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Wallet test generators choose user scan IDs strictly above PaymentsScanId while retaining payment-only, user-only and mixed scan cases. This avoids generating reserved IDs that cannot represent registered user scans.

Head ccc421cb1f8cab249c0a37f0bf918d59e76bc354 targets master and retains the one-file wallet review increment, including master's generator-managed selection and corrected OffChainRegistrySpec precondition. The wallet generator and its assertions are byte-identical to the reviewed source.

The new eleven-file prerequisite increment adds settled-seed/isolation D, owned by #2535, plus exact production corrections G, owned by #2511, and X, owned by #2549. The cumulative PR therefore includes four shared production paths alongside its original test-only correction.

G anchors full V2 summaries at genesis, keys cached summaries by selected tip and mode, and schedules missing sections from a retained common ancestor. X wakes retained block sections after their headers arrive. Review R, owned by #2535, before G; merge the owning #2511/#2549 corrections before this consumer. Exact common commits preserve single ownership without requiring the complete #2535 branch as a parent.

Existing H, U and T remain unchanged. U compares the four selected headers under the original targets and fifteen-minute deadline. T collects typed observations only after timeout, within a separate 2.5-second budget, and always preserves the original failure. D preserves DeepRollBack's convergence assertions and deadlines while establishing a settled, non-mining seed and actual isolation.

At 9b710e309, native IT passed 49/50; DeepRollBack alone timed out at minimum 251. The earlier cc08 CI passed every wallet/core/node job and 44/45 IT cases, with a real selected-header disagreement across the four nodes. These are distinct historical observations. The shared G/X defects are independently established; exclusive attribution of either timeout is not claimed.

The actual final composition passed normal compilation and 49/49 focused synchronizer/history/cache tests, including both UTXO and Digest wake-up cases. Its preceding D composition passed normal IT compilation and H/D 33/33; unchanged H/T 37/37 and wallet 39/39 results remain input-qualified prior evidence. Independent source review found no blockers. The local gates did not run Docker or establish full CI success. New-head native CI remains pending in #2533.

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.

2 participants