Repository navigation
Conversation
PredgeValidatorBond v2.1 (live since 2026-10-03 on Arc, Arbitrum One and Robinhood Chain) runs the dispute window from recordScore. These tests pin that at the boundaries, with a stake posted 30 days before the verdict: - the old stake does not shorten the window; - reclaim reverts at verdictTime + window - 1; - reclaim succeeds at exactly verdictTime + window; - a lying verdict is still challenged on the last second of the window, and the challenger receives the whole bond. Block time is made deterministic (ganache timestampIncrement 1) so each transaction lands on the intended second. Switching reclaim back to stakedAt makes the suite fail. npm test now runs all five bond and arbiter suites. Refreshes the header of bond-reclaim-window.test.mjs, which still called the v2 source "deployed".
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
This branch has not been deployed
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.
A partner review read the pre-2026-10-03 PredgeValidatorBond (v2) and noted that its dispute window started at the stake, not the verdict, while the comment said the opposite. That was real in v2 (
reclaimcheckeds.stakedAt + disputeWindow) and was fixed in c0762ea. v2.1, which runs the window fromscoredAt, has been live since 2026-10-03:disputeWindow()0xfeE8b89eb8aa2499F7025Cd9aaEB13a4b046d0d10x3db39A8dFdc7157f8B8a2AacD201081378Cef04f0xee76acb042d21EEd8320d44a48E03738288f9737The 1 second window the review saw is the August Arc testnet bond
0xCDd95Bd9…55d2acF(v1 design,disputeWindow() == 1, nothing bonded). It is labelled as testnet and pre-2026-09-18 in the README.This PR adds no contract change. It adds boundary tests against the current source, each with a stake posted 30 days before the verdict:
reclaimreverts atverdictTime + window - 1;reclaimsucceeds at exactlyverdictTime + window;Block time is deterministic (ganache
timestampIncrement: 1), so each transaction lands on the intended second. Switchingreclaimback tostakedAtmakes the new suite fail (checked locally).npm testnow runs all five bond and arbiter suites: 8 + 3 + 4 + 8 + 3 passed.