Closed
Conversation
Applies the semgrep rule for return-arg-fmt to Solidity tests.
* optimize the doc * small fix * reomve outdated content
…imism#12602) * inclusion proof * fix test * add inclusion proof * goimports
Bumps the number of heavy fuzz runs to 20k. 10k recently missed a flake so bumping to 20k to try to avoid that in the future. Not perfect but it will reduce the probability a bit. Developers can still manually set the number of fuzz runs for a particular test with annotations if 20k is too high.
This test fails a lot when executors are under load. This PR changes the test to find the first block with more than one batcher transaction in it, which should be sufficient to assert that the batcher is submitting multiple transactions at once.
Updates semgrep config to apply expectRevert to tests. Fixes a few instances where this wasn't being followed.
* feat: support permit2 on superchainweth * chore: run pre-pr --------- Co-authored-by: agusduha <agusnduha@gmail.com> Co-authored-by: gotzenx <78360669+gotzenx@users.noreply.github.com>
…ene format (ethereum-optimism#12619) op-deployer generates rollup configs, and those rollup configs are currently broken for older versions of op-node that don't support reading the EIP1559Params field in the SystemConfig. This PR adds a meta field within the SystemConfig that, when enabled, marshals the SystemConfig without the EIP1559Params field. This solution is backwards-compatible and minimally invasive, requiring no changes to the consensus-critical code that consumes the SystemConfig elsewhere. Closes ethereum-optimism#12615.
* op-program: Compile op-program for Cannon64 * op-program: Update comment
…ism#12622) Co-authored-by: axelKingsley <axel.kingsley@gmail.com> Co-authored-by: Tyler Smith <mail@tcry.pt>
* op-supervisor: DB improvements for cross-safe updates Co-authored-by: axelKingsley <axel.kingsley@gmail.com> Co-authored-by: Tyler Smith <mail@tcry.pt> * op-supervisor: dependency-set improvements Co-authored-by: axelKingsley <axel.kingsley@gmail.com> Co-authored-by: Tyler Smith <mail@tcry.pt> --------- Co-authored-by: axelKingsley <axel.kingsley@gmail.com> Co-authored-by: Tyler Smith <mail@tcry.pt>
Update WaitForBlock to maintain two timeouts: a no-change timeout, which fires if the chain's head does not change within a specified window, and an absolute timeout, which fires if the chain's head does not meet or exceed the specified block. These changes should ideally reduce the number of test flakes we're seeing. Everything takes longer when test executors are under load; by maintaining these two timeouts we can provide longer-running tests with more buffer while retaining the ability to fail fast if the chain gets stuck. As part of this PR I also refactored the wait method to use polling rather than WebSockets. I've found WebSockets to be unreliable in tests.
* cannon: Remove memory.SetUint32 Remove uint32 word stores from the `mipsevm.memory` interface. `SetUint32` is inflexible due to its word-alignment constraints. This prevents tests for 32 and 64-bit VMs from using the same program counter values when writing instructions to memory. Instead, tests should use the new `testutil.StoreInstruction` utility function to write instructions to any naturally aligned memory location. * use arch.Word csats in go-ffi
…#12599) * cannon: Simplify load/stores with helper functions * use subword utils in MIPS.sol * lint MIPS.sol * add natspec to MIPSInstructions.sol * use updateSubWord in MIPSInstructions.sol * bump MIPS contract semver * fix nits
* feat(ct): add semgrep rule to use encodeCall encodeCall is almost always better than encodeWithSelector because it maintains type safety. Prefer encodeCall unless encodeWithSelector is actually necessary. * maint(ct): update contracts to use encodeCall Updates a number of contracts to use encodeCall instead of encodeWithSelector where possible.
…-optimism#12628) * update test folder so that smegrep require and revert checks pass for it * fix test
* op-supervisor: cross-safe-updates PR squashed op-supervisor: experimental cross-safety, with hazard detection tweak: Add some errors/error returns in backend/cross. wip: Chain index <> ID mapping. fix: Check parent instead of re-checking hazardBlock. Remove Hazard Work Write missing DB Bindings OpenBlock, LocallyDerivedFrom, CrossDerivedFrom Configurable WorkFn for Workers op-supervisor: move chain-index <> chain ID translation into dependency set, fix some interfaces op-supervisor: update cross-safety worker routine op-supervisor: update more error handling op-supervisor: move errors to types package op-supervisor: check CanExecuteAt and CanInitiateAt op-supervisor: determine cross-safe candidate and L1 scope, and more fixes todo L1 scope increment op-supervisor: cross-safe L1 scope bump op-supervisor: dependency set getter op-supervisor: L1 scope increment fix op-supervisor: fix cross-safe updates typing op-node: signal L1 traversal of derivation to supervisor op-supervisor: fromda fixes and tests op-supervisor: fix OpenBlock, fix/add missing interface methods, hook up cross-safe worker routines OpenBlock to return map[uint32]ExecutingMessage Add Frontier Unit Tests fix WithParent panic op-node: register L1 traversal with op-supervisor op-node,op-supervisor: add logging, temp work around for interop local-safe updates Add safe_start_test, unsafe_start_test Add safe_update_test and unsafe_update_test add worker_test op-supervisor: fix cross-safe L1 scope bumping op-supervisor: fix logs DB test Co-authored-by: axelKingsley <axel.kingsley@gmail.com> Co-authored-by: Tyler Smith <mail@tcry.pt> * op-node: fix interop deriver test * op-e2e: fix interop action test * op-supervisor: improve map init * op-node: link interop TODO comment to issue, in engine events emitter * op-supervisor: cleanup Worker instances of tests --------- Co-authored-by: axelKingsley <axel.kingsley@gmail.com> Co-authored-by: Tyler Smith <mail@tcry.pt>
* add interfaces for safe contracts, use named imports for DeputyGuardianModule * fix failing test
Removes the FeeVaultWithdrawal.s.sol script that was previously used to trigger withdrawals manually. All of this is automated now and you can just use Etherscan if you really want to do things manually so the value of the script is minimal.
* fix failing interfaces * fix crossl2inbox, revert some changes * fix semgrep error
…sm#12654) Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.78 to 7.0.79. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](minio/minio-go@v7.0.78...v7.0.79) --- 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>
…sm#12625) Replaces the golang package for natspec/semver matching with a semgrep rule. Code reduction is good.
* op-deployer: Add Docker builds * fix job syntax * specify dockerfile * remove accidental whitespace changes
* use deploy utils over new* in tests * replace new * with use of deployUtils * fix failing test * use deployutils for weth98 test file * fix semgrep * fixes * fixes * fixes...
Make migration-block-time a required flag --------- Co-authored-by: alecps <alec@cLabs.co> Co-authored-by: piersy <pierspowlesland@gmail.com>
This change deletes bad blocks at migration time, since we don't need to keep historical bad blocks and if not transformed like the other migrated blocks can lead to panics when trying to load them (which happens when a new bad block is discovered). I've tested this locally, by taking a datdir where bad blocks could be retrieved via `geth db get 0x496e76616c6964426c6f636b` and migrated it and verified that then the bad blocks cannot be retrieved which looks like this: INFO [10-28|13:00:32.736] Get operation failed error="leveldb: not found" Since the key is not present.
Changes in implementation require changes in version. This is ensured by `./scripts/checks/check-semver-diff.sh`.
…254) * OptimismPortal2 set initial `_balance` through StorageSetter pattern Fixes #239 The custom gas-token feature adaptation for the fault-proof system using the `OptimismPortal2` contract has been merged recently upstream. We are using the custom-gas-token feature and additionally require a modification of the OptimismPortal's `_balance` value to be set to the entire allocation of Celo on the L2 - meaning that all L1 token is initially locked in the bridge and only usable on the L2. Those changes are now adapted also to the `OptimismPortal2`, which was a requirement to make our custom-gas-token pre-locked balance feature work in conjunction with fault-proofs. * Adapt withdraw e2e-tests to work with fault-proofs * Use prettier for formatting e2e tests * Fix typo Co-authored-by: Valentin Rodygin <20768968+carterqw2@users.noreply.github.com> * Set L1-fee scalars to zero in devnet --------- Co-authored-by: Valentin Rodygin <20768968+carterqw2@users.noreply.github.com>
Forge started to require the `--broadcast` flag for actually deploying a contract. Otherwise it will only do a dry-run. We should really pin our foundry version. But let's wait until we rebase to the latest upstream, since there have been changes to the overall setup. Closes #278
…ListWithMedian (#277) * Ignore AddressSortedLinkedList and AddressSortedLinkedListWithMedian as targets in fuzzing test of SafeCall_Test * Format test/libraries/SafeCall.t.sol
This image resembles Optimism's self hosted CI runner. Add parallel command to ci-builder Test new runner image Install parallel in ci image
Not sure if this is necessary, but building the snapshots asked me to do it.
Those have warnings with `scripts/checks/interfaces`. Ignore those warnings for now.
It fails with ERROR: failed to solve: ghcr.io/anton-rs/kona/kona-fpp-asterisc:kona-client-v0.1.0-alpha.7: failed to resolve source metadata for ghcr.io/anton-rs/kona/kona-fpp-asterisc:kona-client-v0.1.0-alpha.7: failed to authorize: failed to fetch anonymous token: unexpected status from GET request to https://ghcr.io/token?scope=repository%3Aanton-rs%2Fkona%2Fkona-fpp-asterisc%3Apull&service=ghcr.io: 403 Forbidden and I don't see how I could fix that.
We can't reach the Optimism-internal one in our CI.
9e33bfe to
0d8768c
Compare
piersy
pushed a commit
that referenced
this pull request
Apr 8, 2025
* 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 (#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 (#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 (#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 (#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 (#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 (#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 (#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 (#302) * fix: include lockbox on reinitialization test and add todos with issue number (#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 (#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>
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.
No description provided.