-
Notifications
You must be signed in to change notification settings - Fork 12
renamed the command summary
and the parts of the code related to the change
#374
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
nwatson22
approved these changes
Feb 19, 2024
JuanCoRo
added a commit
to runtimeverification/_audits_Ethereum-optimism_pausability
that referenced
this pull request
Mar 4, 2024
From version `0.1.162`, `kontrol summary` has been renamed to `kontrol load-state-diff`. The reason of this renaming is that `kontrol summary` will be used by kontrol's compositional symbolic execution. Also, changing the name to `load-state-diff` makes more explicit what the command does. Related PR: runtimeverification/kontrol#374
github-merge-queue bot
pushed a commit
to ethereum-optimism/optimism
that referenced
this pull request
Mar 13, 2024
* Update tests to native symbolic `bytes` and `bytes[]` * adding lemmas * `run-kontrol.sh`: add more sensible parameters * Change `startPrank` by `prank` * Replace `mockCall` workaround with `vm.mockCall` * Make `bytes` length symbolic * `KontrolUtils`: remove symbolic workarounds * `run-kontrol.sh`: add `prove_proveWithdrawalTransaction_paused` * `forge fmt` * `versions.json`: bump Kontrol from `0.1.127` to `0.1.156` * Remove `ASSUME` comments * ci: run kontrol on develop and allow manual dispatch * ci: rename parameter * `OptimismPortalKontrol`: add remaining ranges for `_withdrawalProof` * Add forge-like UX to `run-kontrol.sh` * `pausability-lemmas.k`: clean file * general tests, further lemmas, summary claim * Address shellcheck failures * Change `pausability-lemmas.k` to `pausability-lemmas.md` * `versions.json`: bump `kontrol` from `0.1.156` to `0.1.178` * `OptimismPortalKontrol`: update `kontrol` natspec to version 0.1.178 * `pausability-lemmas.md`: remove unused `Lemmas` header * Update packages/contracts-bedrock/test/kontrol/pausability-lemmas.md Co-authored-by: Matt Solomon <[email protected]> * Update packages/contracts-bedrock/test/kontrol/pausability-lemmas.md Co-authored-by: Matt Solomon <[email protected]> * Update packages/contracts-bedrock/test/kontrol/pausability-lemmas.md Co-authored-by: Matt Solomon <[email protected]> * Update packages/contracts-bedrock/test/kontrol/pausability-lemmas.md Co-authored-by: Matt Solomon <[email protected]> * `pausability-lemmas.md`: fix spelling typo * `pausability-lemmas.md`: fix typo `bytearrays` to `byte arrays` * `run-kontrol.sh`: correctly format temorarily unexecuted lemmas * `common.sh`: execute `copy_to_docker` only when in docker mode * `make-summary-deployment.sh`: add argument check before parsing * Reflect `kontrol summary` change to `kontrol load-state-diff` From version `0.1.162`, `kontrol summary` has been renamed to `kontrol load-state-diff`. The reason of this renaming is that `kontrol summary` will be used by kontrol's compositional symbolic execution. Also, changing the name to `load-state-diff` makes more explicit what the command does. Related PR: runtimeverification/kontrol#374 * `pausability-lemmas.md`: remove upstreamed lemmas * fix: writing typos * lemma text pass * paragraph about summary maintainability * README.md: include latest changes * pausability-lemmas.md: markdown link typo * KontrolUtils: add documentation comment * pausability-lemmas.md: fix markdown typo vol2 * pausability-lemmas.md: fix markdown typo vol3 * Add specialized usage functions * `README.md`: remove `bash` in `make-summary-deployment.sh` description * `README.md`: complete `Add New Proofs` section * versions.json: bump kontrol from 0.1.178 to 0.1.196 * run-kontrol.sh: add `--xml-test-report` flag * .gitignore: add `kontrol_prove_report.xml` * foundry.toml: set `ast = true` in `kprove` profile * config.yml: set correct path for kontrol `store_artifacts` * config.yml: add `store_test_results` step to `kontrol-tests` job * package.json: execute `run-kontrol.sh` with `script` option We run `run-kontrol.sh` with the `script` option to avoid executing all proofs * run-kontrol.sh: remove proof with 10 elements in favor of 0 and 1 The longer the `_withdrawalProof` array the longer the execution time Adding the lengths 0 and 1 fits within the max cpus and won't take as long to run * chore: typos and formatting * ci: fix kontrol trigger * README.md: minor typo --------- Co-authored-by: Petar Maksimovic <[email protected]> Co-authored-by: Matt Solomon <[email protected]>
kangsorang
added a commit
to kroma-network/kroma
that referenced
this pull request
Apr 8, 2024
* op-challenger: Add support for permissioned games. (#9535) * dependabot(npm): bump @wagmi/cli from 2.1.0 to 2.1.1 (#9507) Bumps [@wagmi/cli](https://github.com/wevm/wagmi/tree/HEAD/packages/cli) from 2.1.0 to 2.1.1. - [Release notes](https://github.com/wevm/wagmi/releases) - [Changelog](https://github.com/wevm/wagmi/blob/main/packages/cli/CHANGELOG.md) - [Commits](https://github.com/wevm/wagmi/commits/@wagmi/[email protected]/packages/cli) --- updated-dependencies: - dependency-name: "@wagmi/cli" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: proofread (#9540) * op-bindings * op-challenger n ops * op-ufm: mod tidy (#9537) * dependabot(npm): bump @types/node from 20.11.16 to 20.11.17 (#9505) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.11.16 to 20.11.17. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * dependabot(npm): bump @swc/core from 1.3.106 to 1.4.1 (#9509) Bumps [@swc/core](https://github.com/swc-project/swc) from 1.3.106 to 1.4.1. - [Release notes](https://github.com/swc-project/swc/releases) - [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md) - [Commits](https://github.com/swc-project/swc/compare/v1.3.106...v1.4.1) --- updated-dependencies: - dependency-name: "@swc/core" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * dependabot(npm): bump nx from 18.0.2 to 18.0.4 (#9511) Bumps [nx](https://github.com/nrwl/nx/tree/HEAD/packages/nx) from 18.0.2 to 18.0.4. - [Release notes](https://github.com/nrwl/nx/releases) - [Commits](https://github.com/nrwl/nx/commits/18.0.4/packages/nx) --- updated-dependencies: - dependency-name: nx dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-e2e: Increase timeout for e2e tests (#9536) The fault proof tests aren't being load balanced particularly well so an executor sometimes takes more than 40m to run. * fix(op-dispute-mon): forecast metrics and test enhancements (#9468) * ci: Use default circleci image for builds (#9547) * op-challenger: Introduce output root source abstraction (#9534) * op-challenger: Add a wrapper to allow validating output roots are safe at a given L1 head * op-challenger: Don't pass L1Head around so much. * op-challenger: Rename and add tests. * Update bindings. * Update op-ufm go.sum * Rollback op-ufm changes. * op-challenger: Alphabet VM does not require checking for consistency with L1 data * op-challenger: Add error handling test. * Add `op-program` to tag service (#9546) * ci: Tag fp-squad when op-e2e-cannon-tests fails (#9549) * ci: Tag fp-squad when op-e2e-cannon-tests fails * ci: Also tag proofs squad on fpp-verify failures. * FP: add KZG point-evaluation preimage-oracle type (#9461) * FP: add KZG point-evaluation preimage-oracle type, to process L2 oracle call with * op-program: Integrate kzg precompile oracle * fix PreimageOracle.sol * store kzg precompile input preimage * update bindings and go.mod * fix go.mod * resolve TODOs * s/Hex2Bytes/FromHex * fix typo * ctb: set kzg preimage length to 1 * op-challenger: Load kzg point evaluations to PreimageOracle (#9497) * op-challenger: load KZG point evaluation into oracle Also: increase max game depth for devnet. This is a temporary solution to avoid flakes in e2e tests that use the kzg precompile. The current execution trace max step of 2**31 steps isn't sufficient. --------- Co-authored-by: inphi <[email protected]> Co-authored-by: refcell <[email protected]> * ecotone-scalar: Change log message to explicitly mention Proxy (#9552) * ci: Increase timeouts in system_test. (#9550) 1 second time outs in CI is just asking for flakiness. * op-challenger: Binary search for guaranteed safe block (#9538) * op-node: Still EL sync if the transition block is finalized (#9501) * op-e2e: Skip TestOutputCannonStepWithKZGPointEvaluation (#9555) * add additional check (#9560) * dispute-mon: Disagree with output roots that are not found by the local node (#9553) * feat(op-dispute-mon): Move types into their own package (#9542) * dependabot(npm): bump @typescript-eslint/parser from 6.19.1 to 6.21.0 (#9512) Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.19.1 to 6.21.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.21.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(op-dispute-mon): isolate game caller package (#9544) * feat(op-dispute-mon): extractor component (#9548) * chore: fix a typo (#9556) * fix * another * not -> neither * add additional check before emitting log warning (#9564) * add additional check before emitting log warning * Update op-node/rollup/derive/engine_controller.go Co-authored-by: protolambda <[email protected]> --------- Co-authored-by: protolambda <[email protected]> * op-node: Expose method to load rollup config without a CLI context. (#9554) * feat(op-dispute-mon): resolution delay metric refactors (#9563) * feat(op-dispute-mon): wire in extractor (#9565) * feat(op-dispute-mon): pull claim fetching into the extractor (#9569) * docs: add security review for MCP L1 (#9572) * fault-proofs: non-zero bond requirement (#9409) * fault-proofs: non-zero bond requirement * rebase rebase * permissioned game fix * safe transactOpts w/ bonds --------- Co-authored-by: clabby <[email protected]> * feat(ctb): `PreimageOracle` large preimage proposal bonds (#9570) * Add bonds to `PreimageOracle` * Update op-challenger/game/fault/contracts/oracle_test.go Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update packages/contracts-bedrock/src/cannon/PreimageOracle.sol Co-authored-by: refcell <[email protected]> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: refcell <[email protected]> * chore(contracts-bedrock): print error message if generate-l2-genesis.sh fails (#9566) * chore(contracts-bedrock): print error message if generate-l2-genesis.sh fails * add quotes * Tag Tool (#9532) * Tag Tool * rename full to op-stack ; better git tag list filter * Update ecotone-scalar README.md (#9551) * Update foundry to speed up builds (#9579) * Remove stale TODO (#9583) * contracts-bedrock: delete dead comments (#9590) * contracts-bedrock: delete dead comments This commit removes all of the solhint-ignore comments. solhint has not been used by this repository for quite some time so there is no reason to keep these comments around. * semver-lock: regenerate * ci: use latest ci-builder (#9589) Includes foundry version that compiles faster https://github.com/ethereum-optimism/optimism/pull/9579 * op-e2e: Always run subtests on the parent executor. (#9593) * op-e2e: Always run subtests on the parent executor. * op-e2e: Fix TestMixedWithdrawalValidity by not cancelling its own context. Moves timeouts to be handled in helpers to reduce complexity of the test. * op-e2e: Fix TestMixedWithdrawalValidity for fault proofs * op-e2e: Evaluate test options for subtests Ensures that tests are skipped correctly when using conditional options like UsesCannon even if not specified in the parent case. Add InitParallel back to cannon tests so they can execute in parallel. * refactor: cast type instead of doing two runtime conversions (#9599) * op-service/client: Add http header option to BasicHTTPClient (#9601) * op-node: Add optional Beacon header flag (#9604) * op-service/client: Add http header option to BasicHTTPClient * op-node: Add optional Beacon header flag * op-program: Retry setup RPCs in verify script (#9600) * op-node: Unhide syncmode flag (#9611) * Add missing checks in cannon fuzz_evm_test (#9597) Fix preimageWrite count calculation * ci: Only run develop-fault-proofs on commits to develop, not scheduled triggers (#9596) * [op-conductor] e2e tests - conductor rpc test fixes (#9576) * Fix a race condition in tests * 2nd try with CI * 3rd try with CI * 4th try with CI * 5th try * Use existing wait util * helper function for checking leader transfer * bugfix * Finish conductor rpc e2e tests * reduce loop intervals * increase timeouts to fix flake --------- Co-authored-by: Francis Li <[email protected]> * dependabot(gomod): bump github.com/go-chi/chi/v5 from 5.0.11 to 5.0.12 (#9595) Bumps [github.com/go-chi/chi/v5](https://github.com/go-chi/chi) from 5.0.11 to 5.0.12. - [Release notes](https://github.com/go-chi/chi/releases) - [Changelog](https://github.com/go-chi/chi/blob/master/CHANGELOG.md) - [Commits](https://github.com/go-chi/chi/compare/v5.0.11...v5.0.12) --- updated-dependencies: - dependency-name: github.com/go-chi/chi/v5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * dependabot(docker): bump ethereum/client-go in /ops-bedrock (#9619) Bumps ethereum/client-go from v1.13.12 to v1.13.13. --- updated-dependencies: - dependency-name: ethereum/client-go dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-challenger: Require local node to be sufficiently up to date before playing games (#9614) * op-dispute-mon: Add additional labels to dispute game agreement metrics (#9616) Makes it easy to query things like the number of games with valid output roots, or the number of games that resolved incorrectly * dependabot(npm): bump @ethereumjs/rlp from 5.0.1 to 5.0.2 (#9607) Bumps [@ethereumjs/rlp](https://github.com/ethereumjs/ethereumjs-monorepo) from 5.0.1 to 5.0.2. - [Release notes](https://github.com/ethereumjs/ethereumjs-monorepo/releases) - [Commits](https://github.com/ethereumjs/ethereumjs-monorepo/compare/@ethereumjs/[email protected]...@ethereumjs/[email protected]) --- updated-dependencies: - dependency-name: "@ethereumjs/rlp" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-wheel: Add set-fcu-by-hash and copy-payload (#9574) * op-wheel: Provide set-forkchoice-by-hash command * op-wheel: Add copy payload command * fixups * Update op-wheel/commands.go * op-node: Fix bootnodes port (#9621) * dependabot(npm): bump ip from 1.1.8 to 1.1.9 (#9617) Bumps [ip](https://github.com/indutny/node-ip) from 1.1.8 to 1.1.9. - [Commits](https://github.com/indutny/node-ip/compare/v1.1.8...v1.1.9) --- updated-dependencies: - dependency-name: ip dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * dependabot(npm): bump @types/semver from 7.5.6 to 7.5.7 (#9608) Bumps [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver) from 7.5.6 to 7.5.7. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver) --- updated-dependencies: - dependency-name: "@types/semver" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * dependabot(npm): bump nx-cloud from 16.5.2 to 18.0.0 (#9510) Bumps [nx-cloud](https://github.com/nrwl/nx) from 16.5.2 to 18.0.0. - [Release notes](https://github.com/nrwl/nx/releases) - [Commits](https://github.com/nrwl/nx/compare/16.5.2...18.0.0) --- updated-dependencies: - dependency-name: nx-cloud dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Import `SystemConfigProxy` address from new location in `superchain` (registry). (#9585) * chore: update dependency on superchain-registry * update references to chainConfig.SystemConfigAddr * refactor: simplify extraction of addresses * update dependency on superchain-registry/superchain * go mod tidy * op-dispute-mon: Include the output root block number in unexpected game result error logs. (#9615) * Fix KZG Precompile Oracle (#9577) * op-e2e: Fix flaky TestOutputCannonStepWithKZGPointEvaluation test * fault-proofs: Fix on-chain KZG precompile oracle * fix for flakes in CI and add nil check when logging oracleKey * dependabot(gomod): bump github.com/hashicorp/raft from 1.6.0 to 1.6.1 (#9545) Bumps [github.com/hashicorp/raft](https://github.com/hashicorp/raft) from 1.6.0 to 1.6.1. - [Release notes](https://github.com/hashicorp/raft/releases) - [Changelog](https://github.com/hashicorp/raft/blob/main/CHANGELOG.md) - [Commits](https://github.com/hashicorp/raft/compare/v1.6.0...v1.6.1) --- updated-dependencies: - dependency-name: github.com/hashicorp/raft dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-chain-ops: allow ecotone at genesis (#9627) Adds the cancun specific changes to the genesis block. Cancun is coupled to ecotone so using `IsEcotone` to see if the fields should be added to the genesis. Is it a bad assumption to assume that cancun execution is coupled to ecotone optimism network upgrade? * Update Ecotone mainnet activation to Mar 14 00:00:01 UTC (#9625) * fix(op-challenger): Packed Claim Clock (#9582) * ci: use ci-builder image for slither (#9624) * ci: use ci-builder image for slither * Update slither.yml --------- Co-authored-by: Raffaele <[email protected]> * op-node: Add flag categories (#9629) * op-node: Add flag categories * op-node: Order categories & move some beacon flags to L1 RPC * fix(op-dispute-mon): Pointer Argument Optimization (#9584) * fix(op-challenger): Packed Claim Clock * fix(op-dispute-mon): port types to pointers * contracts-bedrock: modularize config (#9475) * contracts-bedrock: modularize config All env var based config for the deploy scripts is centralized into a single library called `Config`. Any `vm.env` or `vm.envOr` calls should be added here so that it is easy to track the full set of configuration options. Having this library makes configuration much more self documenting for the deploy scripts. This modularization is meant to make the migration away the old hardhat deploy style architecture much easier. Now that we have a canonical set of config values, we can be sure that anything behind the abstraction is applied properly across the codebase when it is changed. There is a bunch of deprecated config, that will be able to be deleted after https://github.com/ethereum-optimism/optimism/pull/9315 is merged along with some changes around where the default output location for deploy artifacts is. Right now it is in the deployment context directory, which the entire concept of deployment context comes from hardhat deploy, which doesn't necessarily make sense anymore. Right now it ends up in `deployments/<deploy-context>/.deploy`. In the future, it will likely end up in the root of the contracts directory by default and then an override can be provided where the override is expected to be the absolute path to the desired output location. This will greatly improve the devex and maintainability of the deploy script. * lint: fix * feat(op-dispute-mon): claim resolution delay max calculation (#9567) * op-node: Add option to enable safe head history database (#9575) * op-node: Add option to enable safe head history database. Currently it just logs the information and has no actual database. * op-node: Introduce pebble db to store safe head updates * op-node: Reset the pipeline if safe head updates fail to be recorded * go mod tidy * op-node: Truncate when L1 head is reduced. * op-node: Record accurate safe head data when restarting * op-node: Ensure the latest safe head update is reset on a pipeline reset. * op-node: Improve thread safety of safedb * op-node: Add L2 block number to stored data * op-node: Add API method to retrieve safe head at an L1 block number * op-node: Tidy up key handling in safedb. * op-node: Use an explicit reset event to clear entries invalidated by a pipeline reset Add action test to confirm reorgs are correctly handled. * op-node: Undo changes to start. We always step the safe head back at least one block. * op-node: Simplify error message when requested record is prior to start of history * op-node: Improve log message * op-node: Tidy up * op-node: Include L1 block number in response. * op-node: Add missing AssertExpectations * op-node: Verify key prefix * op-ufm: Update go.mod (#9631) * op-plasma: add data availability challenge contract (#9356) * feat: add op-plasma data availability challenge contract * fix: usePlasma and remove plasma template * add DAC to Spec.t.sol * add DAC to initialize config * fix tests * formatting * add setter for plasma mode * use alternative approach for enabling plasma mode in tests] * extend test config output * regen bindings * add usePlasma to config.go * add usePlasma to config.go * allow enabling plasma in test environment * initialize data availability challenge contract in constructor * use proxy in DAC test * fix spec test * update bindings * update type of usePlasma in config.go * skip DAC in setup.go check for now * skip DAC in setup.go if UsePlasma is wrong * forge fmt * gas snapshot * add semver lock * add snapshot * improve comments * absolute import * bound refund percentage * turn DAC test into a CommonTest * set semver to 1.0.0 * add versioned commitments * regenerate bindings * regenerate snapshots * update spec * update gas snapshot * add DAC to SystemConfig * update semver * update gas snapshot * invariant * snapshot * bindings * reorder deployment to have the DAC address before SystemConfig * update spec * move the DAC test to test/L1 * update snapshots * add precision to the variable resolution cost * regen artifacts * semver lock * bindings * revert system config changes * validate commitment length * rebuild go bindings * update constants * remove indexed from commitment event * semver lock * add balance changed event to withdraw * add method to get challenge status * use basefee instead of gasprice * use existing dac in test * add sane default values to deploy config * pre-pr * go bindings * assume challenger and resolver are different entities for balance checks in the resolver test * add test for validate commitment, move out _getCommitmentType --------- Co-authored-by: tchardin <[email protected]> * op-dispute-mon: Fix resolution to respect step actions (#9635) * op-dispute-mon: Fix resolution to respect step actions op-challenger: Add skipped game_solver tests for freeloader claims * op-challenger: Add addition freeloader test. * feat(proxyd): improved consensus HA error reporting (#9647) * feat(proxyd): improved consensus HA error reporting * error metric should be a counter * feat(proxyd): change default cache ttl to 2 hours and make it configurable (#9645) * op-node: fix finalize log (#9643) Co-authored-by: will@2012 <[email protected]> * op-node: Add flag category and improve testing (#9636) * op-challenger: Add AncestorWithTraceIndex to game. (#9649) We keep reimplementing this logic so just add it to the game and test it properly. * op-ufm: pin monorepo dependency, remove replace (#9641) also udpate op-geth dependency while we're at it * op-challenger: Use opts pattern for claim builder (#9650) * op-dispute-mon: Track left most claim when resolving games. (#9651) * op-challenger: Use opts pattern for claim builder * op-dispute-mon: Track left most claim when resolving games. * op-challenger: Add actor based tests for game solver (#9637) Includes rules to confirm that every move performed by the challenger would succeed as a call to contracts Verifies that the game resolves correctly and the challenger is paid for every move it makes. * op-challenger: Adjust honest actor behaviour to counter freeloaders. (#9640) * op-challenger: Only counter claims that are either the child of an honest claim or are a sibling to the left of an honest move. * op-challenger: Stop evaluating claims if an error is encountered since we will not be tracking the honest actions. * op-challenger: Limit output roots to safe head at L1 block (#9598) * op-challenger: Load maximum safe head from op-node RPC * op-challenger: Remove no longer required code to find guaranteed safe head. * op-e2e: Enable safe db * feat(ctb): Prevent duplicate `step` moves (#9653) * Prevent duplicate steps * Prevent duplicate step claims * op-e2e: Update the exhaustive alphabet e2e test to handle duplicates (#9655) The new challenger algorithm may post some claims that the exhaustive test was posting. * fix some spec links (#9657) * fix log line to use the txlogger instead of default logger (#9660) * contracts: Add sepolia-devnet-0 deploy config (#9225) * op-e2e: Add failing e2e test for proposals not supported by L1 data (#9662) * fix(sdk): maybe add proof node (#9663) Fixes a bug in the SDK that would cause it to be unable to prove certain types of withdrawals. Bug can be easily fixed on the client side by adding an extra proof element in certain cases. * dependabot(gomod): bump golang.org/x/crypto from 0.19.0 to 0.20.0 (#9658) Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.19.0 to 0.20.0. - [Commits](https://github.com/golang/crypto/compare/v0.19.0...v0.20.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Version Packages (#9671) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * op-node: p2p pinging background service (#9620) * op-node: p2p pinging background service * op-node: remove p2p ping flag whitespace Co-authored-by: Joshua Gutow <[email protected]> * op-node: implement ping-service review suggestions * op-node: test case numbers in the require msg-args, not the log filter itself --------- Co-authored-by: Joshua Gutow <[email protected]> * dependabot(docker): bump ethereum/client-go in /ops-bedrock (#9679) Bumps ethereum/client-go from v1.13.13 to v1.13.14. --- updated-dependencies: - dependency-name: ethereum/client-go dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-proposer: Cleanup flag usage string (#9680) * op-node: Cleanup unsafe payload handling (#9661) * op-node: Cleanup unsafe payload handling * op-e2e: Add regression test for snap sync bug * go mod tidy cannon (#9693) * op-challenger: Restrict the safe head in output provider BlockNumber (#9664) * op-challenger: Restrict the safe head in output provider BlockNumber instead of OutputRootProvider This ensures the restriction is applied both to fetching output roots, and identifying the L2 block number the agreed output root comes from. The disputed block number remains restricted only by the claimed block number. * go mod tidy cannon examples. * op-e2e: Add test that proposals for future blocks are invalidated * op-dispute-mon: Combine the detect and forecast tasks. (#9667) These update the same metric and were duplicating the request and logic for checking root claim agreement. * dependabot(npm): bump hardhat from 2.19.5 to 2.20.1 (#9678) Bumps [hardhat](https://github.com/nomiclabs/hardhat) from 2.19.5 to 2.20.1. - [Release notes](https://github.com/nomiclabs/hardhat/releases) - [Commits](https://github.com/nomiclabs/hardhat/compare/[email protected]@2.20.1) --- updated-dependencies: - dependency-name: hardhat dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * dependabot(gomod): bump github.com/prometheus/client_golang (#9673) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.18.0 to 1.19.0. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/v1.19.0/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.18.0...v1.19.0) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * ci: Add param to allow manually running develop-fault-proof task against other branches (#9654) * ci: Add param to allow manually running develop-fault-proof task against other branches * ci: Don't run main workflow when manually triggered * ci: Run main workflow by default when manually triggered but allow it to be disabled * Fix `ci-builder-rust` release (#9694) * add more blob test vectors (#9685) * fix(ctb): FDG Local Keys (#9670) * fix: FDG local keys * @ajsutton review Co-Authored-By: ajsutton <[email protected]> * chore: bindings + semver --------- Co-authored-by: ajsutton <[email protected]> * feat(ci): Add `clang` & `lld` back to `ci-builder-rust` (#9704) * do sanity check first (#9689) * feat(ci): Re introduce `rethdb-reader` CI tests (#9692) * Add `rethdb-reader` tests back into CI * Fix `RethDBReceiptsFetcher` interface * update * Update dependencies * `ci-builder-rust` w/ `clang` + `lld` * op-chain-ops: check-ecotone improvements (#9695) * op-chain-ops: check-ecotone improvements: 4788/4844 mixup fix, new 4844 precompile test, more logging * Update op-chain-ops/cmd/check-ecotone/main.go * check-ecotone: improve with L1 retry, better logging * check-ecotone: fix L1 header retrieval in L1 fees check * check-ecotone: properly get basefee in checkL1Fees --------- Co-authored-by: Sebastian Stammler <[email protected]> * feat(op-node): clean peer state when disconnectPeer is called and log intercept blocks (#9706) * feat(op-node): clean peer state when disconnectPeer is called and log intercept blocks * nit * make txmgr aware of the txpool.ErrAlreadyReserved condition (#9683) * op-node/rollup/derive: also mark `IsLast` as `true` when `closed && maxDataSize==readyBytes` (#9696) * also mark IsLast as true when maxDataSize==readyBytes * add TestOutputFrameNoEmptyLastFrame * fix typo * fix for review * dependabot(gomod): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#9712) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.4 to 1.9.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.8.4...v1.9.0) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * doc: update README (#8731) * doc: update README Updates the development and release process, adds missing entries to the directory structure, fixes links, and adds a table of contents. * docs: clarifications from review * docs: link to node releases * doc: update with op-contracts convention * doc: update TOC * chore: typographic cleanup * op-program: Update verify scripts to supply a beacon endpoint. (#9707) * Use NewConfig to ensure defaults are set correctly. (#9714) * docs: remove version override in slither-action (#9708) * feat: introduce delayed WETH (#9666) Introduces a DelayedWETH contract so that bonds have a backup mechanism in place. * feat(contracts-periphery): Add Lisk testnet to PeripheryDeployConfig (#9218) * Add Lisk faucet * do not install op chain faucet drippie configs * op-challenger: Delay claiming credit until games are complete (#9720) Avoids paying additional transaction costs while a game's claims are being resolved and works better with bond locking. * dependabot(gomod): bump golang.org/x/term from 0.17.0 to 0.18.0 (#9726) Bumps [golang.org/x/term](https://github.com/golang/term) from 0.17.0 to 0.18.0. - [Commits](https://github.com/golang/term/compare/v0.17.0...v0.18.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * dependabot(gomod): bump golang.org/x/crypto from 0.20.0 to 0.21.0 (#9725) Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.20.0 to 0.21.0. - [Commits](https://github.com/golang/crypto/compare/v0.20.0...v0.21.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * dependabot(gomod): bump github.com/jackc/pgx/v5 from 5.5.3 to 5.5.4 (#9727) Bumps [github.com/jackc/pgx/v5](https://github.com/jackc/pgx) from 5.5.3 to 5.5.4. - [Changelog](https://github.com/jackc/pgx/blob/master/CHANGELOG.md) - [Commits](https://github.com/jackc/pgx/compare/v5.5.3...v5.5.4) --- updated-dependencies: - dependency-name: github.com/jackc/pgx/v5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump mio from 0.8.10 to 0.8.11 in /op-service/rethdb-reader (#9730) --- updated-dependencies: - dependency-name: mio dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * ci: Don't run main on scheduled pipeline invocations (#9719) * ci: Don't run main on scheduled pipeline invocations * Go mod tidy cannon examples. * op-node: Record genesis as being safe from L1 genesis (#9684) * op-node: Record genesis as being safe from L1 genesis * ci: Remove go-mod-tidy job as nothing ever runs it * Fix check-changed for cannon and op-ufm go.mod checks (#9733) * cannon: Update go mod in examples and fix check-changed to catch this in future * Break op-ufm go.sum to work out what fails when it's out of date. * Update go.sum * op-ufm: Switch back to using latest monorepo code in op-ufm. * op-ufm: Include op-ufm in mod tidy checks * op-program: Generic precompile oracle (#9699) * op-program: Generic precompile oracle The generic precompile oracle replaces the point evaluation precompile oracle. The new oracle can be used to retrieve the return data and status of any precompile, including bn256Pairing and ecrecover. * op-challenger: Use generic precompile oracle Replace the KZG point evaluation oracle with a generic precompile oracle * op-program: Simplify required gas logic. Use FromHex instead of Hex2Bytes * op-program: Set beacon URL when capturing and verifying sepolia chain data * op-program: Actually use the beacon URL * op-program: Use default l1-rpckind if not set rather than overriding to debug_geth * Use freshly generated sepolia test data * Use sepolia compatibility data * Fix spelling * update PreimageOracle.sol snapshot --------- Co-authored-by: Adrian Sutton <[email protected]> * fix: use correct chain ID in fault dispute game (#9734) * fix: use correct chain ID in fault dispute game Updates the fault dispute game to insert the correct chain ID in the local preimages. Was previously inserting the L1 chain ID but needs to be inserting the L2 chain ID or two chains using the same L1 can't be distinguished from one another. * fix(ctb): snapshots --------- Co-authored-by: refcell <[email protected]> * op-challenger: Reduce log level to warn when local not node in sync (#9732) This often happens for new games because op-node is configured with a follow distance. * op-e2e: Add e2e test that checks steps that load local preimages. (#9687) Co-authored-by: refcell <[email protected]> * TXManager: add IsClosed to TxMgr and use check in BatchSubmitter (#9470) * add IsClosed to TxMgr and use check in BatchSubmitter * add generated mock * move isClosed above publish in sending loop * more IsClosed * maint(ct): minor contracts script cleanup (#9724) Just some minor cleanup and reorganization in the script folder. Wanted to tidy up all the different scripts we have. * feat: implement bigbond version of getRequiredBond (#9580) Implements the Big Bonds v1.5 (tm) version of getRequiredBond. This is a relatively simple bond model designed to carry the contracts through the next 6-12 months until a fully dynamic bond model is implemented. * Proxy.sol constructor docs typo (#9638) "as" => "has" * contracts-bedrock: delete dead code (#9741) * contracts-bedrock: delete dead code There was some legacy code in the deploy script leftover from the removal of hardhat deploy artifacts. This deletes that code as its no longer needed. * contracts-bedrock: cleanup comments * contracts-bedrock: delete more dead code (#9742) * contracts-bedrock: delete more dead code Removes legacy getters that read hh deploy artifacts from disk. These are no longer used since the hh deploy artifacts no longer exist. It is expected that for doing deployments, either the address is populated into the `Artifacts` contract at runtime or the contract addresses are populated via `CONTRACT_ADDRESSES_PATH` env var which points to a JSON file in the superchain-registry repo. * lint: fix * feat(ctb): Add `ISemver` to the `PreimageOracle` and `MIPS` (#9743) * Add semver to MIPS/PreimageOracle * bindings semver * op-program: Delegate oracle precompile override gas calculations to the original precompile (#9721) * op-program: Generic precompile oracle The generic precompile oracle replaces the point evaluation precompile oracle. The new oracle can be used to retrieve the return data and status of any precompile, including bn256Pairing and ecrecover. * op-challenger: Use generic precompile oracle Replace the KZG point evaluation oracle with a generic precompile oracle * op-program: Simplify required gas logic. Use FromHex instead of Hex2Bytes * op-program: Set beacon URL when capturing and verifying sepolia chain data * op-program: Actually use the beacon URL * op-program: Use default l1-rpckind if not set rather than overriding to debug_geth * Use freshly generated sepolia test data * Use sepolia compatibility data * Fix spelling * update PreimageOracle.sol snapshot * op-program: Delegate oracle precompile override gas calculations to the original precompile Ensures that any future gas schedule changes for precompiles are automatically picked up and reduces the amount of duplicated code. * op-geth: Update to latest optimism branch commit --------- Co-authored-by: inphi <[email protected]> Co-authored-by: refcell <[email protected]> * dependabot(npm): bump @wagmi/cli from 2.1.1 to 2.1.2 (#9747) Bumps [@wagmi/cli](https://github.com/wevm/wagmi/tree/HEAD/packages/cli) from 2.1.1 to 2.1.2. - [Release notes](https://github.com/wevm/wagmi/releases) - [Changelog](https://github.com/wevm/wagmi/blob/main/packages/cli/CHANGELOG.md) - [Commits](https://github.com/wevm/wagmi/commits/@wagmi/[email protected]/packages/cli) --- updated-dependencies: - dependency-name: "@wagmi/cli" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * dependabot(npm): bump viem from 2.7.6 to 2.7.19 (#9745) Bumps [viem](https://github.com/wevm/viem) from 2.7.6 to 2.7.19. - [Release notes](https://github.com/wevm/viem/releases) - [Commits](https://github.com/wevm/viem/commits/[email protected]) --- updated-dependencies: - dependency-name: viem dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat(op-dispute-mon): output fetch time metric (#9744) * Remove hardfork activation time overrides (#9642) * go get github.com/ethereum-optimism/superchain-registry/superchain@1203fe7 && go mod tidy * update op-geth dependency * remove hardfork activation time overrides * remove unused consts * Revert "remove hardfork activation time overrides" This reverts commit 34b761f267aa3bbeaaa16f4d328ad91dec20d4e9. * update superchain * Revert "remove unused consts" This reverts commit d1fca170f24f608f75d0d9ca8c12597bffd9df83. * get Canyon,Delta and EcotoneTime fron superchain chain config * remove sepolia devnet specialcase (will be moved to superchain registry) * update op-geth * add oplabs-devnet-0-sepolia-dev-0 to chains_test * fix correct DeltaTime for sepoliaDev0Cfg * go get github.com/ethereum-optimism/superchain-registry/superchain@2dcb036 && go mod tidy * remove TODO * go get github.com/ethereum-optimism/superchain-registry/superchain@c2e25cc && go mod tidy * update dependency on op-geth * update expected CanyonTime for oplabs-devnet-0-sepolia-dev-0 * update dependency on superchain and op-geth * make mod-tidy * go get github.com/ethereum-optimism/superchain-registry/superchain@c557df8 && go mod tidy * update op-geth to v1.101308.3-rc.1 && go mod tidy * make mod-tidy * contracts-bedrock: cleanup scripts (#9755) * contracts-bedrock: cleanup scripts Modularize and cleanup the deploy scripts. Breaks out functionality into reusable libraries to enable more reuse of code. This sort of refactor has been necessary for some time, now it is much easier that there is no need for hardhat deploy artifacts. Deletes a bunch of dead code meant to handle the hh deploy artifacts and generally simplifies the deploy scripts. Now it is much easier to read them without having to go in circles or deal with understanding spaghetti code. * contracts-bedrock: lint * contracts-bedrock: lint * contracts-bedrock: lint * dependabot(npm): bump vite from 5.0.12 to 5.1.5 (#9750) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.0.12 to 5.1.5. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.1.5/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat(ctb): Remove cancun activation time in `PreimageOracle` (#9754) * Remove cancun activation config * Fix `enableFaultProofs` * fix(ctb): cleanup script imports (#9760) * op-challenger: Cache the cannon absolute prestate (#9756) The prestate is large so can be slow to load. Verifying the prestate for hundreds of games at startup is repeatedly loading the configured prestate file, adding a large delay to being able to start playing games. * feat(ctb): Update `sepolia-devnet-0` deploy config (#9761) * Update `sepolia-devnet-0` deploy configuration * prestate * Update min proposal size / mock `SuperchainConfigProxy` * map local -> L2 * update split depth to 30. * feat(op-node): gater unblock (#9763) * feat(op-node): gater unblock * --amend * op-node: Restore previous unsafe chain when invalid span batch (#8925) * op-node: Restore previous unsafe chain using backupUnsafe * op-e2e: Enable custom error while mocking L2 RPC error * op-e2e: Add BackupUnsafe tests * op-node: Fix comment * op-node: Follow convention for backup unsafe head metric * op-e2e: Fix BackupUnsafe tests * op-node: Tailered/Consistent log message * op-e2e: Better coding style * op-node: Refactor code for trying backupUnsafe reorg * op-node: Better variable name * op-e2e: Remove global variable Test are run concurrently so accessing shared global object is problematic * Avoid importing op-e2e package from op-node (#9765) * op-wheel: Support for Engine API V3 calls & version selection (#9681) * op-service: split EngineAPIClient out of EngineClient This way, the Engine API RPC client can be reused in other components, like op-wheel. * op-service/eth: Add BlockAsPayloadEnv * op-wheel: Use new Engine API V3 calls * op-wheel: Add rewind command Also adds an open RCP endpoint because the "debug" rpc namespace is not available on the authenticated endpoint. This also fixes chain config loading. Also sets some sane default http RPC endpoints. * op-wheel: Move engine.version validation into flag Action * op-wheel: improve rewind command * op-challenger: Support claiming bonds for multiple addresses (#9770) Allows the challenger to be configured to claim bonds for the proposer. * op-service: Make Multicaller more generic (#9767) * multicaller: Support generic calls, not just eth_call * multicaller: Support generic calls, not just eth_call * multicaller: Implement balance_call * multicaller: Split out a generic rpc stub for testing RPC requests other than eth_call Test balance call * multicaller: Move Block type to separate package to avoid dependency cycles (#9768) * multicaller: Support generic calls, not just eth_call * multicaller: Support generic calls, not just eth_call * multicaller: Implement balance_call * multicaller: Split out a generic rpc stub for testing RPC requests other than eth_call Test balance call * multicaller: Move Block type to separate package to avoid dependency cycles for multicaller tests. * fix(op-service): remove old balance call test --------- Co-authored-by: refcell <[email protected]> * Add e2e test for sequencer failover (#9713) * E2E test * Fix compile errors * Check error * delete unused Config.BlobsEnabledL1Timestamp (#9766) * feat(op-e2e): Bond Claiming Tests (#9762) * feat(op-e2e): test reclaiming bonds by the challenger * fix(op-e2e): review * fix(op-challenger): remove verbose claim logging (#9777) * fix(proxyd): log initialization (#9785) * fix(proxyd): log initialization * update integration test as well * removing old binary signer script and using official one (#9776) * removing old binary signer script and using official one * fixing conditions for calling the signer * contracts-bedrock: update op-chain-ops mainnet MCP addresses (#9786) Update `op-upgrade` tooling with the MCP mainnet contract addresses. Used to generate https://github.com/ethereum-optimism/superchain-ops/pull/101 altho this commit would need to be backported to the `op-contracts/v1.3.0-rc.1` branch to make the generation of https://github.com/ethereum-optimism/superchain-registry/pull/114 reproducible. * export ChannelBuilder so we can use it in external analysis scripts (#9784) * feat(op-challenger): Selective Claim Resolution (#9780) * feat(op-challenger): selective claim resolution * fix(op-challenger): Add selective claim resolution tests * op-node: Unhide the safedb.path option (#9789) * `l2ImmutableDeployer` : remove contracts with no immutable (#9723) * remove contracts with no immutable * there are 6 upgrade txs * break early * More bootnodes (#9801) * remove preinstall only-allow command from packages (#9805) * remove preinstall only-allow command from packages * add changeset * Update .changeset/calm-boxes-do.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Will Cory <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update foundry version in CI (#9810) * check-ecotone: Log gas usage, fix nonce in checkBlobTxDenial (#9814) * Version Packages (#9812) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * fix versions.json (#9817) * fix(op-e2e): E2E Bond Test Alphabet VM Migration (#9803) * fix(op-e2e): migrate bond e2e test to the alphabet vm * op-e2e: Avoid hard coded expected amounts to make test less brittle. * op-e2e: Skip asserting Alice's initial balance. --------- Co-authored-by: Adrian Sutton <[email protected]> * op-program: Avoid requesting L1 genesis block when starting from L2 genesis (#9807) * op-program: Avoid requesting L1 genesis block when starting from L2 genesis. * op-program: Fix unit tests * feat(op-challenger): Parallelize Agent Actions (#9804) * feat(op-challenger): Place agent actions behind a synced wait group * op-challenger: Split out individual action into a separate method to reduce nesting. --------- Co-authored-by: Adrian Sutton <[email protected]> * dependabot(gomod): bump gorm.io/driver/postgres from 1.5.6 to 1.5.7 (#9816) Bumps [gorm.io/driver/postgres](https://github.com/go-gorm/postgres) from 1.5.6 to 1.5.7. - [Commits](https://github.com/go-gorm/postgres/compare/v1.5.6...v1.5.7) --- updated-dependencies: - dependency-name: gorm.io/driver/postgres dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * dependabot(gomod): bump github.com/jackc/pgx/v5 from 5.5.4 to 5.5.5 (#9815) Bumps [github.com/jackc/pgx/v5](https://github.com/jackc/pgx) from 5.5.4 to 5.5.5. - [Changelog](https://github.com/jackc/pgx/blob/master/CHANGELOG.md) - [Commits](https://github.com/jackc/pgx/compare/v5.5.4...v5.5.5) --- updated-dependencies: - dependency-name: github.com/jackc/pgx/v5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-challenger: Allow claim bonds from games in the allow list (#9822) * op-dispute-mon: Add extractor for bond data (#9787) * op-dispute-mon: Report bond collateral metrics (#9791) * op-dispute-mon: Add extractor for bond data * op-dispute-mon: Implement transformer for bond collateral data * op-dispute-mon: Report metrics for bond collateral. * better separate out state publishing from state draining (#9757) * op-batcher: Multi-blob Support (#9779) * op-batcher: Prepare multi-frame support * op-batcher: adapt tests to multi-frame txData * op-batcher: add multi-blob transaction support The existing configuration parameter TargetNumFrames can be used to specify the desired number of blobs per transaction. * op-batcher: improve blobs configuration (for testing) * op-e2e: add multi-blob batcher test * op-batcher: consolidate txID String & TerminalString impls and add a test for it. * op-batcher: Fix config test * op-e2e: Improve multi-blob test to assert full blobs * op-batcher: resolve open TODOs & renames (multi-blob) * op-batcher: Test channel.NextTxData for single and multi frame txs * op-plasma: sync derivation with DA challenge contract state (#9682) * feat: plasma e2e * feat: skip oversized inputs * fix: bring back metrics * feat: set usePlasma in e2e test params * fix: lint * fix: activate plasma flag in data source test * fix: add DA contract proxy to deploy config * more tests, fix leaky abstraction and refactor loadChallenges * fix: cleanup type assertion * support for l1 reorgs, proxy l1 finality signal and tests * fix: plasma disabled * add plasma specific e2e test run * strongly typed commitment * fix test * fix sync lookback * finalize with l1 signal events instead of derivation * adjust pipeline errors * fix batcher commitment encoding and invalid comm logging * fix: adjust plasma state pruning and use bool for DA resetting flag * fix: use l1 fetcher and check pq length * dependabot(npm): bump @swc/core from 1.4.1 to 1.4.6 (#9833) Bumps [@swc/core](https://github.com/swc-project/swc) from 1.4.1 to 1.4.6. - [Release notes](https://github.com/swc-project/swc/releases) - [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md) - [Commits](https://github.com/swc-project/swc/compare/v1.4.1...v1.4.6) --- updated-dependencies: - dependency-name: "@swc/core" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat(ct): unlock can be called while paused (#9819) Modifies DelayedWETH.unlock so that it can be called while the system is paused. Same change was recently applied to the specs. Idea behind this change is that the unlock() function is required for a game to resolve, so pausing the system would also block games from resolving. We want games to be able to resolve, we simply don't want incorrectly resolved games to be able to remove ETH from the contract. As unlock does not distribute any ETH, this change is considered safe. * Final version for Kontrol pausability proofs (#9530) * Update tests to native symbolic `bytes` and `bytes[]` * adding lemmas * `run-kontrol.sh`: add more sensible parameters * Change `startPrank` by `prank` * Replace `mockCall` workaround with `vm.mockCall` * Make `bytes` length symbolic * `KontrolUtils`: remove symbolic workarounds * `run-kontrol.sh`: add `prove_proveWithdrawalTransaction_paused` * `forge fmt` * `versions.json`: bump Kontrol from `0.1.127` to `0.1.156` * Remove `ASSUME` comments * ci: run kontrol on develop and allow manual dispatch * ci: rename parameter * `OptimismPortalKontrol`: add remaining ranges for `_withdrawalProof` * Add forge-like UX to `run-kontrol.sh` * `pausability-lemmas.k`: clean file * general tests, further lemmas, summary claim * Address shellcheck failures * Change `pausability-lemmas.k` to `pausability-lemmas.md` * `versions.json`: bump `kontrol` from `0.1.156` to `0.1.178` * `OptimismPortalKontrol`: update `kontrol` natspec to version 0.1.178 * `pausability-lemmas.md`: remove unused `Lemmas` header * Update packages/contracts-bedrock/test/kontrol/pausability-lemmas.md Co-authored-by: Matt Solomon <[email protected]> * Update packages/contracts-bedrock/test/kontrol/pausability-lemmas.md Co-authored-by: Matt Solomon <[email protected]> * Update packages/contracts-bedrock/test/kontrol/pausability-lemmas.md Co-authored-by: Matt Solomon <[email protected]> * Update packages/contracts-bedrock/test/kontrol/pausability-lemmas.md Co-authored-by: Matt Solomon <[email protected]> * `pausability-lemmas.md`: fix spelling typo * `pausability-lemmas.md`: fix typo `bytearrays` to `byte arrays` * `run-kontrol.sh`: correctly format temorarily unexecuted lemmas * `common.sh`: execute `copy_to_docker` only when in docker mode * `make-summary-deployment.sh`: add argument check before parsing * Reflect `kontrol summary` change to `kontrol load-state-diff` From version `0.1.162`, `kontrol summary` has been renamed to `kontrol load-state-diff`. The reason of this renaming is that `kontrol summary` will be used by kontrol's compositional symbolic execution. Also, changing the name to `load-state-diff` makes more explicit what the command does. Related PR: https://github.com/runtimeverification/kontrol/pull/374 * `pausability-lemmas.md`: remove upstreamed lemmas * fix: writing typos * lemma text pass * paragraph about summary maintainability * README.md: include latest changes * pausability-lemmas.md: markdown link typo * KontrolUtils: add documentation comment * pausability-lemmas.md: fix markdown typo vol2 * pausability-lemmas.md: fix markdown typo vol3 * Add specialized usage functions * `README.md`: remove `bash` in `make-summary-deployment.sh` description * `README.md`: complete `Add New Proofs` section * versions.json: bump kontrol from 0.1.178 to 0.1.196 * run-kontrol.sh: add `--xml-test-report` flag * .gitignore: add `kontrol_prove_report.xml` * foundry.toml: set `ast = true` in `kprove` profile * config.yml: set correct path for kontrol `store_artifacts` * config.yml: add `store_test_results` step to `kontrol-tests` job * package.json: execute `run-kontrol.sh` with `script` option We run `run-kontrol.sh` with the `script` option to avoid executing all proofs * run-kontrol.sh: remove proof with 10 elements in favor of 0 and 1 The longer the `_withdrawalProof` array the longer the execution time Adding the lengths 0 and 1 fits within the max cpus and won't take as long to run * chore: typos and formatting * ci: fix kontrol trigger * README.md: minor typo --------- Co-authored-by: Petar Maksimovic <[email protected]> Co-authored-by: Matt Solomon <[email protected]> * feat: add tx data version byte (#9845) * feat: add tx data version byte * fix: check data len before version byte * avoid passing version byte * op-dispute-mon: Remove tracked games metric (#9843) It got broken and wasn't being updated and the data can be easily derived from the game_agreement anyway. * op-program: Update verification tests to not depend on L2OO (#9821) * op-program: Update fpp-verify to not depend on L2OO Add verify test for the first sepolia testnet block * op-program: Capture first mainnet block * op-program: Capture ecotone section of sepolia * op-program: Remove logging of l1 head again to make testing easier * Reverse foundry version (#9842) * op-challenger: Verify large preimages in all oracles (#9841) * op-challenger: Use a separate oracle registry and retrieve list on each verification cycle * op-challenger: Register oracles for all active games. * op-challenger: Fix a race condition in challenger tests (#9850) * op-challenger: Fix a race condition in challenger tests now that actions are performed in parallel. * op-dispute-mon: Fix flaky bond enricher test * build(deps): bump google.golang.org/protobuf in /proxyd (#9851) Bumps google.golang.org/protobuf from 1.31.0 to 1.33.0. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-program: Run new compat tests (#9852) Adds capture-sepolia-ecotone to list of data sets to capture. The verify isn't run yet because the data wasn't captured. * op-program: Readd missing var to makefile to fix capturing data. (#9858) * op-e2e: Add multi-blob action test (#9774) * op-batcher: more accurate max channel duration tracking (#9769) * Update channel timeout duration logic to persist across restarts Co-authored-by: Sebastian Stammler <[email protected]> * Add tests for fetching safe l1 origin --------- Co-authored-by: Sebastian Stammler <[email protected]> * fix link and typos in BindGen readme (#9715) * fix link and typos in BindGen readme * another * review fix * fix typo * fix typo * another * another * another * dependabot(npm): bump pino from 8.17.2 to 8.19.0 (#9829) Bumps [pino](https://github.com/pinojs/pino) from 8.17.2 to 8.19.0. - [Release notes](https://github.com/pinojs/pino/releases) - [Commits](https://github.com/pinojs/pino/compare/v8.17.2...v8.19.0) --- updated-dependencies: - dependency-name: pino dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * dependabot(npm): bump dotenv from 16.4.1 to 16.4.5 (#9830) Bumps [dotenv](https://github.com/motdotla/dotenv) from 16.4.1 to 16.4.5. - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](https://github.com/motdotla/dotenv/compare/v16.4.1...v16.4.5) --- updated-dependencies: - dependency-name: dotenv dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * improve readability and fix lint (#9864) * chore: fix devnet up failed due to invalid env variable in docker-compose.yaml (#9862) * op-program: Enable sepolia-econtone compat test (#9861) * ci: fix juint path specificer (#9878) * op-dispute-mon: Check proposals are supported by on chain data (#9847) Checks the proposed L2 block was safe when the game was created using the safe head database if available. If not available for any reason, it falls back to the current behaviour of considering the root valid if it matches the local node. * chore(deps-dev): bump follow-redirects in /ufm-test-services/metamask (#9882) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.6. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.6) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-e2e: Fix flaky System4844E2E test (#9888) * op-wheel: delete dead code (#9886) * op-wheel: delete dead code The `ovm-owners` command was only relevant for the migration from legacy op mainnet to bedrock. Now that bedrock is running in production, we can delete this code. It reduces code in the codebase that is no longer necessary to make maintaining easier. The ability to perform the upgrade is preserved in the legacy codebase, snapshotted at a point where the migration is reproducible. See https://github.com/ethereum-optimism/optimism-legacy * op-wheel: fix build * feat(proxyd): use a specific redis instance for consensus_ha (#9877) * feat(proxyd): add smoke test (#9875) * fix(ctb): Update `proveWithdrawalTransaction` replay require. (#9892) * Update `proveWithdrawalTransaction` require * revert message update in test * feat: introduce AnchorStateRegistry (#9835) * feat: introduce AnchorStateRegistry Introduces the AnchorStateRegistry used to hold anchor states for different game types. Anchor states are updated automatically when a game resolves. * kontrol snapshot --------- Co-authored-by: clabby <[email protected]> * fix(challenger,dispute-mon): refactor out min game timestamp into (#9890) op-service. * feat(ctb): Sepolia FPAC deploy config (#9898) * Sepolia FPAC deploy config * fix deploy script * dependabot(gomod): bump gorm.io/gorm from 1.25.7 to 1.25.8 (#9894) Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.25.7 to 1.25.8. - [Release notes](https://github.com/go-gorm/gorm/releases) - [Commits](https://github.com/go-gorm/gorm/compare/v1.25.7...v1.25.8) --- updated-dependencies: - dependency-name: gorm.io/gorm dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * remove impossible condition (#9885) * feat(op-node): p2p rpc input validation (#9897) * fix(ct): bugs in DelayedWETH (#9899) * fix(ct): bugs in DelayedWETH Fixes two bugs in Delayed WETH. First was a limitation of the recover function that would have made it relatively easy to DoS the function by simply withdrawing small amounts of ETH every time the owner attempted to withdraw the full balance. Second is a bug in hold function where the approval was the wrong way around. * Update Kontrol snapshot --------- Co-authored-by: inphi <[email protected]> * Fix kontrol script to avoid workspace bind-mount (#9901) * maint(ct): misc comment cleanup (#9902) Some miscellaneous comment cleanup for dispute contracts. * op-batcher: rework channel & compressor config, fix overhead bug (#9887) * op-plasma: track challenges when pipeline is stalled (#9856) * fix: track challenges when pipeline is stalled * cleanup * fix: remove tx version byte in test * remove Heap usage * fix: add pending queue * remove unused check * use 2 PQs * Update comment in op-e2e/actions/plasma_test.go Co-authored-by: Joshua Gutow <[email protected]> --------- Co-authored-by: Joshua Gutow <[email protected]> * FPACOPS edits (#9903) * feat(sdk): improve SDK handling of DisputeGameFactory (#9907) Improves the SDK to handle the DisputeGameFactory more carefully and validate the games that it queries from the factory. Should mean that the client will not attempt to create withdrawals using invalid proposals. * feat(ct): update readme to prepare for audit (#9867) Updates the README for contracts-bedrock to prepare for the upcoming audit of the FPAC system. * chore(op-dispute-mon): bind enrichers (#9908) * dep…
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.
This PR resolves #344