Skip to content
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(contracts): update OPSuccinctFaultDisputeGame #394

Merged
merged 14 commits into from
Feb 20, 2025

Conversation

fakedev9999
Copy link
Member

@fakedev9999 fakedev9999 commented Feb 14, 2025

Adds new features to OPSuccinctFaultDisputeGame

Air gap for finalization + anchor state update

We now have game life cycle of proposed -> resolved -> finalized, where finalized is done by calling claimCredit after the air gap.

  • "resolved" is where the game status is updated (e.g. DEFENDER_WINS), and people can do proveWithdrawals in Portal against the claim of the game
  • "finalized" is where the game becomes the latest finalized anchor state, bonds are paid out and people can do finalizeWithdrawals in Portal against the claim of the game.

Allowing game creation with a parent with different game type

Previously we had a parent game type check on creation, but now it's removed for efficiency of recovery in case of game retirement.
We now allow game creation with a retired but not blacklisted, respected parent game

Bond refund mechanism for improper games

For improper games (either not registered, blacklisted or game type retired), bonds are now refunded.

Permissioned games with AccessManager.sol

Permissioned games for whitelisted proposers and challengers are supported. Access management can be done through AccessManager contract, which is set as an immutable variable in the game implementation.

@fakedev9999 fakedev9999 marked this pull request as ready for review February 14, 2025 07:31
Copy link

github-actions bot commented Feb 14, 2025

Metric Value
Batch Start 789,820
Batch End 789,825
Witness Generation (seconds) 0
Execution Duration (seconds) 48
Total Instruction Count 2,308,590,095
Oracle Verify Cycles 303,683,680
Derivation Cycles 1,856,248,161
Block Execution Cycles 7,674,314
Blob Verification Cycles 23,292,488
Total SP1 Gas 0
Number of Blocks 5
Number of Transactions 5
Ethereum Gas Used 250,130
Cycles per Block 461,718,019
Cycles per Transaction 461,718,019
Transactions per Block 1
Gas Used per Block 50,026
Gas Used per Transaction 50,026
BN Pair Cycles 0
BN Add Cycles 0
BN Mul Cycles 0
KZG Eval Cycles 0
EC Recover Cycles 0
P256 Verify Cycles 0

Fixes below error
```
Error: failed to resolve file: "/home/runner/work/op-succinct/op
-succinct/contracts/lib/lib-keccak/contracts/lib/LibKeccak.sol":
No such file or directory (os error 2); check configured remappings
	--> /home/runner/work/op-succinct/op-succinct/contracts/lib/
optimism/packages/contracts-bedrock/interfaces/cannon/
IPreimageOracle.sol
	@lib-keccak/LibKeccak.sol
```
@fakedev9999 fakedev9999 merged commit 8216f73 into main Feb 20, 2025
7 checks passed
@fakedev9999 fakedev9999 deleted the taehoon/update-fdg branch February 20, 2025 03:22
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.

3 participants