-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(ctb): Allow for checkpointing in claim resolution #10248
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #10248 +/- ##
============================================
- Coverage 42.40% 29.22% -13.18%
============================================
Files 73 31 -42
Lines 4830 2898 -1932
Branches 766 614 -152
============================================
- Hits 2048 847 -1201
+ Misses 2676 1976 -700
+ Partials 106 75 -31
Flags with carried forward coverage won't be shown. Click here to find out more. |
6d64318
to
6dfcb34
Compare
6dfcb34
to
723ba06
Compare
WalkthroughWalkthroughThe changes across the Changes
Recent Review DetailsConfiguration used: .coderabbit.yml Files selected for processing (6)
Additional comments not posted (8)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Introduces checkpointing to the `resolveClaim` function in the `FaultDisputeGame`, allowing for the pagination of subgame resolution. fix
723ba06
to
bbaf91c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great overall
packages/contracts-bedrock/src/dispute/interfaces/IFaultDisputeGame.sol
Outdated
Show resolved
Hide resolved
* feat(challenger): Resolution checkpointing support Adds support for resolution checkpointing * op-challenger: Use a simple maximum number of child claims to resolve per call. --------- Co-authored-by: Adrian Sutton <adrian@oplabs.co>
Semgrep found 13
Prefer |
Overview
Introduces checkpointing to the
resolveClaim
function in theFaultDisputeGame
, allowing for the pagination of subgame resolution.Updated Semantics
resolveClaim
now accepts a second argument,_numToResolve
, which specifies how much the caller wants to advance the cursor. Providing0
as_numToResolve
, when no children have been checked yet, will imply that the contract should attempt to loop through the entire list of child subgames in a single callframe.The off-chain actor can call
getNumToResolve(uint256 _claimIndex)
to retrieve the number of remaining children to be checked in order to resolve the subgame rooted at_claimIndex
. This can directly be fed intoresolveClaim
as the_numToResolve
parameter, or chopped up based on a heuristic of the maximum number of subgames the agent is willing to check duringresolveClaim
in one transaction.Metadata
closes https://github.com/ethereum-optimism/client-pod/issues/756