Add legal footer to op-deployer docs#14374
Merged
ajsutton merged 1 commit intoethereum-optimism:developfrom Feb 18, 2025
Merged
Add legal footer to op-deployer docs#14374ajsutton merged 1 commit intoethereum-optimism:developfrom
ajsutton merged 1 commit intoethereum-optimism:developfrom
Conversation
ajsutton
approved these changes
Feb 18, 2025
Contributor
|
/ci authorize 1dedee4 |
Rjected
pushed a commit
to paradigmxyz/optimism
that referenced
this pull request
Feb 25, 2025
Rjected
added a commit
to paradigmxyz/optimism
that referenced
this pull request
Feb 25, 2025
* dependabot(gomod): bump github.com/minio/minio-go/v7 (#13861) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.81 to 7.0.84. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.81...v7.0.84) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix cannon e2e tests (#14060) * ci: Raise parallelism of cannon-e2e tests * ci: Build op-program-host and cannon before running go tests. * op-geth: Update op-geth to avoid loading and parsing all genesis files. Specifically includes https://github.com/ethereum-optimism/op-geth/pull/482 * Consistently build 64-bit multithreaded prestates with -mt64 suffix. Previously the native build used -mt and the reproducible build used -mt64. Stop building the 32-bit multithreaded prestate in reproducible builds. --------- Co-authored-by: Matthew Slipper <me@matthewslipper.com> * vm-runner: Add extra logging when selecting L1 head (#14061) * proofs: Add action test for unhappy consolidation (#14019) * proofs: Add action test for unhappy consolidation The test covers the unhappy path in the consolidation step of the fault proof where an invalid message triggers a block replacement * remove redundant test * assert heads * Initialize vm runner counter metrics to 0 (#13523) This is because alerts use `increase()` to detect changes in the metrics, and the first instance of a metric is not considered a change, so detecting failures doesn't fire unless the metric was already 0. * dependabot(gomod): bump github.com/consensys/gnark-crypto (#13872) Bumps [github.com/consensys/gnark-crypto](https://github.com/consensys/gnark-crypto) from 0.12.1 to 0.15.0. - [Release notes](https://github.com/consensys/gnark-crypto/releases) - [Changelog](https://github.com/Consensys/gnark-crypto/blob/master/CHANGELOG.md) - [Commits](https://github.com/consensys/gnark-crypto/compare/v0.12.1...v0.15.0) --- updated-dependencies: - dependency-name: github.com/consensys/gnark-crypto dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: Add PermissionedDisputeGame to frozen code (#14070) * op-node: change default L1 cache size to 900 (#14045) In #13772, the L1 cache size was made configurable and the cap of 1000 was removed. This implied that the old default value (before applying the cap) of 2/3 the sequencing window was now active. However, high-throughput chains don't need such a high cache size under normal conditions, so memory usage unexpectedly jumped for most node operators. This PR adds back a lower default value of 900, which is a better default for most nodes. Only low-throughput chains with infrequent safe head increments can now use this flag to set a higher value. * op-deployer: Support upgrades (#14028) * op-deployer: Support upgrades * semgrep * imports * cr updates * remove aliasing * goimports * cr updates * fix lint --------- Co-authored-by: Samuel Stokes <sam.adam.stokes@gmail.com> * feat: prevent deployments of mips32 on opcm upgrade 13 (#14025) * feat: prevent deployments of mips32 on opcm upgrade 13 * feat: Ensure that fork tests deploy mips64 * fix: error string in tests * fix test name * skip tests for superchain ops (#14069) * skip implementation upgrade and system config initialization tests for superchain ops tests * fmt * update gas snapshot * dependabot(gomod): bump github.com/lmittmann/w3 from 0.17.4 to 0.17.5 (#14074) Bumps [github.com/lmittmann/w3](https://github.com/lmittmann/w3) from 0.17.4 to 0.17.5. - [Release notes](https://github.com/lmittmann/w3/releases) - [Commits](https://github.com/lmittmann/w3/compare/v0.17.4...v0.17.5) --- updated-dependencies: - dependency-name: github.com/lmittmann/w3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-challenger: Support downloading prestates with a specific filename. (#14035) * op-challenger: Support downloading prestates with a specific filename. Allows running the latest builds published from develop automatically. * Update test * Log information on the state used. * feat: Descope liquidity migration interop (#13978) * feat: descope liquidity migration * feat: remove superchain erc20 factory and beacon (#224) * fix: descope pr fixes (#231) --------- Co-authored-by: AgusDuha <81362284+agusduha@users.noreply.github.com> Co-authored-by: agusduha <agusnduha@gmail.com> * devnet testing sdk prototype (#14026) * feat(devnet-sdk): expose minimal test interface * feat(devnet-sdk): basic infrastructure for mini test Co-authored-by: Jan Nanista <jan@oplabs.co> * feat(devnet-sdk): implemented system * test(interop): new mini test to validate framework * test(interop): improve mini test * fix(devnet-sdk): improve cnx management * fix(devnet-sdk): use big.Int * test(interop): add constraints * fix(devnet-sdk): fix tests * fix(devnet-testing): use pointer receivers consistently * fix(devnet-testing): remove unnecessary ContractAddress * fix(devnet-testing): remove unnecessary NewBalanceFromFloat * fix: cosmetic change to interop smoke test * feat(devnet-sdk): proper interface-backed implementation * feat(devnet-testing): testing the tests * feat(devnet-testing): interface cleanup * fix: remove obsolete Registry definition * fix: address review comments - add explicit interface checks (and remove superfluous interface) - add tests for Balance type --------- Co-authored-by: Jan Nanista <jan@oplabs.co> Co-authored-by: Stefano Charissis <stefano@oplabs.co> * ci: Run mips-linux-gnu-objdump outside of the shell pipeline (#14078) Ensures the build fails if it is not available or has non-zero exit code rather than just checking for unsupported op codes in the error message. * op-program: Write tx/receipts trie nodes to kv (#14051) * op-program: Write tx/receipts trie nodes to kv * op-program: Make trie node storage optional in client * challenger: Transition to invalid hash at superroot boundaries (#14034) * challenger: Transition to invalid hash at superroot boundaries. Doesn't yet handle transitioning at the first optimistic block that is unsafe. * Fix comment. * op-program: Fix config validation for interop (#14079) Ensure InteropEnabled is set when --agreed-prestate is set. Don't require L2 head to be set when interop enabled. * op-deployer: Cache downloaded artifacts (#14076) * Update op-geth dependency to upstream pre-v1.15.0 master merge & ignore SetCode batcher txs (#13958) * go: Update op-geth dependency to upstream pre-v1.14.13-master merge We need the 7702 SetCode transaction type. * all: adapt to op-geth upstream changes * op-node/rollup/derive: treat SetCode or future tx types as invalid batcher txs * go: Update op-geth dependency again to include latest changes * derive: allow Deposit batcher txs This allows batch tx force-inclusion for L3s. * lint * add txContext back * fix SetCode batcher tx test * go: update op-geth dependency to v1.101500.0-dev.1 which is tagged at https://github.com/ethereum-optimism/op-geth/pull/480 * geth: pre-v1.14.13 integration review fixes * op-chain-ops: simplify state commit call * op-node/p2p: Use IP address for first Conduit bootnode After updating to the latest upstream geth dependency, it seems that host names are no longer supported for bootnodes. * op-node/p2p: look up DNS host names of enode records * op-node/p2p: Also lookup IPs for default bootnode URLs * Update op-geth dependency to merged@v1.101500.0-rc.1 * op-node/p2p: Add test for default bootnodes --------- Co-authored-by: protolambda <proto@protolambda.com> * ci: Remove CI builder (#13965) We were using both Docker-based CI builder images as well as self-hosted runner images with software preinstalled. This was causing discrepancies between software versions when things were updated. Furthermore, changing `mise.toml` required a manual rebuild of the CI builder image for changes to take effect. This PR updates the CI pipeline to use Mise to install all tool necessary to run the monorepo. Preinstalled tools have been removed from the self-hosted runners, and all Docker images in the pipeline have been replaced with a simple `cimg/base` image. * Fix LastCommonL1 Function ; Add Tests (#14086) * op-deployer: Use deterministic deployments for MIPS/DGs (#14087) There's a nonce bug in the VM somewhere. This PR works around it and update these deployments to be deterministic. I'll investigate the bug separately. * ci: Fix broken proofs jobs (#14088) * op-batcher: handle EIP-7623 in DA switching calculation (#13870) * WIP sketch out change in calldata calculation if l1 activated EIP-7623 * infer l1 Pectra activation from nullity of header.requestsHash pass this down to the TxData method so it can make an informed decision on DA type * add godoc * refactor and add unit test * tweak godoc * use much larger / more representative values in test * don't forget version byte * add another unit test * fix bug * typos * typo * make e2e test handle pectra * tweak * unit tests for DA switching cover L1 Pectra active and inactive * prefer isPectra = true in tests generally * tighten up test params * Wire up Prague Activation time in L1 genesis * run da switching test on holocene and activate prague at genesis with HoloceneSystemConfig * fix op-e2e fakepos to handle prague fork on L1 * update e2e tests to activate prague if they activate cancun * Revert "update e2e tests to activate prague if they activate cancun" This reverts commit f626d8d6b76db43398e79366535c5887f58a2b62. * only activate prague in AutoDA test for now * default to no Prague * increase numTxs * fix godoc * op-program/prestates: Add 1.5.0-rc.1 release prestate hashes (#14085) * custom gas token: remove e2e test (#14094) This commit removes an e2e test that covers the custom gas token feature. Keeping this around will just result in extra maintenance overhead that is not necessary. Useful alongside: - https://github.com/ethereum-optimism/optimism/pull/13603 - https://github.com/ethereum-optimism/optimism/pull/13921 for maintaining a patch that contains custom gas token. It should be easy to bring this back in the future if necessary * vm-runner: Handle L1 finalized block being 0 (#14100) * CONTRIBUTING.md: no more typo fix noise (#14105) * feat: speed up snapshots (#14096) * op-node: Use withdrawals-root for replacement block attrs (#14102) * interop: Reorg support (#13953) * Start on Invalidator. * tests: TestCrossUnsafeReorg. * cleanup reorg tests. * first shot at cross-safe reorg. * cleanup some code. * make reorg test not use internal dbs directly. * move reorg tests to invalidator package. * remove stray code. * make reorg tests use Invalidator events. * Start refactor and cleanup. * tests * tweak: Use BlockID in Rewind events. * tweak: Signal all chain rewind on L1 reorg. * tweak: Use block height only to signal where to start checking for rewind. * lint and some small refactoring. * Create rewinder as soon as we create backend. * cleanup: Remove old code. * tweak: Update component name. * cleanup: remove stray code. * tweak: Tighten up L1 reorg detection. * cleanup: Remove stray code. * tweak: Don't rewind Unsafe chain past LocalSafe head. * tweak: Fix wrapped errors in db update helpers. * tweak: Make min block getter more clear. * tweak: Register rewinder events directly. * twweak: Update L1 same-block signal log. * fix: Don't return early if we've missed an L1 block. * refactor: Track L1 tip as a BlockID instead of separate height and hash. * tweak: Add warning when failing to find a common block and falling back to finalized. * tweak: Cleanup don't-rewind-past-finalized check. * refactor: L1 reorgs, V2. * starting on new unsafe rewinding. * fix: Use CrossSafe in node reset call. * cleanup: Remove old rewind code. * fix: L1 block traversal during common ancestor search. * tests: Update tests for refactored rewinder. * tweak: Make Unsafe rewind walkback up to finalized block. * tests: add L2 rewind walkback test. * refactor: Remove SyncNodes/L2 nodes from Rewinder. * tests,fix: Add CrossSafe to synnode mockBackend. * tests,fix: Correctly setup TestNoRewindNeeded. * cleanup: Remove old rewind code. * cleanup: Remove unused interface method. * refactor: In L1 rewinds, check Local DB first. * fix: Use correct LocalSafe to L1 resolution. * tests: Add test for L1 reorg that affects only local and not cross blocks. * tweak: Make work without finalized blocks. * tweak: Don't use finalized blocks in rewind test. * twweak: Only check hashes in L1 onLatest sameness check. * run ci * tweak: Don't reset logs in L1 reorg. * fix: Unsafe reorg common ancestor finding. * tests: Fix TestRewindL2WalkBack. * op-supervisor: fix L1-reorg handling --------- Co-authored-by: protolambda <proto@protolambda.com> * feat: remove unused arg from OPCM upgrade tests (#14113) * feat: Remove mips64 and updates to MTCannon (#14119) * feat: Remove mips64 and updates to MTCannon * chore: Unfreeze opcm * chore: update semver-lock * feat: update snapshots * fix: unused imports * feat: bump semvers * semver-lock * feat: updates to op-deployer * fix test --------- Co-authored-by: Matthew Slipper <me@matthewslipper.com> * cannon: Update SLL(V) to mask out upper bits before sign extending (#14114) * cannon: Update SLL(V) to mask out upper bits before sign extending * cannon: Run semver lock * cannon: Update MIPS64.sol version to 1.0.0-beta.1 * cannon: Remove MIPS64 from code freeze list * cannon: Follow go naming convention for U32Mask * op-challenger: Check chain-specific safe heads (#14121) * op-challenger: Check local safe heads to return invalid hash at the first chain that is unsafe. * Update interop tests and enable challenger tests. * chore: Remove CI builder ops packages (#14091) * op-batcher: handle errors more gracefully on shutdown (#14111) * op-batcher: do not log error from network call when shutting down Also prefer local context to global one. We can detect if the RPC call failed due to the context being cancelled, so we can avoid any more work in this function (including the bit that logs an error). * avoid error logging expected error * define a context for the txmgr.Queue and cancel during shutdown this should speed up shutdown, allowing goroutines to exit more quickly * op-deployer: Add book (#14136) * op-node,op-service: Add Timeout Flag for L2 Engine (#13853) * op-node: Add --l2.engine-rpc-timeout flag Add a new --l2.engine-rpc-timeout flag to configure the timeout duration for L2 Engine RPC calls. This allows for more flexible and explicit control over RPC call timeouts. * op-service: Remove redundant timeout from engine client * dependabot(gomod): bump github.com/cockroachdb/pebble (#13927) Bumps [github.com/cockroachdb/pebble](https://github.com/cockroachdb/pebble) from 1.1.3 to 1.1.4. - [Release notes](https://github.com/cockroachdb/pebble/releases) - [Commits](https://github.com/cockroachdb/pebble/compare/v1.1.3...v1.1.4) --- updated-dependencies: - dependency-name: github.com/cockroachdb/pebble dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-proposer: use atomic.Bool instead of bool+mutex (#13122) Signed-off-by: jsvisa <delweng@gmail.com> * feat: ensure mipsVersion == 1 (#14133) * contracts-bedrock: delete dead config (#14146) This config file is no longer used now that we moved over to the kurtosis based devnet. Removing it means less maintenance burden. * feat: prevent ASR deployment collisions (#14134) * feat: prevent ASR deployment collisions * Slightly more compact casts * lint and semver-lock * feat: bump semvers --------- Co-authored-by: alcueca <alberto@yield.is> * supervisor: Refactor `Contains` ; Check Timestamps (#14152) * supervisor: Refactor "Contains" ; Check Timestamps * Update op-supervisor/supervisor/types/types.go Co-authored-by: protolambda <proto@protolambda.com> --------- Co-authored-by: protolambda <proto@protolambda.com> * interop: Add metrics to track CrossUnsafe and CrossSafe heads. (#13923) * tweak: Allow RecordRef metrics to take arbitrary labels. * interop: Add metrics to track CrossUnsafe and CrossSafe heads. * tests: Add metrics tests to the backend. * feat: Update forge-std to latest tag (#14151) Gives us the vm.prank() variants with delegateCall options * feat: use v4 engine APIs when Isthmus enabled (#13976) * feat: use v4 engine APIs when Isthmus enabled * fix: ensure op-program requests hash empty * Clean up test logging * Fix tests * Remove debug * Ensure empty array is passed to new payload * Fix op-program engine test * Remove debug line * Ensure requests empty array in other engine tests * Use built-in empty requests hash * Remove empty requests check * Set prague time to isthmus time * Resolve merge conflicts * dependabot(gomod): bump github.com/consensys/gnark-crypto (#14089) Bumps [github.com/consensys/gnark-crypto](https://github.com/consensys/gnark-crypto) from 0.15.0 to 0.16.0. - [Release notes](https://github.com/consensys/gnark-crypto/releases) - [Changelog](https://github.com/Consensys/gnark-crypto/blob/master/CHANGELOG.md) - [Commits](https://github.com/consensys/gnark-crypto/compare/v0.15.0...v0.16.0) --- updated-dependencies: - dependency-name: github.com/consensys/gnark-crypto dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: add Prague to genesis script based on Isthmus (#14093) * feat: add prague to genesis script based on Isthmus * Ensure Isthmus fork status defaults to nil * Ensure L1 prague disabled by default * Remove extra change * op-supervisor: Implement supervisor_syncStatus RPC (#14138) * op-supervisor: Implement supervisor_syncStatus RPC * set localUnsafe status after indexing; update tests * Route origin updates to supe sync-status * fix supervisor_client syncStatus * fix naming and MinSyncedL1 comment * op-e2e: Refactor interop fault proofs tests (#14135) Rough start of a DSL to make writing interop action tests easier and higher level. This significantly reduces the amount of code required to setup the chain state needed for testing and generally makes the tests more readable. * ci: Record git hash with uploaded prestates (#14080) * ci: Publish git commit and prestate hash alongside prestate Fix naming of published prestates from release tags - they should be named as the prestate hash with no suffix. * Test publishing * Only upload git commit info for branch uploads, not releases. * Skip uploading preimages to not pollute files while testing. * Fix config * Add context * Include actual prestate hash * Disable testing * vm-runner: Download and log metadata for named prestates * contracts-bedrock: delete dead code (#14163) removes a dead deployment file that was committed into the repo. this should not be there. * op-service/txmgr: fix `pending_txs` metric (#14168) * op-service/txmgr: add TestQueue_Send_MaxPendingMetrics * SendAsync: simplify m.metr.RecordPendingTx() usage * use anonymous fn * tidy * feat: etch and reset upgrader (#14150) * feat: etch and reset upgrader * fix var names * feat: fix: testFuzz_upgrade_nonUpgradeControllerDelegatecallerShouldNotSetIsRCToFalse_works * op-program: reuse EVM instance in L2 block processor (#14170) * cannon: Expand test coverage (#14175) * cannon: Add a few more test cases * cannon: Use U32Mask throughout mips_instructions * Opcm/restore abs prestate (#14137) * feat: Restore absolutePrestate input to opcm.upgrade() * Update packages/contracts-bedrock/test/opcm/UpgradeOPChain.t.sol Co-authored-by: Matt Solomon <matt@mattsolomon.dev> --------- Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * ci: Separate coverage and fuzzing jobs (#14178) * ci: Separate coverage job Seeing a huge amount of CPU usage on this job which is starving the executor of resources. * Also move the fuzzing * use cci ip ranges * op-supervisor: Refactor Database Nomenclature (#14157) * Rename/Reorganize LocalDerivedFromStorage * Rename LocalDerivedFromStorage to DerivationStorage ; remove CrossDerivedFromStorage * Rename DerivedFrom to Source in events * Rename DerivedFrom to Source in Types * fix lint * IsCanonical -> ContainsDerived * Clean up Origin Event structure * Remove most references to DerivedFrom * Remove superflous First from function names * feat: reconfigure gas snapshot into standard test (#14153) Reconfigures existing gas snapshot system into a normal forge test. Gas usage will now be asserted as part of CI instead of requiring manual review. * add advice about triggering CI on external fork PRS (#14176) * ci: Separate out contracts tests (#14189) * ci: Separate out contracts tests * skip coverage test for now * ci: Tweak rerun parameters (#14193) * ci: Tweak rerun parameters * ci: reduce parallel * Revert "interop: Add metrics to track CrossUnsafe and CrossSafe heads. (#13923)" (#14190) This reverts commit a3c806928e107c0c55c5f7890449503ac04c4bbc. * fix: bound DGF search tests for upgrade tests (#14195) Bounds the size of the DisputeGameFactory search tests when running forked tests. * op-program: use withdrawalsRoot from header if Isthmus (#14180) * op-program: use hdr withdrawalsRoot if isthmus is active when computing L2OutputRoot, no need to re-compute the storage root if Isthmus is active. * Add Unit test for output root when Isthmus is active * tweak tests a bit * bail if withdrawalsHash is unexpectedly nil --------- Co-authored-by: Vinod Damle <5338861+vdamle@users.noreply.github.com> * Maur/faster upgrade coverage (#14191) * ctb: filter upgrade tests in coverage * ci: use rpc cache for coverage generation * undo coverage skip * ci: fix cache key generation --------- Co-authored-by: Matthew Slipper <me@matthewslipper.com> * feat: add op-dripper docker builds to circle-ci (#14177) * op-e2e/actions: Accelerated precompile tests (#14198) * op-e2e/actions: Accelerated precompile tests * remove unused gas field * dedup test fixtures * Remove MustRegister calls that do nothing (#14205) MustRegister with no arguments seems to do nothing: https://github.com/prometheus/client_golang/blob/v1.20.5/prometheus/registry.go#L403 * op-e2e: Move interop action test helpers to a separate package. (#14204) * ci: Put test vectors on Docker (#14207) * feat: add up metric to runner (#14200) * feat: add up metric to runner * Don't parameterize vm-runner up metric * Remove useless MustRegister() * op-batcher: Lower default active seq check duration to 5s (#14213) Throttling depends on the batcher always being pointed at the active sequencer. So the check should happen much more frequently. * op-batcher: add channel_queue_length gauge metric (#14212) * op-batcher: add channel_queue_length gauge metric * update NoopMetrics * integrate new metric behaviour into unit tests * move metric update outside of loop * Maur/set unfrozen files (#14186) * ci: only run check-frozen-files against develop * feat: change from disallow listing to an explicit allowlist * ctb: updated readme * fix shellcheck * ci: add check for target branch --------- Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * interop: Add metrics tracking Cross-validated blocks. (#14211) * Two fixes 1) Fix getBlock - it never actually pulled in transactions 2) fix nil pointer possible deref (#14188) * Fix getBlock - it never actually pulled in transactions * exit with error if base fee is nil * fix test-upgrade-against-anvil env vars (#14167) * fix test-upgrade-against-anvil env vars * remove unnecessary --no-match-path * op-deployer: Delete unused OPCM deployer (#14219) * ci: Move sanitize onto Docker executor (#14217) * ci: Move sanitize onto Docker executor * apt update * op-chain-ops: vm.computeCreateAddress cheatcode (#14222) * add cannon folder tests to upgrade test and coverage (#14221) * feat: add EIP-2935 network upgrade tx (#14110) * feat: add Isthmus network upgrade tx * Update docs * Add Isthmus recent block hash contract test * Fix comment * go.mod: Update op-geth dependency (#14187) * fix: clear out game list for forked tests (#14223) Clears out the game list when running the lessThanNAvailable test on forked networks. Without this change the test would iterate backwards over thousands of dispute games and take 10+ minutes in CI. * op-e2e/deployer: Test QoL improvements (#14208) * op-e2e/deployer: Test QoL improvements - Uses Anvil rather than kurtosis in TestApplyEndToEnd - Adds a timeout to the Anvil runner in case Anvil doesn't start - Creates some utilities to clean up usages of retryproxy - Deletes the dependency set tooling from op-deployer since it isn't needed anymore * port more contracts stuff onto docker * reduce size of upgrade runner * feat: fast unified pre-pr command (#14194) Updates pre-pr to be a one-stop shop for all of your snapshotting and checking needs before committing. Also introduces pre-commit as an alias for pre-pr because pre-commit is a more accurate name for what the command does now. * ops: Add monorepo ops book (#14233) Adds an mdbook documenting the monorepo ops process. * nit fixes (#14166) * nit fixes * nit fixes * improve comments * dependabot(gomod): bump github.com/lmittmann/w3 from 0.17.5 to 0.17.7 (#14236) Bumps [github.com/lmittmann/w3](https://github.com/lmittmann/w3) from 0.17.5 to 0.17.7. - [Release notes](https://github.com/lmittmann/w3/releases) - [Commits](https://github.com/lmittmann/w3/compare/v0.17.5...v0.17.7) --- updated-dependencies: - dependency-name: github.com/lmittmann/w3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-deployer: Fix protocol versions owner (#14184) * op-deployer: Fix protocol versions owner * add some tests, convert to use SR across most methods * lint * devnet-sdk: cleanup field descriptions and json tags (#14239) * ci: Reduce e2e cores (#14238) Allows for more executor concurrency for negligible performance tradeoff. * feat: accelerate BLS precompiles (#14154) * feat: accelerate BLS precompiles * Update precompile contracts fork * Add precompiles to client and add tests * Update precompile test names * chore: add todo and fix empty input handling * Use params from geth * Fix proofs helper hardfork to use Isthmus * Fix typo * op-challenger: Implement SyncValidator for super games (#14209) * op-challenger: Implement SyncValidator for super games * fix broken test * cannon: Tweak sign extension logic (#14185) * cannon: Add some unit tests for SignExtend * cannon: Tweak signExtend logic * cannon: Run semver-lock * cannon: Fix lint error * ctb: move vm.broadcast into createDeterministic (#14243) * ctb: Use startbroadcast/stopbroadcast with createDeterministic This backports https://github.com/ethereum-optimism/optimism/pull/14241 onto develop. While deploying the interop contracts we discovered a bug where nonces would incorrectly increase following calls to `createDeterministic`. This is because `vm.broadcast` will broadcast the _next_ call, but `createDeterministic` sometimes doesn't emit a call at all. This means that (in the case of the Sueprchain deployment) the calls to the input contract's `set` method would be called instead. This in turn caused nonces to increase incorrectly. To fix this issue, this PR updates the Solidity implementation to use `vm.startBroadcast()` and `vm.stopBroadcast()`. This avoids the issue altogether. To prevent further incorrect usages of `vm.broadcast` I also opened https://github.com/ethereum-optimism/optimism/pull/14242 which adds a Semgrep rule to check for this case. * move vm.broadcast into createDeterministic * op-node/rollup/attributes: Add missing EIP1559Params consolidation checks (#14179) * op-node/rollup/attributes: Add missing EIP1559Params consolidation checks * all: use OptimismConfig in consolidation to translate zero attribs * TEST using default config if it cannot be fetched * op-node/node: add ChainOpConfig override and use it instead of a default config * Add ChainConfig's OptimismConfig into rollup.Config * Fix TestGetRollupConfig * revert passing OptimismConfig around it's now part of the rollup.Config * dependabot(gomod): bump github.com/kurtosis-tech/kurtosis/api/golang (#14250) Bumps [github.com/kurtosis-tech/kurtosis/api/golang](https://github.com/kurtosis-tech/kurtosis) from 1.4.3 to 1.4.4. - [Release notes](https://github.com/kurtosis-tech/kurtosis/releases) - [Changelog](https://github.com/kurtosis-tech/kurtosis/blob/main/CHANGELOG.md) - [Commits](https://github.com/kurtosis-tech/kurtosis/compare/1.4.3...1.4.4) --- updated-dependencies: - dependency-name: github.com/kurtosis-tech/kurtosis/api/golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added README to op-dripper (#14165) * fix(op-deployer): don't deploy dachallenge contract when using GenericCommitment (#14248) * op-supervisor: handle out-of-sync on known local-safe tip with already-known source blocks (#14252) * op-supervisor: handle out-of-sync on known local-safe tip with already-known source blocks * op-supervisor: improve logging * op-supervisor: fix fromda test, add test cases * op-supervisor: fix lint * interop: op-supervisor event metrics (#14258) * op-node,op-supervisor: share event metrics code Signed-off-by: protolambda <proto@protolambda.com> * op-node: cleanup noop metrics --------- Signed-off-by: protolambda <proto@protolambda.com> * node: Ignore No-Op Reset Requests (#14256) * op-supervisor: improve logging (#14262) * fix(devnet-sdk): use correct Address type (#14259) * chore: update kurtosis to 1.4.4 (#14255) also add kurtosis client to mise tools. * fix(devnet-sdk): use correct chain ID type (#14261) * fix(devnet-sdk): use correct Address type * fix(devnet-sdk): use correct chain ID type * ci: Log op-e2e output to files (#14257) * ci: Log op-e2e output to files * update log text * fix(devnet-sdk): ensure balances are comparable (#14267) In error cases, make sure we can still compare resulting balances without crashing. In particular, this makes interop_smoke_test skip properly if it can't find a funded wallet to use. * ci: Reduce publish job to daily (#14276) * op-deployer: add architecture diagram (#14281) * op-deployer: add architecture diagram * fix formatting * less verbose diagram description * fix: Orbifying checkout-with-mise. (#14282) * Add bootnodes ran by UL (#14279) * op-conductor: Add HeartbeatTimeout & LeaderLeaseTimeout flags (#14271) * Add MT Cannon audit reports (Coinbase and Spearbit) (#14218) * Add MT Cannon audit report * Fix MT Cannon audit report name Co-authored-by: mbaxter <meredith@oplabs.co> * Add coinbase MT Cannon audit report * Leave "subsequent release" blank for now on audit readme --------- Co-authored-by: mbaxter <meredith@oplabs.co> * feat(devnet-sdk): enable preconditions enforcement (#14268) In some use-cases, failure to meet preconditions is in itself an error. For example, when running acceptance tests against a devnet, we presumably epxect that the acceptance tests should apply. This change adds support for an environment variable DEVNET_EXPECT_PRECONDITIONS_MET=1 that will then mark as failed the tests for which the preconditions are not met by the provided system. * fix: bump patch version for mise orb. (#14290) * feat: pass args thru contracts build commands (#14287) Updates contracts justfile to pass arguments through the build commands. * op-node: fix p2p NAT option (#14280) * op-program: Update test to ensure interop bootstrapping does not load the L2 chain ID local key (#14300) * op-conductor: Add new Raft flags into optional flags list (#14299) * Update op-geth dependency to add uni-mainnet config (#14301) * op-node: Define message expiry time constant (#14296) * op-e2e: Fix fpp bls precompile tests (#14291) * op-challenger: Handle requesting superchain roots beyond the current unsafe head (#14206) * op-e2e: Introduce helpers for building transition states. * op-e2e: Add test for disputing a block prior to the proposal block * op-challenger: Handle requesting superchain roots beyond the current chain head. * Detect not found responses in prestate provider too. * Add test to confirm correct enforcement of trace extension activation. * Add more variants of tests where agreed = disputed. Cover all combinations of trace extension activating. * Remove printf * op-supervisor: Fix AddLink error type and clean up reset logic (#14302) * Fix AddLink error type ; clean up reset logic * fix tests * feat(devnet-sdk): add helper to build execution environment (#14298) * fix: add mirrored restrictions to lite profile (#14295) Adds mirrored compiler restrictions to the lite profile so that all generated artifacts get overwritten when switching between build and build-dev. * ci: make frozen files check depend on contracts-bedrock-build (#14316) This parallelizes the job with contracts-bedrock-build so that results are returned more quickly. * fix(kurtosis-devnet): make logs more readable (#14317) By wrapping the observed errors one layer too deep we were introducing escaped strings into the logs. Now multi-line and quoted strings appear as-is. * kt interop-devnet: enable super-cannon with interop-prestate (#14172) * kt-devnet: switch to geth-teku for l1 (#14305) * op-program: Ensure exec msg inclusion during consolidation (#14101) * op-program: Ensure exec msg inclusion during consolidation * implement timestamp invariants in the program * use msg expiry in rollup config * remove leftover non-working test * op-supervisor: Don't reset when node is far behind (#14324) * op-supervisor: don't reet on all errors (#14326) * feat: Ignore frozen files check by using a PR label (#14247) * feat: Ignore frozen files check by using a PR label * fix: following https://github.com/orgs/community/discussions/26712 * fix: maybe * fix: follow existing pattern * fix: temporarily remove the contracts changed check to make it run * spike: Using jq instead of grep * fix: don't extract labels twice * fix: a bit cleaner output * fix: minor change to trigger CI again * fix: Bring back the change check * feat: Docs * ci: use circleci-agent step halt to end job --------- Co-authored-by: alcueca <alberto@yield.is> Co-authored-by: Maurelian <maurelian@protonmail.ch> Co-authored-by: Maurelian <john@oplabs.co> * op-e2e: Add action test for cascading reorgs in interop fault proofs (#14266) * op-e2e: Add tests for cascading invalidations * Make InboxContract an entity in the DSL. * op-e2e: Focus test cases on consolidation. * op-e2e: Generate correct payload when executing messages. * op-e2e: Skip known failing test with reference to tracking issues. * OPCM: OPPrestateUpdater for L1 Pectra Defense (#13998) * Add a new updatePrestatehash method to the OPContractsManager * deployed * second deployment * Go back to refactor * delete file * format * make diff smaller * even smaller * missing bracket * Go back on refactoring * fix build * fix build * fix build * fix build * fix versions * add snapshots * Add a new updatePrestatehash method to the OPContractsManager * deployed * second deployment * Go back to refactor * delete file * format * make diff smaller * even smaller * missing bracket * Go back on refactoring * fix build * fix build * fix build * fix build * fix versions * fix versions * add snapshots * update snapshots & semver * correct semver * bump OPCM version * move interface to inherit IOPCM * fix interface * update versions * add specs * fix deploy opcm setters * fix deploy opcm setters * changes asked on review & semver-lock * Add non implemented tests for coverage * linting * New tests & semverlock * rewrite hasFDG boolean * semver-lock * fix review comments * pre-pr * semver * semver-lock * semverlock again * final semverlock * fix comment about versions * fix comment about versions * semverlock opcm * feat: test upgrading just the pdg vs. both games * feat: remove unused assertValidGameType() function * review changes * remove unnecessary comment * update interface to fix CI * change file format * rebase * semver lock * valid semlock * rerun ci --------- Co-authored-by: JosepBove <josep@oplabs.co> Co-authored-by: JosepBove <josep.bove.dalmases@gmail.com> Co-authored-by: JosepBove <josep@aave.com> * Use castings according to padding (#14174) * fix: generate salt through uint, retrieve cahinId through bytes20+uint160 * fix: bytes20 is not necessary * fix: generated semver-lock.json * chore: lint * fix: is this what you want? * fix: regenerated semver-lock * chore: bumping version and semver-lock so that CI sees them changing at the same time. * ctb: move vm.broadcast into createDeterministic (#14243) * ctb: Use startbroadcast/stopbroadcast with createDeterministic This backports https://github.com/ethereum-optimism/optimism/pull/14241 onto develop. While deploying the interop contracts we discovered a bug where nonces would incorrectly increase following calls to `createDeterministic`. This is because `vm.broadcast` will broadcast the _next_ call, but `createDeterministic` sometimes doesn't emit a call at all. This means that (in the case of the Sueprchain deployment) the calls to the input contract's `set` method would be called instead. This in turn caused nonces to increase incorrectly. To fix this issue, this PR updates the Solidity implementation to use `vm.startBroadcast()` and `vm.stopBroadcast()`. This avoids the issue altogether. To prevent further incorrect usages of `vm.broadcast` I also opened https://github.com/ethereum-optimism/optimism/pull/14242 which adds a Semgrep rule to check for this case. * move vm.broadcast into createDeterministic * op-node/rollup/attributes: Add missing EIP1559Params consolidation checks (#14179) * op-node/rollup/attributes: Add missing EIP1559Params consolidation checks * all: use OptimismConfig in consolidation to translate zero attribs * TEST using default config if it cannot be fetched * op-node/node: add ChainOpConfig override and use it instead of a default config * Add ChainConfig's OptimismConfig into rollup.Config * Fix TestGetRollupConfig * revert passing OptimismConfig around it's now part of the rollup.Config * dependabot(gomod): bump github.com/kurtosis-tech/kurtosis/api/golang (#14250) Bumps [github.com/kurtosis-tech/kurtosis/api/golang](https://github.com/kurtosis-tech/kurtosis) from 1.4.3 to 1.4.4. - [Release notes](https://github.com/kurtosis-tech/kurtosis/releases) - [Changelog](https://github.com/kurtosis-tech/kurtosis/blob/main/CHANGELOG.md) - [Commits](https://github.com/kurtosis-tech/kurtosis/compare/1.4.3...1.4.4) --- updated-dependencies: - dependency-name: github.com/kurtosis-tech/kurtosis/api/golang dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added README to op-dripper (#14165) * fix(op-deployer): don't deploy dachallenge contract when using GenericCommitment (#14248) * op-supervisor: handle out-of-sync on known local-safe tip with already-known source blocks (#14252) * op-supervisor: handle out-of-sync on known local-safe tip with already-known source blocks * op-supervisor: improve logging * op-supervisor: fix fromda test, add test cases * op-supervisor: fix lint * interop: op-supervisor event metrics (#14258) * op-node,op-supervisor: share event metrics code Signed-off-by: protolambda <proto@protolambda.com> * op-node: cleanup noop metrics --------- Signed-off-by: protolambda <proto@protolambda.com> * node: Ignore No-Op Reset Requests (#14256) * op-supervisor: improve logging (#14262) * fix(devnet-sdk): use correct Address type (#14259) * chore: update kurtosis to 1.4.4 (#14255) also add kurtosis client to mise tools. * fix(devnet-sdk): use correct chain ID type (#14261) * fix(devnet-sdk): use correct Address type * fix(devnet-sdk): use correct chain ID type * ci: Log op-e2e output to files (#14257) * ci: Log op-e2e output to files * update log text * fix(devnet-sdk): ensure balances are comparable (#14267) In error cases, make sure we can still compare resulting balances without crashing. In particular, this makes interop_smoke_test skip properly if it can't find a funded wallet to use. * ci: Reduce publish job to daily (#14276) * op-deployer: add architecture diagram (#14281) * op-deployer: add architecture diagram * fix formatting * less verbose diagram description * fix: Orbifying checkout-with-mise. (#14282) * Add bootnodes ran by UL (#14279) * op-conductor: Add HeartbeatTimeout & LeaderLeaseTimeout flags (#14271) * Add MT Cannon audit reports (Coinbase and Spearbit) (#14218) * Add MT Cannon audit report * Fix MT Cannon audit report name Co-authored-by: mbaxter <meredith@oplabs.co> * Add coinbase MT Cannon audit report * Leave "subsequent release" blank for now on audit readme --------- Co-authored-by: mbaxter <meredith@oplabs.co> * feat(devnet-sdk): enable preconditions enforcement (#14268) In some use-cases, failure to meet preconditions is in itself an error. For example, when running acceptance tests against a devnet, we presumably epxect that the acceptance tests should apply. This change adds support for an environment variable DEVNET_EXPECT_PRECONDITIONS_MET=1 that will then mark as failed the tests for which the preconditions are not met by the provided system. * fix: bump patch version for mise orb. (#14290) * feat: pass args thru contracts build commands (#14287) Updates contracts justfile to pass arguments through the build commands. * op-node: fix p2p NAT option (#14280) * op-program: Update test to ensure interop bootstrapping does not load the L2 chain ID local key (#14300) * op-conductor: Add new Raft flags into optional flags list (#14299) * Update op-geth dependency to add uni-mainnet config (#14301) * op-node: Define message expiry time constant (#14296) * op-e2e: Fix fpp bls precompile tests (#14291) * op-challenger: Handle requesting superchain roots beyond the current unsafe head (#14206) * op-e2e: Introduce helpers for building transition states. * op-e2e: Add test for disputing a block prior to the proposal block * op-challenger: Handle requesting superchain roots beyond the current chain head. * Detect not found responses in prestate provider too. * Add test to confirm correct enforcement of trace extension activation. * Add more variants of tests where agreed = disputed. Cover all combinations of trace extension activating. * Remove printf * op-supervisor: Fix AddLink error type and clean up reset logic (#14302) * Fix AddLink error type ; clean up reset logic * fix tests * feat(devnet-sdk): add helper to build execution environment (#14298) * fix: add mirrored restrictions to lite profile (#14295) Adds mirrored compiler restrictions to the lite profile so that all generated artifacts get overwritten when switching between build and build-dev. * ci: make frozen files check depend on contracts-bedrock-build (#14316) This parallelizes the job with contracts-bedrock-build so that results are returned more quickly. * fix(kurtosis-devnet): make logs more readable (#14317) By wrapping the observed errors one layer too deep we were introducing escaped strings into the logs. Now multi-line and quoted strings appear as-is. * kt interop-devnet: enable super-cannon with interop-prestate (#14172) * kt-devnet: switch to geth-teku for l1 (#14305) * op-program: Ensure exec msg inclusion during consolidation (#14101) * op-program: Ensure exec msg inclusion during consolidation * implement timestamp invariants in the program * use msg expiry in rollup config * remove leftover non-working test * op-supervisor: Don't reset when node is far behind (#14324) * op-supervisor: don't reet on all errors (#14326) * feat: Ignore frozen files check by using a PR label (#14247) * feat: Ignore frozen files check by using a PR label * fix: following https://github.com/orgs/community/discussions/26712 * fix: maybe * fix: follow existing pattern * fix: temporarily remove the contracts changed check to make it run * spike: Using jq instead of grep * fix: don't extract labels twice * fix: a bit cleaner output * fix: minor change to trigger CI again * fix: Bring back the change check * feat: Docs * ci: use circleci-agent step halt to end job --------- Co-authored-by: alcueca <alberto@yield.is> Co-authored-by: Maurelian <maurelian@protonmail.ch> Co-authored-by: Maurelian <john@oplabs.co> * op-e2e: Add action test for cascading reorgs in interop fault proofs (#14266) * op-e2e: Add tests for cascading invalidations * Make InboxContract an entity in the DSL. * op-e2e: Focus test cases on consolidation. * op-e2e: Generate correct payload when executing messages. * op-e2e: Skip known failing test with reference to tracking issues. * OPCM: OPPrestateUpdater for L1 Pectra Defense (#13998) * Add a new updatePrestatehash method to the OPContractsManager * deployed * second deployment * Go back to refactor * delete file * format * make diff smaller * even smaller * missing bracket * Go back on refactoring * fix build * fix build * fix build * fix build * fix versions * add snapshots * Add a new updatePrestatehash method to the OPContractsManager * deployed * second deployment * Go back to refactor * delete file * format * make diff smaller * even smaller * missing bracket * Go back on refactoring * fix build * fix build * fix build * fix build * fix versions * fix versions * add snapshots * update snapshots & semver * correct semver * bump OPCM version * move interface to inherit IOPCM * fix interface * update versions * add specs * fix deploy opcm setters * fix deploy opcm setters * changes asked on review & semver-lock * Add non implemented tests for coverage * linting * New tests & semverlock * rewrite hasFDG boolean * semver-lock * fix review comments * pre-pr * semver * semver-lock * semverlock again * final semverlock * fix comment about versions * fix comment about versions * semverlock opcm * feat: test upgrading just the pdg vs. both games * feat: remove unused assertValidGameType() function * review changes * remove unnecessary comment * update interface to fix CI * change file format * rebase * semver lock * valid semlock * rerun ci --------- Co-authored-by: JosepBove <josep@oplabs.co> Co-authored-by: JosepBove <josep.bove.dalmases@gmail.com> Co-authored-by: JosepBove <josep@aave.com> * fix: generated semver-lock.json * chore: bumping version and semver-lock so that CI sees them changing at the same time. * chore: bump semver-lock.json * chore: bump versions and semver-lock --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: protolambda <proto@protolambda.com> Co-authored-by: alcueca <alberto@yield.is> Co-authored-by: Matthew Slipper <me@matthewslipper.com> Co-authored-by: Sebastian Stammler <seb@oplabs.co> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ControlCplusControlV <44706811+ControlCplusControlV@users.noreply.github.com> Co-authored-by: Samuel Laferriere <samlaf92@gmail.com> Co-authored-by: protolambda <proto@protolambda.com> Co-authored-by: Axel Kingsley <axel.kingsley@gmail.com> Co-authored-by: Yann Hodique <yann@oplabs.co> Co-authored-by: Sam Stokes <35908605+bitwiseguy@users.noreply.github.com> Co-authored-by: blaine <blainemalone01@gmail.com> Co-authored-by: Joshua Gutow <jgutow@oplabs.co> Co-authored-by: Tei Im <40449056+ImTei@users.noreply.github.com> Co-authored-by: Paul Dowman <paul@pauldowman.com> Co-authored-by: mbaxter <meredith@oplabs.co> Co-authored-by: smartcontracts <kelvin@optimism.io> Co-authored-by: Adrian Sutton <adrian@oplabs.co> Co-authored-by: Inphi <mlaw2501@gmail.com> Co-authored-by: Maurelian <john@oplabs.co> Co-authored-by: Zach Howard <zach@oplabs.co> Co-authored-by: Park Changwan <pcw109550@gmail.com> Co-authored-by: Maurelian <maurelian@protonmail.ch> Co-authored-by: JosepBove <josep@oplabs.co> Co-authored-by: JosepBove <josep.bove.dalmases@gmail.com> Co-authored-by: JosepBove <josep@aave.com> * op-supervisor: Fix MinSyncedL1 and add Hash Checks (#14337) * Fix MinSyncedL1 and add Hash Checks * fix test * expand testing * Return error * feat: improve comments on OPPrestateUpdater (#14338) * feat: improve comments on OPPrestateUpdater * lint * snapshots * feat: don't do interfaces check in build recipe (#14342) * ctb: Add StandardValidator (#14325) * ctb: Add StandardValidatorV180 Adds a validation contract for chains at version 1.8.0. The contract moves as many checks as possible from `DeployOPChain.s.sol` into a contract that can be deployed on chain. * add test for new linter rules * test fixes * crr fixes * fix broken semgrep rule * feat: add preinstall and test for EIP-2935 (#14321) * feat: add preinstall and test for EIP-2935 * Fix sender and storage addr * Fix * Add preinstall * dependabot(gomod): bump github.com/minio/minio-go/v7 (#14293) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.84 to 7.0.85. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.84...v7.0.85) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-program: Add v1.5.0-rc.2 prestate hashes. (#14347) * op-program: Simplify block attrs replacement (#14107) And enable unhappy consolidation action test * op-deployer: doc: Fix outdir flag (#14323) * feat: add game type event (#14196) * feat: Ignore frozen files check by using a PR label * fix: following https://github.com/orgs/community/discussions/26712 * fix: maybe * fix: follow existing pattern * fix: temporarily remove the contracts changed check to make it run * spike: Using jq instead of grep * fix: don't extract labels twice * fix: a bit cleaner output * fix: minor change to trigger CI again * fix: Bring back the change check * ci: use circleci-agent step halt to end job * fix: temporarily remove the contracts changed check to make it run * fix: Bring back the change check * fix: temporarily remove the contracts changed check to make it run * fix: Bring back the change check * feat: add game type event * lint and semver-lock * snapshtos * feat: add old dispute game address to event * feat: update semver-lock and oppu interface * feat: bump opcminterop semver too * snapshots * semver semver * fix: Do not assume address(fdg) != 0 --------- Co-authored-by: alcueca <alberto@yield.is> * fix: Added a doctoc recipe to the contracts justfile and updated missing TOCs (#14332) Co-authored-by: alcueca <alberto@yield.is> * kt-devnet: Store local images even for non-native docker driver (#14322) * Opcm/fix missing checks (#14357) * anchor root not 0 * game config checks * add superchainConfig checks * OpChainConfig validations * version bump * semver * versions after rebase * reusable getSuperchainConfig() * feat: Add IHasSuperchainConfig interface * move interface & ignore on check * pre-pr * force build * force build * rerun ci --------- Co-authored-by: Maurelian <maurelian@protonmail.ch> * kurtosis-devnet: self-contained enclaves (#14264) * feat(devnet-sdk): load devnet from URL * feat(kurtosis-devnet): embed output into enclave * op-node: Fix p2p to use default bootnodes if none provided (#14373) * expand set of upgrade tests more (#14245) * expand set of upgrade tests more * make FaultDispute_1v1_Actors_Test work for upgrade tests * fix tests * add skip test comment * fix FaultDisputeGame_Test to work with upgrade tests * fix OptimismPortal2_FinalizeWithdrawal_Test to work with upgrade tests * fixes * fixes * fixes * fixes * fix: exempt frozen files is meta, not status (#14369) Co-authored-by: alcueca <alberto@yield.is> * op-batcher: prevent `SpanChannelOut` RLP bytes overflowing `MaxRLPBytesPerChannel` (#14310) * fix op-batcher pack over MaxRLPBytesChannel * add test cases from different CompressionAlgo * add fresh compression logic and corresponding comments * refactor: enhance MaxRLPBytesPerChannel test * refactor: rename variable and add required messages * ctb: Add StandardValidatorV200 (#14362) * ctb: Add StandardValidatorV200 Also refactors the validators to share common base logic. * CR updates * fix spec test * snapshots * feat: also snapshot safe storage layout (#14378) * interop: Multi-Managed-Mode (#14363) * supersystem: Multiple Nodes per L2 * Add failing E2E Multi-Node Test * interop: Multi Managed Mode * cap chain processor round-robin * op-batcher: use local-safe to reduce lag during interop sync (#14265) * contracts: EventLogger integration test util contract (#14169) * contracts: EventLogger integration test util contract * contracts: fix EventLogger test lint * op-supervisor: Fix Candidate Cross Safe (#14345) * Fix Candidate Cross Safe * eagerly update cross safe when cross safe updates * op-supervisor: return candidate info with ErrOutOfScope, to inform scope bump * eagerly update cross unsafe * op-e2e: action test cross-chain cross-safe dependency delay * op-e2e: fix interop test util --------- Co-authored-by: protolambda <proto@protolambda.com> * Replace doctoc for md-doc (#14367) * fix: replace doctoc for md-doc * fix: lock the version via specific commit * fix: found in teh docs it is in pip3 as well --------- Co-authored-by: alcueca <alberto@yield.is> * feat: Additional assertions on OPPU happy path (#14383) For a moment I was concerned that because the `OPPU.Implementations` struct is populated with zero addresses, that we would be deploying new broken delayed weths. Fortunately we are reusing the preexisting delayed weths, as this test shows. * cannon: Finalize MIPS contract versions (#14384) * cannon: Finalize mips contract versions * cannon: Run semver-lock * OPCM Fix: Failure when addGameType due to common saltMixer (#14364) * OPCM Fix: Failure when addGameType due to common saltMixer * fix semver * fixes * Update packages/contracts-bedrock/src/L1/OPContractsManager.sol Co-authored-by: Maurelian <john@oplabs.co> * fix semver --------- Co-authored-by: Maurelian <john@oplabs.co> * op-program: Fast canonical block lookup (#14297) * op-program: Fast canonical block lookup * setup eip-2935 system contract predeploy at genesis * simplify tests * improve test cov; double cache size; simplify code * fix canon cache reset at genesis test * docs: we've got `pre-pr` (#14370) Co-authored-by: alcueca <alberto@yield.is> * Added footer to op-deployer (#14374) * cannon: Code freeze mips contracts (#14407) * feat(devnet-sdk): first prototype for tx builder (#14112) This introduces common interfaces and implementations for building arbitrary transactions, and processing them. Going forward, this will be helpful to cover the DSL capabilities needed to validate tx-centric expectations. The interfaces are very much a work in progress, but they already have some nice properties, like the fact that they can be implemented in isolation (the interfaces manipulate only other interfaces and pure data objects). * perf(kt-devnet): use deterministic tarballs of contract code to make fileserver runs idempotent (#14365) * fix: reduce context size for docker images (#14409) This change tries to trim further the set of artifacts that land in the docker build context for images that contribute to kurtosis devnets. We would like idempotent builds to be as fast as possible. * op-supervisor: Return the replaced block's output root as pending output. (#14402) * op-supervisor: Set initial sync status for all chains in dep set (#14400) * fix(kt-devnet): make docker images idempotent (#14410) Provenance attestations contain, among other things, a timestamp for the build, which immediately makes the build non-reproducible. This in turn creates unnecessary churn for the devnet, as each image appears different even when it has the exact same content. Conversely, skipping provenance is not really an issue in a devnet environment. * op-service: fix error handling in LoadOPStackChainConfigFromChainID (#14395) The error should be returned if it is NOT nil. Otherwise, nil will returned in both cases. * Update DeployUtils semgrep rule to catch any cases where args are NOT used (#14387) * add semgrep rule that checks that all calls to DeployUtils.create* functions must use named arguments * add semgrep tests for "sol-safety-deployutils-named-args" * make _args a compulsory arg to DeployUtils.create* functions * make _args a compulsory arg to DeployUtils.create* functions * fixes * catch panic in step (#12202) * op-program: Load DependencySet from boot config (#14366) * op-program: Load DependencySet from boot config * use depset interface; fix TODOs * replace chain index with actual index * use depset interface in host config * op-service: fix isthmus block-attributes handling (#14361) * op-service: fix withdrawals-root verification, missing check-block-hash attributes, and add missing implied requests-hash * op-node: fix isthmus gossip block validator tests * op-node: fix TestBlockValidator test cases * op-supervisor: Use ForceWithParent when attaching a Zero-Block (#14418) * op-program: add execution witness hints to remove dbGet dependency (#12559) * feat: add account proof and execution witness hints * Improve hinter abstraction and remove hClient drilling * Clean up tests * Fix large chain ID handling * Fix large chain ID handling * Add comment explaining request for proof of 0 storage slot. --------- Co-authored-by: Adrian Sutton <adrian@symphonious.net> Co-authored-by: Adrian Sutton <adrian@oplabs.co> * op-supervisor: Anchor Point Initialization Fixes (#14377) * op-supervisor: Anchor Point Initialization Fixes * gate update functions behind initialization signal * Extend tests to ForceInitialize or test Anchor Point correctly * op-supervisor: make fromda DB more strict (#14375) * op-supervisor: make fromda DB more strict, handle corruption edge case, add more tests * op-supervisor: improve db invariant test check * op-supervisor: fix rewinder test to bump L1 source scope before adding blocks * backend: Fully rename DerivedFrom -> Source (#14320) * op-e2e: Use RPC client to query op-supervisor in action tests (#14351) * op-e2e: Use RPC for querying the supervisor. * op-supervisor: Extract registration of RPC APIs to reuse in action tests. * op-e2e: Expose client methods directly. --------- Co-authored-by: protolambda <proto@protolambda.com> * op-e2e: Add message expiry action test (#14346) * op-e2e: Add message expiry action test * update test fixture * fix comment * reduce messag expiry time * Add DSL option to repeat block creation until a timestamp is reached * restore test skip --------- Co-authored-by: Adrian Sutton <adrian@oplabs.co> * op-deployer: remove strict intent type (#14388) * op-deployer: remove intent-config-type strict * rename intent-config-type to intent-type * fix: eip150 safe try/catch blocks (#14144) Requires developers to explicitly mark try/catch blocks as safe from EIP-150 (cue facebook notification). Implements a fuzz test that demonstrates that closeGame is safe from EIP-150. * chore(devnet-sdk): Polish types & prepare for usage outside of the monorepo (#14350) * feat: Constraints, WalletBalanceConstraint * feat: Chain implementation * feat: System interfaces * feat: System * chore: Types * feat: Wallet * chore: Mocks * feat: Testlib (wallet acquirers) * chore: Interop test * chore: Mocks * chore: Drop unused mockTransactionProcessor * fix: Types * fix: Tests * fix: Unused fields * dependabot(gomod): bump github.com/lmittmann/w3 from 0.17.7 to 0.17.8 (#14381) Bumps [github.com/lmittmann/w3](https://github.com/lmittmann/w3) from 0.17.7 to 0.17.8. - [Release notes](https://github.com/lmittmann/w3/releases) - [Commits](https://github.com/lmittmann/w3/compare/v0.17.7...v0.17.8) --- updated-dependencies: - dependency-name: github.com/lmittmann/w3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-proposer: Support retrieving proposals from op-supervisor (#14392) * op-proposer: Naive wrapping of rollup client. * op-proposer: Support retrieving proposal data from op-supervisor. * Fix test * op-proposer: Reduce level of abstraction for providers * op-e2e: Fix block number in proposals. * op-e2e: Add e2e test for proposing super roots. * op-supervisor: Add unit tests for safe and finalized sync status. * op-e2e: Push propopser creation into dsl. * op-proposer: Only log L1Head if it is available from legacy data. * op-proposer: Refactor source into a separate package. * Rename method. * Rename param. * Increase timeout * op-challenger: Support super permissioned game type. (#14403) * fix: kt-devnet failed with arm (#14414) * fix: kt-devnet failed with arm * fix * fix * fix: remove isGameAirgapped (#14139) Removes isGameAirgapped because it's essentially just a duplicate of isGameFinalized if it properly accounts for game resolution. * fix opcm addGameType delayedWETH collision (#14430) * fix opcm addGameType delayedWETH collision * use game type uint as the differenciator * ctb/op-deployer: Add bootstrap command for validator contracts (#14391) * ctb/op-deployer: Add bootstrap command for validator contracts * compiler version * remove unused import * fix semgrep * feat: Introduce Interop Fault Dispute Games (#14308) * Initial copy * snapshots * semantic version for pre-release * my size was not size * semver lock fixed oops * added spec tests * fix initialization test * allow modifying super fdg * Update packages/contracts-bedrock/src/dispute/SuperPermissionedDisputeGame.sol Co-authored-by: Inphi <mlaw2501@gmail.com> * Update packages/contracts-bedrock/src/dispute/SuperPermissionedDisputeGame.sol Co-authored-by: Inphi <mlaw2501@gmail.com> * Update packages/contracts-bedrock/src/dispute/SuperFaultDisputeGame.sol Co-authored-by: Inphi <mlaw2501@gmail.com> * removed new fdg types * fixed diff with FDG * snapshot * semgrep * semgrep * Add in new game type --------- Co-authored-by: Inphi <mlaw2501@gmail.com> * op-program: Load custom embedded dependency sets (#14423) * op-program: Load custom embedded dependency sets. * op-program: Load an array of custom dependency set configs and find the required chain in them. * op-deployer: add alias for intent-type flag (#14428) * ctb: Fix delayedweth owner check (#14434) * fix: AnchorStateRegistry: remove blacklist check in `getAnchorRoot` (#14232) * remove blacklist check in getAnchorRoot * chore: update ASR version --------- Co-authored-by: Kelvin Fichter <kelvinfichter@gmail.com> * fix: have ci checks use git status porcelain (#14437) git status --porcelain is better than git diff --exit-code because it will also detect net new files. * fix(ci): also clean new files (#14443) Updates the contracts check task so that it will also clean any new files that are generated by the provided commands. * full freeze of u13 affected contracts until release (#14439) * full freeze of u13 affected contracts until release * also portal * Simplify Versioning and move release-to-contract information on-chain (#14314) * feat: Simplify versioning and move release-to-contract information on-chain * adding some extra context on how versioning is enforced, and how it should be maintained * fix: Use `p…
Contributor
Author
|
@sbvegan @cpengilly this was merged. |
Rjected
pushed a commit
to paradigmxyz/optimism
that referenced
this pull request
Mar 18, 2025
Rjected
added a commit
to paradigmxyz/optimism
that referenced
this pull request
Mar 18, 2025
* feat: add IRI security review by OffbeatLabs (ethereum-optimism#14319) Adds the Incident Response Improvements security review by offbeat labs. * feat: op-deployer cleanupAfterExit, unit tests cleanup and clean cache subcmd (ethereum-optimism#14488) * feat: op-deployer clean cache command Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co> * lint Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co> * chore: cleaner dealing with test dir Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co> * chore: refactor the IsolatedTestDirWithAutoCleanup and break import cycle Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co> * chore: small cleanup Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co> --------- Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co> * feat(op-program-svc): introduce new service to compute prestates (ethereum-optimism#14493) * feat(op-program-svc): introduce new service to compute prestates * test(op-program-svc): add tests * Update kurtosis-devnet/op-program-svc/README.md Co-authored-by: Inphi <mlaw2501@gmail.com> --------- Co-authored-by: Inphi <mlaw2501@gmail.com> * op-service: make signer client compatible with SetCodeTx type (ethereum-optimism#14489) * op-service: make signer client compatible with SetCodeTx type * use hexutil.U256 instead of hexutil.Big * add explanatory comments * Fix authorizationList json tag Co-authored-by: protolambda <proto@protolambda.com> * use helper fcn with panic for big.Int to uint256.Int * use uint256.MustFromBig instead of custom helper --------- Co-authored-by: protolambda <proto@protolambda.com> * maint: clean up security reviews table, update codeowners (ethereum-optimism#14523) Cleans up the security reviews table because it had some errors and a few missing entries. Updates codeowners so that the security reviewers team can merge into the docs folder. * chore: Update drippie config files with actual config from runbook (ethereum-optimism#14451) * Avoid lookup twice (ethereum-optimism#14354) * vm-runner: Add metrics to track vm panics (ethereum-optimism#14504) * Treat non-zero vm exits as a special case * Only handle panics as a special case * Add more tests * Record panic metrics * Tweak error message * update links in directory structure after PRs ethereum-optimism#12968 & ethereum-optimism#12828 (ethereum-optimism#14525) * feat: do not alias 7702 addresses (ethereum-optimism#14506) Updates the OptimismPortal to not alias 7702 addresses. Updates several other contracts to use a standard library for checking if the msg sender is an EOA. * Revert "Added footer to op-deployer (ethereum-optimism#14374)" (ethereum-optimism#14528) This reverts commit 9d94936. * op-batcher: always `updateCursorAndMetrics` when returning from `processBlocks()` (ethereum-optimism#14520) * op-batcher: always updateCursorAndMetrics when returning from processBlocks() * Update op-batcher/batcher/channel_manager.go Co-authored-by: Sebastian Stammler <seb@oplabs.co> --------- Co-authored-by: Sebastian Stammler <seb@oplabs.co> * fix(devnet-sdk): Unique sentinels for devnet-sdk (ethereum-optimism#14514) * fix: Unique markers for devnet-sdk * chore: Add a test * feat: remove freeze from L1 and dispute contracts (ethereum-optimism#14438) * op-challenger: Avoid loading duplicate leaves in same block (ethereum-optimism#14516) * op-challenger: Avoid loading duplicate leaves. * op-challenger: Sanity check length of fetched input data. Provides a clearer error message if the fetch is incorrect rather than just InvalidProof() revert reason. * op-challenger: Deduplicate blocks in contract bindings. * Deduplicate block numbers in test setup now that the contract bindings handle it. * Fix more tests. * feat: semgrep rules and check for reinitializer modifiers (ethereum-optimism#14534) Adds semgrep rules and a new golang contracts check for reinitializer modifiers. Important safety checks now that we are using upgrade functions. * Update 404 link VERSIONING.md (ethereum-optimism#14519) * all: update op-geth to v1.101500.1 (ethereum-optimism#14500) * all: update op-geth to v1.101500.1 * op-batcher,op-e2e/system: Take floor data gas into account, fix AutoDA test Fixes ethereum-optimism#14513 * Fix EIP-2935 implementation and tests * op-program/client/l2: Fix chainContext.Config() to return actual cfg * op-program/client/l2/test: Nilify chain config blob schedule * update op-geth v1.101500.2-synctest.4 * Replace IntrinsicGas with FloorDataGas for calldata estimations * Remove static MaxBlobsPerBlobTx constant * update op-geth/v1.101500.2-rc.1 * revert usage of params.HistoryServeWindow * Retry chain-id queries (ethereum-optimism#14539) * devnet-sdk: Fix casing in book theme (ethereum-optimism#14545) * chore: Fix another footer (ethereum-optimism#14548) * op-supervisor: Check message expiry (ethereum-optimism#14463) * op-supervisor: Check message expiry * add safe_update tests * fix override expiry window description * log warn when overriding expiry window * lint * fix tests * Fix supervisor_checkMessages; use ErrConflict * tweak supervisor_checkMessages API * add supervisor_checkMessagesV2 * update op-geth dependency * move override to depset config; fix checkMessagev1 * go.mod: drop diff again, op-geth was updated in develop branch --------- Co-authored-by: protolambda <proto@protolambda.com> * op-challenger: Add Super DG contract caller (ethereum-optimism#14551) * op-challenger: Add Super DG contract caller * op-dispute-mon: Support Super FDG game types * op-node: Remove OverrideMessageExpiryTimeInterop from rollup.Config (ethereum-optimism#14554) * op-node: Remove OverrideMessageExpiryTimeInterop from rollup.Config * fix test fixture * feat: remove DeployOPCM (ethereum-optimism#14556) * Add updated MT Cannon Spearbit audit (ethereum-optimism#14497) * op-batcher: remove `ChannelManager.CheckExpectedProgress()` and add channel timeout log (ethereum-optimism#14553) * op-batcher: remove ChannelManager.CheckExpectedProgress * op-batcher: add warning log when a channel times out on chain * optimize context usage (ethereum-optimism#14558) * Add 64-bit tests for signExtend (ethereum-optimism#14543) * op-batcher: correctly track block metrics in `handleChannelInvalidated()` (ethereum-optimism#14561) * op-batcher: correctly track block metrics in handleChannelInvalidated Includes test which fails without the fix. * op-batcher: log out channels which are dropped during handleChannelInvalidated() * change to warn log for dropped channels * op-batcher: improve `computeSyncActions()` logging (ethereum-optimism#14563) * improve computeSyncActions logging * fixup test and make sure all cases run (!) * use more friendly format for structured logger * feat: Remove BlockNumber Dispute for SuperFaultDisputeGame + SuperPermissionedGame (ethereum-optimism#14431) * Initial copy * Make tests work * snapshots * semantic version for pre-release * my size was not size * semver lock fixed oops * added spec tests * fix initialization test * allow modifying super fdg * Update packages/contracts-bedrock/src/dispute/SuperPermissionedDisputeGame.sol Co-authored-by: Inphi <mlaw2501@gmail.com> * introduced the deploy scripts * added in new tests * Update packages/contracts-bedrock/src/dispute/SuperPermissionedDisputeGame.sol Co-authored-by: Inphi <mlaw2501@gmail.com> * Update packages/contracts-bedrock/src/dispute/SuperFaultDisputeGame.sol Co-authored-by: Inphi <mlaw2501@gmail.com> * Patches * fix tests * remove unused errors * new snapshots * semver bump * more snapshots * vm() * fixed spec tests * snapshot + fix tests * fix tests * delete actors tests * unused imports * fix fork tests * fix tests * new test case * use new prestate for deployment * Remove Unused l2ChainId * fix tests * fix tests + snapshot * missed one * correct snapshot --------- Co-authored-by: Inphi <mlaw2501@gmail.com> Co-authored-by: Michael Amadi <amadimichaeld@gmail.com> * op-supervisor: independent reset preparation (ethereum-optimism#14444) * interop: recovery draft * Create consistencyState ; Wire required Backend Functions * Full bisection ; block events during reset ; send reset signal * unit test and fixes * Cancel Reset if L1 Rewinds * lint * address comments ; fixes for tests * Fix Unit Tests * Add round-trip NodeID to Local Safe Updates (for ideal consistency tracking) * op-supervisor,op-node: fixes to handle interop startup and resets * refactor resetTracker ; fix E2E test * Address PR Comments --------- Co-authored-by: protolambda <proto@protolambda.com> * op-program, op-challenger: Reduce number of steps per timestamp to 128 (ethereum-optimism#14572) * op-program, op-challenger: Reduce number of steps per timestamp to 128 * Fix disputeed trace index. * op-test-sequencer: initial service scaffolding (ethereum-optimism#14270) * op-test-sequencer: initial service framework * op-test-sequencer: readme and justfile * ci: only tag finalized Docker images as 'latest' (ethereum-optimism#14582) * Match OPCM version with monorepo release version (ethereum-optimism#14455) * docs: We were still discussing some points about versioning * fix: `isRC` is automatically set to false * fix: reverted the versioning rules after the first change * feat: explain why we have individual contract versioning * feat: notes on deprecating `version()` * docs: clearer branch denominations * docs: when to remove `version()` Co-authored-by: Matt Solomon <matt@mattsolomon.dev> --------- Co-authored-by: alcueca <alberto@yield.is> Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * interop: Recursive hazard detection (ethereum-optimism#14453) * refactor,tweak: Add new HazardSet type and add recursive hazards. * tweak: Update op-program consolidate.go to use new HazardSet. * cleanup: Move map lookup into if. * tests,cleanup: Use existing mock dependency set. * fix * tests,cleanup: Improve and cleanup HazardSet tests. * op-program: Fix log index of executing messages in block * fix: Re-add message expiry check from 1d05a2a. * cleanup: Remove repeated log. * tweak: Remove hazard recursion limit. * docs: Update comment in (un)safe update tests to be accurate. * tests: Update test comments and restore missing cycle tests. * cleanup: Remove line break from fn sig. * fix: Resolve merge issues in consolidate.go. * fix: Use new message expiry window getter in consolidate.go. * tests: Remove first skip in CascadeInvalidBlock. * refactor: Cleanup HazardSet.build and split checks out into helpers. * fix: Re-remove legacy expiry check after merge conflict. --------- Co-authored-by: inphi <mlaw2501@gmail.com> * op-service: check if TLS is enabled and move middleware (ethereum-optimism#14571) * op-service: check if TLS is enabled * op-service: apply RPC middlewares globally * op-service: apply RPC middlewares before RPC but after health * op-service: test health before middleware * feat: bytecode verification script (ethereum-optimism#14589) Adds a script that makes it easy to verify that the bytecode you have in a local artifact matches the bytecode of a contract on a live network. * op-e2e: Write jwt.secret to a temp dir instead of into the source code tree. (ethereum-optimism#14575) * default to the correct gameType (ethereum-optimism#14591) * Interop: Rewind tests (ethereum-optimism#14289) * interop,fix: Treat missing L1 block as non-canonical. * interop,tests: Add more Rewinder test cases. * interop,tests: Remove unncessary error return. * op-batcher: introduce `PREFER_LOCAL_SAFE_L2` config var (ethereum-optimism#14587) * op-batcher: introduce PREFER_LOCAL_SAFE_L2 config var * lint * Apply suggestions from code review Co-authored-by: Sebastian Stammler <seb@oplabs.co> * lint --------- Co-authored-by: Sebastian Stammler <seb@oplabs.co> * op-deployer: Start finalizing support for v2.0.0 (ethereum-optimism#14557) * op-deployer: Start finalizing support for v2.0.0 * remove stdvertoml * remove another usage of stdvertoml * goimports * update to latest SR * bump SR again * Add updated sepolia SV200 addresses * update v200 validator * fix test * Update op-deployer/book/src/reference-guide/releases.md Co-authored-by: Matt Solomon <matt@mattsolomon.dev> --------- Co-authored-by: Maurelian <maurelian@protonmail.ch> Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * mipsevm Memory Merklization Abstraction (ethereum-optimism#14292) * Abstract the Merkle representation * Implement asterisc's MPT * migrate tests for mpt * migrate tests for mpt * copied benchmarks from asterisc * fix failed merge * Avoid pagelookup twice during setword invalidation * fix state json codec test * fix for singlethread too * fix op-challenger test * Remove MPT implementation * address comments * fix benchmark * Update README.md (ethereum-optimism#14590) * remove devnetL1 files (ethereum-optimism#14619) * feat: implement EIP-7251, EIP-7002 end-to-end test (ethereum-optimism#14253) * feat: implement EIP-7251 end-to-end test * Add missing import * Fix rebase issue * Fix lint * Ensure requests hash is empty * Move to action test * Remove untested EIP from comment * feat: add acceptance test for BLS precompiles (ethereum-optimism#13934) * feat: add acceptance test for BLS precompiles * Fix get proof block hash * Revert get proof block hash change * Test all BLS precompiles * Add reference to test vectors * Fix test name * Add test before activation and remove extra geth test logic * op-node: drop stale todo in finality code (ethereum-optimism#14620) * op-test-sequencer: structure sub-responsibilities (ethereum-optimism#14501) * op-test-sequencer: structure sub-responsibilities * op-test-sequencer: update todo comment with issue number * ctb: Split up the OPCM (ethereum-optimism#14600) * ctb: Split up the OPCM * CR updates * Update packages/contracts-bedrock/src/L1/OPContractsManager.sol Co-authored-by: smartcontracts <kelvin@optimism.io> * snapshots --------- Co-authored-by: smartcontracts <kelvin@optimism.io> * ctb: Add upgrade 14 upgrader (ethereum-optimism#14612) * Remove redundant TODOs (ethereum-optimism#14610) * op-e2e: Remove completed TODO * op-test-sequencer: Remove TODO - ws support is not required here. * op-supervisor: Remove TODO - RPC() method is intended to only return HTTP URLs. * op-chain-ops: Remove TODO about making number of keys configurable. The issue for this was closed with the decision that it didn't need to be configurable. * op-program: Remove no longer relevant TODOs * Undo script changes. * Undo whitespace change. * op-e2e: cleanup unused MessageExpiryTime from interop recipe (ethereum-optimism#14634) * op-dispute-mon: Support interop (ethereum-optimism#14598) * op-dispute-mon: Add support for super root game types. * op-dispute-mon: Switch to a single getter method for determining root type. * op-dispute-mon: Don't init rollup client if rollup-rpc is not set. * contracts: Add solvency invariant test for Super FDG (ethereum-optimism#14555) * contracts: Add solvency invariant test for Super FDG * lint * todo-checker: Fix handling of error codes. (ethereum-optimism#14611) Now fails if it hits rate limits or other errors instead of silently ignoring. Improves output to show all TODOs for closed issues. * op-e2e: Update dispute game helpers to support SuperSystem and super cannon game types (ethereum-optimism#14574) * op-e2e: Update dispute game helpers to support SuperSystem and super cannon game types. * Switch back to permissioned cannon as default super system game type until OPCM supports super games Don't deploy super games to pre-interop system * Plural or genesis is actually geneses * Add extra info in top half of super games. * Move interop utils to new file. * Add nil check. * Remove completed todo (ethereum-optimism#14640) * ops: Add docs around bailiff re-runs (ethereum-optimism#14632) * contracts: rm not used format (ethereum-optimism#14593) Signed-off-by: jsvisa <delweng@gmail.com> * op-program: Consolidate cascading block replacements (ethereum-optimism#14622) * op-program: Consolidate cascading block replacements Blocks containing invalid messages affect the cross-safety of its dependencies. This is because once the block is replaced with a deposits-only block, any messages it contained would no longer exist. And thus, executing messages that referenced the non-existent messages become invalid as well. To deal with this, consolidation runs until all cross-depedencies are reconciled against deposits-only updates. * consolidate oracle * op-e2e: intra-block cascade action case * add unit tests for consolidate oracle * always store state diff for the deposits-only block build * add output root to block build db * updated transition state view in consolidate oracle * lint * fix(devnet-sdk): allow in-place redeployment (ethereum-optimism#14412) Currently, the last step of the deployment (storing the devnet descriptor into the enclave) fails the 2nd time around. As kurtosis API doesn't allow us to overwrite an artifact, we sidestep the issue by storing successive generations of the descriptor. Also adjust the environment fetcher to detect and load the last generation. * devnet-sdk: Use geth logger instead of slog (ethereum-optimism#14644) * Use testlog and geth log instead of slog * Support devnet-sdk balance type for geth logging * Update README for using testlog * add flags: `txmgr.max-basefee` and `txmgr.max-tip-cap` (ethereum-optimism#13382) * add flags: txmgr.max-basefee and txmgr.max-tip-cap * add TestMaxFees * address comment * mod error msg * ctb: Add contracts book (ethereum-optimism#14643) * Adress and remove todo (ethereum-optimism#14646) * dependabot(gomod): bump github.com/klauspost/compress (ethereum-optimism#14436) Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress) from 1.17.11 to 1.18.0. - [Release notes](https://github.com/klauspost/compress/releases) - [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml) - [Commits](klauspost/compress@v1.17.11...v1.18.0) --- updated-dependencies: - dependency-name: github.com/klauspost/compress dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: update message passing for EIP7623 (ethereum-optimism#14608) * feat: update message passing for EIP7623 Updates the way that gas limits are handled in the message passing system to account for EIP-7623. Most significant change is to make the baseGas calculation inside of CrossDomainMessenger more principled. * fix: clean up XDM tests * fix: apply EF byte change to all code * fix: add OPPrestateUpdater to allow list * fix: add changes to OPCM upgrade * Add upgrade 13 audit (ethereum-optimism#14647) * op-supervisor: cleanup stale todo comment (ethereum-optimism#14648) * Test upgrades on a list of chains (ethereum-optimism#14358) * prepare upgrade parameters * Archive rpcs * change var type rerun * rerun ci * rerun ci * bump block number * remove context * set cached block number * try to solve error * move block number to justfile * update just file * update blocknumber on upgrades ci * remove last config edit * fix config * Update packages/contracts-bedrock/justfile Co-authored-by: Maurelian <john@oplabs.co> * move logic to pinnedblocknumber * fix * fix just file * fix again * back to just * remove char to rerun CI * readd char to rerun CI * add env to pinned block * back to og name for merge * only op-mainnet * use current block number --------- Co-authored-by: Maurelian <john@oplabs.co> * isthmus: operator fee (ethereum-optimism#12166) * feat: update IL1Block and info * feat: update SystemConfig * feat: add operator fee vault * feat: handle transactions at Istmus activation * feat: update GasPriceOracle * feat: update deployment * chore: update snapshots and semvers * fix: GasPriceOracle nits * fix: operator fee scalars ordering * fix: handle feedbacks * feat: remove operator fee vault constructor arguments * chore: update e2e TestFees to handle operator fee * chore: update snapshots * fix: remove operator fee vault parameters on deployment * feat: handle overflow for operator fee in GasPriceOracle * chore: fee test * chore: add e2e test to ensure operator fee doesn't ends up minting or burning eth * fix: tests * chore: use operator fee OP Geth branch for CI * fix: tests * fix(op-node): ordering of network upgrade txs * fix: semver lock * fix: sys config interop * fix: semver lock * fix: arithmetic return args * fix: semver lock fix: semver lock fix: semver lock fix: semver lock fix: semver lock * update system config interop * fix: sys config interop semver lock * fix: trailing newline * chore: update tag * fix: point to Isthmus by default * fix: TestParseL1InfoDepositTxData * Update test to catch Alice balance underflow * fix: Test_Operator_Fee_Constistency chore: update go.mod * chore: update tag * fix: operator fee are nil in receipts if both are 0 * chore: set the correct op-geth tag * fix: handle sebastianst feedbacks * fix: another round of feedbacks * nit: useless cast * chore: remove beta in contract versions chore: update contracts versions * chore: more comments on contract versions * fix semgrep * preinstall compilers * schema * indent * add yes pipe * ignore yes code * try echo * try wiping out the svm dir --------- Co-authored-by: leruaa <aurelien.catinon@gmail.com> Co-authored-by: refcell <abigger87@gmail.com> Co-authored-by: Teddy Knox <teddyknox@gmail.com> Co-authored-by: Matthew Slipper <me@matthewslipper.com> * feat: handle operator fee in OPCM (ethereum-optimism#14662) * feat: handle operator fee in OPCM * fix: upgrade version * feat: check implementation address * op-deployer: `l1-rpc-url` is not needed when `deployment-target` is `genesis` (ethereum-optimism#13515) * l1-rpc-url is only needed when deployment-strategy is live * address comment * Decouple node from chain (ethereum-optimism#14660) * op-conductor: Remove block time check for unsafe head progress (ethereum-optimism#14655) * remove block time check for unsafe head progress * fix test for this case * slightly more succinct * fix sequencer mock to stay healthy * fix: remove requests processing step (ethereum-optimism#14623) * fix: remove requests processing step * Keep processing steps, but disable for Isthmus * Update geth version * op-e2e: Configurable blocktime setup for interop (ethereum-optimism#14672) * all: update op-geth to v1.101503.0 (ethereum-optimism#14560) * replace vm.AccountRef with common.Address * op-chain-ops: replace prankRef by common.Address * mise: update golangci-lint to 1.64.5 * op-chain-ops: fix prank handeCaller * update to canonical op-geth version * ct docs: update release process without suffixes in contract semvers (ethereum-optimism#14682) * ct docs: update release process without suffixes in contract semvers * ct docs: discourage code freeze on trunk * ct docs: update the additional release candidate process * ct docs: precribe a method for avoiding semver collisions * Fix broken link in versioning.md (ethereum-optimism#14688) * Fix broken link * Fix again :) * Fix another broken link * op-node: continue sequencing when `L1TemporaryErrorEvent` happens (ethereum-optimism#14062) * continue sequencing when L1TemporaryErrorEvent happens * add TestSequencerL1TemporaryErrorEvent * address comment * fix test * op-challenger: Add config option to set dependency set config (ethereum-optimism#14666) * op-challenger: Add config option to set dependency set config * Fix expected error message * Add 1.5.0-rc.3 to releases.json (ethereum-optimism#14695) * ci: Enforce correct formatting for TODOs. (ethereum-optimism#14639) Fix the few TODOs that didn't correctly reference issues. No requests to github are made when not checking closed issues. Ensures this runs fast and reliably in CI pre-merge. Closed issues are then checked with a scheduled job. * op-challenger: Update op-program executor to handle interop properly (ethereum-optimism#14667) * op-challenger: Add config option to set dependency set config * Fix expected error message * op-challenger: Update op-program executor to handle interop inputs. * Add ToSuper() method to convert super reponse to Super instance. (ethereum-optimism#14670) * Add ToSuper() method to convert super reponse to Super instance. Fix op-supervisor so it includes the Version in responses. * op-proposer: Only enforce supported version of output roots on rollup source. * op-challenger: Fix tests * Add devnet-sdk validators for fork configuration (ethereum-optimism#14668) * Improve address management in kurtosis-devnet and devnet-sdk (ethereum-optimism#14703) * kt-devnet: add missing network params for supervisor (ethereum-optimism#14708) * show more error info when EngineAPIError is returned (ethereum-optimism#14673) * Misc renames for clarity to fields in devnet-sdk and kurtosis-devnet (ethereum-optimism#14705) * Improve address management in kurtosis-devnet and devnet-sdk * Perform various renames for clarity in kurtosis-devnet and devnet-sdk * fix(op-deployer): goreleaser linker flags for rendering version (ethereum-optimism#14344) Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co> * feat: rm unnecessary generic type arguments (ethereum-optimism#12663) * op-chain-ops: rm generic unnecessary type arguments Signed-off-by: jsvisa <delweng@gmail.com> * op-conductor: rm generic unnecessary type arguments Signed-off-by: jsvisa <delweng@gmail.com> * op-service: rm generic unnecessary type arguments Signed-off-by: jsvisa <delweng@gmail.com> * op-chain-ops: rm +1 Signed-off-by: jsvisa <delweng@gmail.com> --------- Signed-off-by: jsvisa <delweng@gmail.com> * ops: remove outdated legacy env rc example (ethereum-optimism#14724) * Ingest L1 Chain ID into devnet-sdk (ethereum-optimism#14704) * Improve address management in kurtosis-devnet and devnet-sdk * Import L1 chain ID into devnet-sdk context * Unfreeze MIPS contracts (ethereum-optimism#14726) * cannon: Consolidate state version logic (ethereum-optimism#14725) * Consolidate state version logic, add helpers to simplify updates * Move version-related tests * Use consistent casing * contracts: use full compiler target for semver key (ethereum-optimism#14722) * contracts: use full compiler target for semver key * foundry: use_literal_content = true * update check-semver-diff.sh filename parsing * update semver-lock.json * update check-frozen-files allow list to match compiler target names * skip run-contracts-check ci job * use negation to avoid deep nesting * contracts: reenable semver-diff-check in ci (ethereum-optimism#14727) * Refreeze MIPS contracts (ethereum-optimism#14732) * cannon: Add more differential tests (ethereum-optimism#14684) * Add a few more beq, bne test cases * Tweak shift operation tests * Add delay slot tests for jr/jalr * Rework mov tests, add some test cases * Add more slt(u) test cases * Add slti tests * Add sltiu tests * Add test for sync instruction * Rework binary operation tests * Migrate nor test to use binary * Fix comments * op-deployer: add command to verify contracts (ethereum-optimism#14633) * op-deployer: add 'verify' contracts command * fix rate limiter values * verified SuperchainConfigImplAddress * verified superchain bundle (including constructor support) * cleanup logs and flags * cleanup: remove unused code * verified implementations bundle * verified opchain bundle * update searchRemappings comment * use more type-safe structs * use l2-chain-id flag instead of l2-chain-index * update to use new artifacts.Download function definition * read constructor args from deployment tx initcode * return error if contract creation query fails * use more informative contract-name flag description * calc num constructorArgSlots by parsing abi * add json tags (matching contract bundle) to deploy script outputs * bootstrap default to writing to bootstrap_<command>.json file * pass contracts-locator flag to verify command * minimize flags required for bootstrap, verify * fix TestArtifactJSON * add etherscan unit tests * fix go lint errors * make artifact lookup compatible with fragmented opcm * fix go lint errors * use require instead of assert in tests * op-validator: Add mainnet validators (ethereum-optimism#14734) * all: Implement optional PectraBlobSchedule fork/feature (ethereum-optimism#14680) * op-node/rollup: Implement optional L1 Pectra fix * make simple test fail with excess blob gas * improve test, fix L1 miner * fix L1 miner again * geoknee feedback * update op-geth dependency to v1.101503.0-rc.2 * address proto's feedback, add test case * fix static chain cfg tests * Don't split log.msg (ethereum-optimism#14735) Splitting the message makes it hard to grep to find the source of the error. * op-challenger: Interop vm runner (ethereum-optimism#14669) * op-challenger: Add config option to set dependency set config * Fix expected error message * op-challenger: Update op-program executor to handle interop inputs. * op-challenger: Support super-cannon in run trace. * Fixes. * Remove refactoring to introduce ToSuper() * op-deployer: Upgrade contracts support to v3.0.0 (ethereum-optimism#14733) * op-deployer: add documentation for verify command (ethereum-optimism#14745) * op-deployer: add documentation for verify command * Update op-deployer/book/src/user-guide/verify.md * Update verify.md --------- Co-authored-by: Matthew Slipper <me@matthewslipper.com> * ci: Fix preimage-reproducibility (ethereum-optimism#14742) * ci: Capture reproducibility build logs as artifacts * Install dependencies when mise.toml is present. * dependabot(gomod): bump github.com/prometheus/client_golang (ethereum-optimism#14628) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.5 to 1.21.1. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](prometheus/client_golang@v1.20.5...v1.21.1) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * kt-devnet: remove network params for supervisor (ethereum-optimism#14746) * op-service: Expand EthClient for tx handling (ethereum-optimism#14747) * op-supervisor,op-service: fix server-client API consistency (ethereum-optimism#14720) * op-supervisor,op-service: fix server-client API consistency * op-e2e: fix finality test, finalized-L1 getter now errors when not initialized * op-program: Update prestate reproducibility check to compare against list of prestates from superchain-registry (ethereum-optimism#14744) * op-program: Switch prestate verification to use the superchain-registry as source of truth * op-program: Update prestate reproducibility check to reference the same list superchain-registry now uses * Fix script * ci: Reduce timeout for prestate builds again. * Clarify cannon 32 was built. * Remove TODO * Fix problem with kurtosis-devnet deploy (ethereum-optimism#14729) * allow specifying a custom package (ethereum-optimism#14750) * op-program: Add a host subcommand to list available chain configs. (ethereum-optimism#14699) * op-program: Add a host subcommand to list available chain configs. * op-program: Also list custom chain configs * go: update SR to cb1b645b35813b8dd3a900b9f99c46614e466a2c via op-geth (ethereum-optimism#14755) * go: update SR to cb1b645b35813b8dd3a900b9f99c46614e466a2c via op-geth to pull in updated sepolia-dev-0 sepolia blob schedule fix times * fix chain config test * op-batcher: force use of TerminalString throughout syncActions logging (ethereum-optimism#14687) Depending on the logger, it may not call this automatically * update TODO ethereum-optimism#11693 and ethereum-optimism#14765 (ethereum-optimism#14766) * op-program: Fix todo (ethereum-optimism#14773) * feat: interop portal updates (ethereum-optimism#14664) * feat: AnchorStateRegistry as source of truth Updates the OptimismPortal to use the AnchorStateRegistry as the source of truth for the validity of Dispute Game contracts. * feat: new eth lockbox (ethereum-optimism#285) * feat: create new eth lockbox contract with interface * chore: add it on the deployment scripts (wip) * feat: create the test base to check if the setup for it is working * feat: add all eth lockbox tests * fix: opcm deployment script issue * fix: lockbox tests * feat: add no withdrawal tx unlock eth check * chore: check proper initialization on test * fix: pre-pr fixes * chore: run pre-pr * fix: opcm tests related to eth lockbox * feat: add admin owner check on authorize portal and lockbox as well * refactor: add prefix to errors and declare them on contract * chore add no withdrawal tx comment * feat: authorize portal in lockbox on the opcm * chore: add one more check for eth lockbox * fix: intializable and specs tests * fix: pre-pr * feat: integrate portal with lockbox (ethereum-optimism#291) * feat: integrate portal with lockbox * fix: migrate natspec Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com> * fix: delete natspec Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com> * fix: natspec nits * chore: natspec wording * chore: function order * chore: remove internals * feat: add eth lockbox as portal arg on opcm * feat: add checks on scripts and unit tests * feat: lock and unlock tests * feat: add migrate liquidity tests * fix: other failing portal tests * chore: run pre-pr * chore: improve lock and unlock checks on tests * chore: undo portal version change and run pre-pr * refactor: enhance expect call checks * fix: fork test string error * fix: just test failing tests * refactor: pao base * refactor: setup portal and lockbox integration on initialization * feat: update lockbox setter * chore: update pao naming on tests * chore: portal comment * chore: update version and run pre-pr * fix: spec * fix: lockbox storage layout * fix: pr comments and failing test * feat: portal upgrade test * chore: remove portal balance check on chain assertions * fix: error string on chain assertions * feat: add test for portal unsafe target * fix: approval --------- Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com> * fix: semver lock * fix: failing tests after merge * fix: interface import * chore: add lockbox pao matches final system owner check * fix: pr comments (ethereum-optimism#293) * chore: remove unused function * chore: add pao validation checks over portal and lockbox * refactor: use interface as arg type instead of address on functions * fix: comment max length * refactor: update lockbox param type as interface * refactor: use interface as type on migrate liquidity and authorize lockbox functions * chore: run pre pr * fix: high fuzz runs failing test using mostly assume not forge address * refactor: use ioptimis portal instead of ioptimism portal2 everywhere * chore: undo changes on unrelated files to the pr * feat: add Super Root specific method to OptimismPortal Updates the OptimismPortal to include a method that allows users to prove against Super Roots for interop. * fix: pr second comments (ethereum-optimism#295) * chore: undo initializable v5 test changes * chore: remove portal already authorized check * chore: remove portal already authorized check * refactor: rename pao to proxy admin owner * fix: pre pr * fix: test upgrade fails (ethereum-optimism#296) * fix: test upgrade fails * feat: handle fork state on eth lockbox tests * chore: enhance comments * chore: run pre-pr * fix: semgrep * fix: comments * chore: address path where is not a fork to get the lockbox * chore: run pre pr * fix: pr fixes (ethereum-optimism#298) * chore: enhance opcm comment * fix: same proxy admin owner typo * feat: add insufficient balance check * chore: add natspec comments on lockbox migration process * chore: pre pr * fix: add lockbox on implementations struct to fix go test (ethereum-optimism#300) * feat: AnchorStateRegistry as source of truth Updates the OptimismPortal to use the AnchorStateRegistry as the source of truth for the validity of Dispute Game contracts. * feat: add Super Root specific method to OptimismPortal Updates the OptimismPortal to include a method that allows users to prove against Super Roots for interop. * feat: interop portal OPCM updates * fix: remove old respectedGameType check from portal test * fix: deploy new dispute games in OPCM * feat: add upgrade 15 test path * feat: integrate into opcm fork tests * fix: corrected checks for ASR * fix: rebase tweaks * fix: OPCM integration * fix: OPCM stack too deep * fix: pre pr * fix: update portal implementation on opcm upgrade * fix: call upgrade on portal without upgrading any impl * fix: iopcm interface for older versions already deployed * refactor: use minimal interface for opcm without lockbox * fix: import * chore: undo changes on opcm carried when resolving conflicts (ethereum-optimism#302) * fix: include lockbox on reinitialization test and add todos with issue number (ethereum-optimism#303) * fix: include lockbox on reinitialization test * fix: polish nits * refactor: get eth lockbox on test condition * chore: add todos pointing to the issue * fix: add ETHLockbox to op-deployer * fix: add evm tags to ETHLockboxImpl * fix: evm tags for ethLockboxProxy too * fix: remove certain ETHLockbox checks * fix: properly add ETHLockbox to state * fix: handle deposit tests and kill L2oo tests * fix: undo change in user test * fix: kill more L2OO tests * fix: bug in withdrawal validity test * fix: pr review (ethereum-optimism#309) * chore: remove unnecessary cast * refactor: add lockbox on eth migrated event * chore: rename pa owner to pa owned base * refactor: add amount on liquidity received and migrated events * fix: format * refactor: add amount on liquidity migrated event * chore: pre-pr --------- Co-authored-by: agusduha <agusnduha@gmail.com> * fix: some remaining merge issues * fix: go linting error * fix: remove old test skips * fix: unskip v2 upgrade tests * fix: skip v2 upgrade tests again --------- Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com> Co-authored-by: AgusDuha <81362284+agusduha@users.noreply.github.com> Co-authored-by: agusduha <agusnduha@gmail.com> * Add consistency checks in ChainsDB Queries (ethereum-optimism#14769) * feat(op-acceptance-tests): introduce op-acceptance-tests. (ethereum-optimism#14706) This introduces a new directory for acceptance tests. Within it we can store our tests, the op-acceptor configuration and a justfile to simplify running the acceptance tests. * op-program: Update issue number on TODO (ethereum-optimism#14776) * op-batcher: introduce `ClearAllStateMetrics()` and call from `channelManager.Clear()` (ethereum-optimism#14780) * op-batcher: introduce ClearAllStateMetrics() and call from channelManager.Clear() * fix test metrics * use real metrics in test * add godoc * op-e2e: Intra-block interop action tests (ethereum-optimism#14565) * chore: Show target directory when an error occurs (ethereum-optimism#14787) * chore: Add fee estimation logic for EIP1559 transactions to devnet-sdk (ethereum-optimism#14721) * chore: Add fee estimation logic for EIP1559 transactions * chore: Make EIP1159FeeEthClient public * op-e2e: action tests for L1 Pectra activation (ethereum-optimism#14006) * op-e2e: enhance test batcher so it can send SetCode txs * op-e2e: add TestPragueForkAfterGenesis * tweak wording * reuse ptr() helper from proofs_test * uncomment additional assertions * add extra assertion that safe head = unsafe head for non set code tx case * use matrix.AddDefaultCasesWithName * check blob base fee in l1block contract * tweak logging * test for consistency with upstream block fee helper * check blob fee when L1 origin is pre prague * factor out requireSafeHeadProgression and ensure FPP runs on ultimate safe head * Add a test to verify withdrawal root header Isthmus behavior (ethereum-optimism#14719) * Fix problem with kurtosis-devnet deploy * Add NAT test for Isthmus withdrawal root header * Add devnet-sdk fees test (ethereum-optimism#14718) * Fix problem with kurtosis-devnet deploy * Add devnet-sdk port of op-e2e fees_test.go * Add Fjord NAT Test (ethereum-optimism#14717) * Fix problem with kurtosis-devnet deploy * Port Fjord check scripts op-e2e test to devnet-sdk * Add ERC20 Bridge NAT Test (ethereum-optimism#14716) * Fix problem with kurtosis-devnet deploy * Add devnet-sdk port of op-e2e erc20_bridge_test.go * fix(kt-devnet): skip fileserver deployment when possible (ethereum-optimism#14413) This is a temporary measure, until we can integrate a proofs-only fileserver with the op-challenger deployment. But in the meantime, this unblocks a decent amount of idempotent kurtosis deployments, by avoiding kurtosis invalidating the execution cache needlessly. * feat: interop portal fast follow 1 (ethereum-optimism#14785) * feat: interop portal fast follow 1 First set of fast-follow changes to the interop portal. * fix: PR review feedback * feat: update operator fee contract bytecodes (ethereum-optimism#14753) * feat: update operator fee contract bytecodes * feat: add Isthmus contracts version check * feat(kurtosis-devnet): make kurtosis package reproducible (ethereum-optimism#14770) This change introduces a trampoline package that we can use to pin the (transitive) dependencies of our optimism package. * Include pectra blob schedule fork time in rollup config description. (ethereum-optimism#14796) De-duplicate iteration of each hard fork between Description and LogDescription * op-deployer: Clarify versioning docs (ethereum-optimism#14738) * op-deployer: Clarify versioning docs * Apply suggestions from code review --------- Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * op-e2e: add interop messaging dsl (ethereum-optimism#14792) * fix(op-deployer): verify devdocs json format (ethereum-optimism#14812) * fix(kt-devnet): pin correct kt dependency (ethereum-optimism#14806) * fix(op-deployer): default cache dir (ethereum-optimism#14810) * fix(op-deployer): default cache dir * add explanatory fallback log * fix: interop findings (ethereum-optimism#14790) * feat: interop fixes (ethereum-optimism#287) * feat: interop fixes * fix: natspec format * chore: add field on struct natspec --------- Co-authored-by: 0xDiscotech <131301107+0xDiscotech@users.noreply.github.com> * fix: campaign fixes (ethereum-optimism#313) * feat: interop fixes * fix: permit2 not inifinite approval check * chore: enhance superchain erc20 natspec * chore: tests natspec * fix: incorrect merge --------- Co-authored-by: agusduha <agusnduha@gmail.com> * chore: remove interop contracts (ethereum-optimism#318) * chore: remove unnecessary interop contracts * fix: golang tests * chore: remove system config interop and run pre pr * fix: exlude correct contracts on test to succeed * chore: update initializer array length * fix: semver lock * fix: L2 audit findings (ethereum-optimism#323) * fix: audit findings * chore: pre-pr * refactor: avoid stack too deep removing params on test (ethereum-optimism#324) --------- Co-authored-by: AgusDuha <81362284+agusduha@users.noreply.github.com> Co-authored-by: agusduha <agusnduha@gmail.com> * ctb/validator: Add v3.0.0 validator (ethereum-optimism#14768) * ctb/validator: Add v3.0.0 validator * use exp import * ci fixes * fix slice sort * add operator fee validation * fix tests * Add twrap in contracts just (ethereum-optimism#14807) * add twrap in just * rerun ci * dependabot(gomod): bump github.com/google/go-cmp from 0.6.0 to 0.7.0 (ethereum-optimism#14510) Bumps [github.com/google/go-cmp](https://github.com/google/go-cmp) from 0.6.0 to 0.7.0. - [Release notes](https://github.com/google/go-cmp/releases) - [Commits](google/go-cmp@v0.6.0...v0.7.0) --- updated-dependencies: - dependency-name: github.com/google/go-cmp dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(op-deployer): block getter by num via RPC (ethereum-optimism#14689) Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co> * op-e2e: Fill in varied block time fp action tests (ethereum-optimism#14786) * add more chains to upgrade test (ethereum-optimism#14656) * add unichain mainnet * bump superchain registry and refactor parser * json to toml * correct typo * fmt * add permissions * try hardcoded key * escape * test * superchain-ops like fix * select standard validation version * fmt * update version * change test to ink * build base cache * uni, ink base and op * bump superchain registry * bump registry * skip op test on other chains * fmt * skip non-op test for non-op chains * fmt * fix tests of conflicts * remove console import * remove correct import * util function * op-deployer: Fix broken init logic (ethereum-optimism#14827) Previously, any deployment using tagged releases on an official chain like Sepolia would use the predeployed OPCM. The predeployed OPCM would point these chains to the global `SuperchainConfig`, which may not have been the intended behavior. This PR updates the logic in the deployment pipeline to use the global `SuperchainConfig` under the following conditions: 1. The user specifies intent type `standard`. 2. The user specifies intent type `standard-overrides` and does not modify the Superchain roles. * call NewEVMBlockContext after the blob gas fields are set (ethereum-optimism#14709) * feat: remove DisputeGameFactory input from SystemConfig (ethereum-optimism#14820) * feat: remove DisputeGameFactory input from SystemConfig Updates the SystemConfig to kill the DisputeGameFactory input. By getting this address from the OptimismPortal we can remove the need for unnecessary inputs that would have to be changed if the DisputeGameFactory changes. * fix: make tests work * fix: remove console log * fix: move address fetch * fix: address pr feedback * fix: missing semicolon * chore: remove DISPUTE_GAME_FACTORY_SLOT * test: fix abi spec --------- Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * Move NAT tests into op-acceptance-tests (ethereum-optimism#14802) Also splits and fixes fee NAT tests. * devnet-sdk: Plugin op-service ethclient (ethereum-optimism#14751) * op-deployer: Add backports guide (ethereum-optimism#14830) * enable ci for devnet-sdk (ethereum-optimism#14843) * all: update op-geth and SCR submodule (ethereum-optimism#14842) * update op-geth dependency * update scr submodule --------- Signed-off-by: Yashvardhan Kukreja <yashvardhan@oplabs.co> Signed-off-by: jsvisa <delweng@gmail.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: smartcontracts <kelvin@optimism.io> Co-authored-by: Yashvardhan Kukreja <yash.kukreja.98@gmail.com> Co-authored-by: Yann Hodique <yann@oplabs.co> Co-authored-by: Inphi <mlaw2501@gmail.com> Co-authored-by: Sam Stokes <35908605+bitwiseguy@users.noreply.github.com> Co-authored-by: protolambda <proto@protolambda.com> Co-authored-by: Paul Dowman <paul@pauldowman.com> Co-authored-by: Eric Tu <6364934+ec2@users.noreply.github.com> Co-authored-by: mbaxter <meredith@oplabs.co> Co-authored-by: NaijaCoderGirl <150683513+NaijaCoderGirl@users.noreply.github.com> Co-authored-by: Matthew Slipper <me@matthewslipper.com> Co-authored-by: George Knee <georgeknee@googlemail.com> Co-authored-by: Sebastian Stammler <seb@oplabs.co> Co-authored-by: Ján Jakub Naništa <jan.jakub.nanista@gmail.com> Co-authored-by: Maurelian <john@oplabs.co> Co-authored-by: Adrian Sutton <adrian@oplabs.co> Co-authored-by: Rebustron <dimaqwe94@gmail.com> Co-authored-by: zhiqiangxu <652732310@qq.com> Co-authored-by: ControlCplusControlV <44706811+ControlCplusControlV@users.noreply.github.com> Co-authored-by: Michael Amadi <amadimichaeld@gmail.com> Co-authored-by: Axel Kingsley <axel.kingsley@gmail.com> Co-authored-by: Alberto Cuesta Cañada <38806121+alcueca@users.noreply.github.com> Co-authored-by: alcueca <alberto@yield.is> Co-authored-by: Matt Solomon <matt@mattsolomon.dev> Co-authored-by: Tyler Smith <mail@tcry.pt> Co-authored-by: Maurelian <maurelian@protonmail.ch> Co-authored-by: leopardracer <136604165+leopardracer@users.noreply.github.com> Co-authored-by: Julian Meyer <julian.meyer@coinbase.com> Co-authored-by: Delweng <delweng@gmail.com> Co-authored-by: Park Changwan <changwan@oplabs.co> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: JosepBove <josep@oplabs.co> Co-authored-by: Yuwen Zhang <yuwen01@gmail.com> Co-authored-by: leruaa <aurelien.catinon@gmail.com> Co-authored-by: refcell <abigger87@gmail.com> Co-authored-by: Teddy Knox <teddyknox@gmail.com> Co-authored-by: Aurélien <3535019+leruaa@users.noreply.github.com> Co-authored-by: Dan Pulitano <dan.pulitano@pm.me> Co-authored-by: Teddy Knox <teddy@oplabs.co> Co-authored-by: Joshua Gutow <jgutow@oplabs.co> Co-authored-by: Disco <131301107+0xDiscotech@users.noreply.github.com> Co-authored-by: AgusDuha <81362284+agusduha@users.noreply.github.com> Co-authored-by: agusduha <agusnduha@gmail.com> Co-authored-by: Stefano Charissis <stefano@oplabs.co> Co-authored-by: Yashvardhan Kukreja <yashvardhan@oplabs.co> Co-authored-by: blockchaindevsh <shore.cloud@gmail.com>
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.
Add legal footer to op-deployer docs
Description
This PR adds a standardized legal footer to the op-deployer documentation site, addressing the legal team's requirement to include essential privacy policy information and legal disclaimers across all OP documentation sites. This implementation serves as part of a broader initiative to standardize legal compliance across multiple documentation sites including specs, devnets, supersim, and op-deployer.
Changes
Screenshots
Related Issues
Closes - https://github.com/ethereum-optimism/devrel/issues/506