This repository was archived by the owner on Dec 5, 2021. It is now read-only.
forked from ethereum-optimism/optimism
-
Notifications
You must be signed in to change notification settings - Fork 6
[pull] develop from ethereum-optimism:develop #573
Open
pull
wants to merge
10,000
commits into
omgnetwork:develop
Choose a base branch
from
ethereum-optimism:develop
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
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
…oc (#18851) * graphite prompt to detect foundry deps bump without approved design doc * add ref to policy link in graphite message to PR owner
Add a tool that validates the go.mod replace directive points to a valid op-geth tag. Runs as a separate CI job so failures are immediately visible in the GitHub UI, which is useful during op-geth merge windows when this check is expected to fail temporarily. Also updates FindMonorepoRoot to verify the module path matches the optimism monorepo, preventing false positives when run from nested modules.
* ci: Introduce custom linters First linter prevents calls to big.Int Uint64 which silently truncates the value. * op-service: Implement bigs.Uint64Strict * ci: Support auto fix for bigint linter * ci: Fix lint-go-fix target * op-service: Add nolint for the Uint64 call in Uint64Strict * ci: Disable bigint linter. Need to apply the fixes first.
* feat(ci): refactor CI to add continuations * chore(ci): pass parameters to circleci
* op-challenger/op-dispute-mon: Cap large l2 sequence numbers. * op-challenger: Fix potential collision in challenger claim IDs. * op-challenger: Fix off by one error when recording the last step * op-challenger: Fix resuming large preimage uploads. * op-challenger: Ensure the full data to store is submitted in the same transaction for large preimages. --------- Co-authored-by: Adrian Sutton <adrian@oplabs.co>
* feat: run u18 * fix: fmt * fix: lint * fix: many bugs with OPCMv1 * fix: update opcmv2 tests * fix: semver version * fix: also apply past upgrades to integration tests * fix: run past upgrades for add game type test * fix: use shared function for past upgrades * feat: unified past upgrades * fix: semgrep issues * feat: generic dummy caller * fix: proper prestate handling for opcmv1 * fix: small pr comments * feat: use registry automatically * fix: almanax comments * fix: pr review * fix: clarify usage of opcm version * fix: correct dummy caller path * fix: use existing challenger/proposer for dispute games * fix: merge conflicts
* fix(ci): fix tag creation for circleci releases * ci: remove obsolete comment in setup-tag workflow Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Document more about how to use the flake-shake gate.
* feat(op-node): add SupervisorEnabled to config.Config Move SupervisorEnabled from rollup.Config to config.Config per reviewer feedback. rollup.Config has superchain registry implications and should be reserved for consensus params, while SupervisorEnabled is an operational setting. Changes: - Add SupervisorEnabled field to config.Config - Pass supervisorEnabled through interop.Config.Setup() - Add supervisorEnabled parameter to NewEngineController and NewFinalizer constructors - Gate cross-unsafe/cross-safe promotion and finality on supervisorEnabled instead of just IsInterop check - Update all test files with new constructor signatures When supervisorEnabled is false (default), interop contracts still deploy at InteropTime but cross-chain coordination uses local promotion. When true, the node defers to the supervisor. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * test(op-acceptance-tests): add tests for interop without supervisor coordination Add acceptance tests that verify interop can work with local finality when SupervisorEnabled=false in op-node. This tests the scenario where: - Interop contracts (L2ToL2CrossDomainMessenger) are deployed at genesis - Supervisor infrastructure runs (required by op-geth) - But op-node uses local promotion instead of supervisor coordination The tests verify: 1. L2ToL2CrossDomainMessenger is deployed and has code at interop activation 2. Local finality works (unsafe/safe blocks advance without supervisor) Also adds: - DefaultSingleChainInteropNoIndexingSystem() in sysgo for test configuration - MinimalInteropNoSupervisor preset for acceptance tests Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor(op-devstack): make supervisor optional for interop Simplify the interop-without-supervisor test setup: - Make supervisor optional in l2_el_opgeth.go, l2_el_opreth.go, l2_proposer.go - Replace DefaultSingleChainInteropNoIndexingSystem with DefaultMinimalInteropSystem - MinimalInteropNoSupervisor now extends Minimal (no supervisor process at all) This enables testing interop contract deployment with truly no supervisor, rather than having supervisor running but with SupervisorEnabled=false. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: opsuperchain <opsuperchain@slop.bot> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* feat: remove CGT instruction from OPCMv2 * fix: semver * fix: calldata offset
* op-node: Make sealing duration value configurable * Remove hard coded constants
* op-proposer: Delete some remnants of L2OO * op-proposer: Remove even more L2OO * op-proposer: Fix test config. * op-proposer: Fix lint
* op-challenger: Use Uint64Strict * op-dispute-mon: Use Uint64Strict. * op-program: Use Uint64Strict * op-proposer: Use Uint64Strict * op-challenger: Cap bond claimed metric instead of panicking. * Fix lint
* fix: increase contracts test timeout to avoid flakes * fix: add slack context to relevant jobs
Update FaultDisputeGame and OptimisticDisputeGame to revert game creation if the proposed block number is too large for a uint64. Given the JSON-RPC APIs use an int64, no viable block chain can use block numbers that large. SuperDisputeGame reads the timestamp from the super root which is already restricted to a uint64.
…ct (#18904) * op-e2e,op-acceptance-tests,op-devstack,op-sync-tester: Use Uint64Strict * Fix test expectation * Fix test expectation * Review feedback.
* refactor: replace dev feature with opcm version check in DeployOPChain script * refactor: replace dev feature with opcm version check in ReadImplementationAddresses script * refactor: replace dev feature with opcm version check in UpgradeOPChain script * refactor: replace dev feature with opcm version check in UpgradeSuperchainConfig script * refactor: standarize isOPCMv2 variable * feat: add opcmv2 version constant * fix: rename constant to OPCM_V2_MIN_VERSION
…in MIPS64Memory (#18905) - Add isValidProof harness function and test contract with 3 tests: - test_isValidProof_validProof_succeeds: verifies valid proof returns true - test_isValidProof_invalidProof_succeeds: verifies tampered proof returns false - test_isValidProof_mismatchedRoot_succeeds: verifies wrong root returns false - Add memoryProofOffset harness function and test contract with 3 tests: - testFuzz_memoryProofOffset_succeeds: fuzz test for offset calculation - test_memoryProofOffset_zeroIndex_succeeds: verifies index 0 returns base offset - test_memoryProofOffset_indexOne_succeeds: verifies index 1 increments correctly Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
* feat: opcm2 interop migrate (#796) * feat: support interop migration in OPCMv2 * fix: merge conflicts * fix: proper interface usage * feat: update VerifyOPCM for migrator * chore: lint * fix: pr tweaks * fix: update go side * fix: simplify game data decoding logic * test: add test for invalid starting game type * fix: pr review * feat: add interop migration support for op-deployer * feat: add opcm v2 input for interop migration * feat: refactor interop migration to use ABI encoding and semver detection Replace JSON marshaling with proper ABI encoding using w3 library for migrate inputs. Change OPCM version detection from isDevFeatureEnabled to semantic version comparison. Restructure MigrateInputV1 to use nested GameParameters and Proposal structs. Update DisputeGameConfig.GameArgs from Hash to bytes for correct ABI encoding. Add isVersionAtLeast helper for version comparison (OPCM v2 starts at 7.0.0). Update tests and contracts to use version() method instead of feature flags. * docs: add description comments to migrate.go * feat: add opcmv2 migrate support to WithSuperRoots * fix: game parameters uint64 types * refactor: move IsVersionAtLeast helper to utils and add tests * fix: uint64 to big int conversion in EncodedMigrateInputV1 * test: interop migration v2 * test: interop migration v2 (not working) * test: updates migration test to migrate to OptimismPortalInterop * fix: test comments * test: add migrate input v1 encoding test * test: add interop migration v1 test * test: merge TestInteropMigration v1 and v2 tests --------- Co-authored-by: Flux <175354924+0xiamflux@users.noreply.github.com> * refactor: separate migrate from migrate-v2 cli command --------- Co-authored-by: Kelvin Fichter <kelvinfichter@gmail.com> Co-authored-by: niha <205694301+0xniha@users.noreply.github.com> * test: opcm2 migrate cli test (#798) * feat: add migrate cli command tests * poc: e2e cli migrate tests * fix: replace stdout with app writer * refactor: replace default value for StartingRespectedGameTypeFlag * fix: migrate cli v1 and v2 e2e tests --------- Co-authored-by: niha <205694301+0xniha@users.noreply.github.com> * fix: interop migration fixes * fix: remove address 0 condition to use opcmv2 & refactor useOPCMV2 internal variable in InteropMigration script * test: add interop migration run revert cases * fix: restore migrate cli flag order * fix: migrateInput V2 json field * chore: opcm2 pr (#799) * chore: remove unused imports * chore: fix tests naming * fix: add uint32 input range validation in migrate v2 * fix: opcm2 misc (#802) * test: fix struct property names * fix: use correct exported function name * chore: removes unused import * fix: opcm2 review comments (#808) * chore: remove unused flags * chore: close rpc client in migrate * chore: add sanity check when encoding migrate input * refactor: reutilizes isVersionAtLeast to check if using OPCM v2 * refactor: unify migrate v1 and v2 flows in the same CLI * refactor: check for common required flags, reduce repeated code between migrate v1 and v2 paths * chore: rename Migrate exclusive vars to indicate they are supposed to be used during migration only * chore: remove unused OPChainProxyAdminFlag flag * chore: close underlying client in migrate path * chore: add overflow uint check * chore: rename variable deployer to deployerAddr * chore: add overflow check for starting respected game type in migrate flow * fix: encode gameArgs as abi encoded bytes32 * chore: rename starting Respected game type related vars on migrate flow * chore: remove repeated required flags tests * fix: migrate opd test (#816) --------- Co-authored-by: Kelvin Fichter <kelvinfichter@gmail.com> Co-authored-by: niha <205694301+0xniha@users.noreply.github.com> Co-authored-by: 0xOneTony <112496816+0xOneTony@users.noreply.github.com> Co-authored-by: OneTony <onetony@defi.sucks>
* Merge pull request #18662 from ethereum-optimism/feat/op-deployer/validator-upgrade-v600 feat(op-deployer): op-validator and upgrade to v600 * feat(op-deployer): Update for op-contracts/v6.0.0-rc.2 (#18809) * feat(op-deployer): Update for op-contracts/v6.0.0-rc.2 * fix registry hash * feat(op-deployer): tests --------- Co-authored-by: Maurelian <john@oplabs.co>
* chore(kona): update vergen to 9.1.0 * Update rollup-boost and remove wrapper * temp update to use 1.10.2 rollup boost * point to crates.io version * remove unnecessary comment --------- Co-authored-by: Haardik H <haardik.haardik@coinbase.com>
* feat(op-deployer): add forge flag to bootstrap + apply * feat(op-deployer): add artifact cleanup * feat(op-deployer): lint * feat(op-deployer): lint * feat(op-deployer): comments * fix(op-deployer): comments * fix(op-deployer): lint
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )