Repository navigation
feat: reserve-expanding sync eligibility for redistribution game (SWIP-44) - #5633
aloknerurkar wants to merge 8 commits into
Conversation
bb86a9c to
2e57090
Compare
2e57090 to
e64fbf3
Compare
333a253 to
02b222c
Compare
|
An independent AI review of this PR was shared with me directly. Below are its findings and what changed for each, so other reviewers can follow along. Changes are in 02b222c. 1. Sync rate recorded under the peer's bin instead of ours — fixedIssue:
As a result:
The existing test passed only because the mock pullsync doesn't filter by radius. Change:
2. Doubled node could play a sister-neighborhood round with an unsynced radius bin — fixedIssue: with stake height = doubling, the contract selects the node when PO(overlay, anchor) ≥ committedDepth − height. When PO(overlay, anchor) == storage radius, every sampled chunk is in our bin at the storage radius, yet Change: 3.
|
02b222c to
31f10c9
Compare
Checklist
Description
Replaces the single global historical sync rate with per-bin rates and decides "synced" from the bins that matter for a given depth.
The old pkg/rate carried the previous window over into the current one, so after the last chunk arrived it took 16–30 minutes (15m window) to read zero, depending on where in the window syncing stopped. Any syncing below the radius also counted against the node.
Open API Spec Version Changes (if applicable)
SwarmCommon.yaml: added the optional pullsyncRateOutsideRadius field to StatusSnapshotResponse.
Related Issue (Optional)
Follows up on review feedback on #5568 (SWIP-44) about the goroutine-count sync signal.
AI Disclosure