1. 02 Oct, 2024 16 commits
  2. 01 Oct, 2024 16 commits
    • smartcontracts's avatar
      fix(ci): temporarily make semgrep scan ok on err (#12227) · fed6f354
      smartcontracts authored
      Temporarily makes semgrep-scan not fail on error. Currently this
      is a problem for external contributions because semgrep-scan loads
      rules from the online app which requires a login. External
      contributors don't get access to this login.
      fed6f354
    • Matthew Slipper's avatar
      op-e2e: Support specifying allocs in tests (#12216) · c2dc0abf
      Matthew Slipper authored
      * op-e2e: Support specifying allocs in tests
      
      Previously, the E2E test suite read a hardcoded set of allocs from the `.devnet` directory. There could only be one logical set of allocs per test suite run. To get around this limitation, we added matrix jobs to the CI pipeline that swapped in different versions of the allocs for alt-DA, MT Cannon, fault proofs, and the L2OO. This was very inefficient and complex: most tests don't need to run against multiple versions of the allocs, and were running 4 separate build jobs when only one was needed.
      
      This PR makes it possible for an individual test to request a specific allocs file. We can now run tests for multiple different configurations of the OP Stack - e.g. alt-DA, L2OO and fault proofs - in a single test run.
      
      To make this work, I updated the test suite's initialization method to read alloc files from multiple suffixed `.devnet-` directories. I made a a new `make devnet-allocs-tests` task to generate them. The allocs are then added to a map, and the rest of the tests use getter methods in the `config` package to locate the appropriate configuration structs.
      
      This PR seems large, but most of the modified files contain limited changes to comply with the new API for selecting test configuration based on alloc type. For example, an `allocType` configuration parameter was added to various system config structs and the `DefaultRollupTestParams` variable was made into a method so that it always returns a copy for easy extension. The important logic happens in the following files:
      
      - Makefile
      - .circleci/config.yml
      - op-e2e/config/init.go
      
      As part of this PR, I also cleaned up a few issues:
      
      - I removed the external OP Geth shim. It wasn't used anywhere, and was introducing a lot of complexity for little gain.
      - I refactored some tests to use top-level test methods rather than subtests so that they could be more easily parallelized.
      - I removed references to `UseFaultProofs`, `UseAltDA`, and other environment-based test flags from test utilities. We shouldn't be reading from the environment in test utils. Instead, we should pass in the behavior we want to the test utils themselves.
      
      * code review updates
      
      * fix gastoken test
      
      * fixes
      c2dc0abf
    • Adrian Sutton's avatar
    • smartcontracts's avatar
      fix(ci): add files to semgrep ignore (#12219) · b5b68dec
      smartcontracts authored
      FaultDisputeGame and PermissionedDisputeGame interface files are
      annoying because the semgrep ignore comment doesn't seem to work
      properly.
      b5b68dec
    • Roberto Bayardo's avatar
      - fix lint issue in Encoding.sol (#12215) · 31e244c3
      Roberto Bayardo authored
      - clarify that 'just update-foundry' needs to be run from the root of the repo in check-foundry
        script. Usually the user will be in contracts-bedrock/src when seeing this message, and the
        justfile there doesn't handle it.
      31e244c3
    • mbaxter's avatar
      cannon: Bump go tests to go1.22 (#12214) · 75b0e66d
      mbaxter authored
      * cannon: Update cannon go test program versions
      
      * cannon: Allow more steps for multithreaded program
      75b0e66d
    • Roberto Bayardo's avatar
      5bd72f69
    • Inphi's avatar
      supervisor: Fix nil check (#12209) · 909d7fd2
      Inphi authored
      909d7fd2
    • Maurelian's avatar
      test(deploy): Deploy a distinct ProxyAdmin for Superchain contracts (#12130) · b6e27b65
      Maurelian authored
      * test(deploy): Deploy a distinct ProxyAdmin for Superchain contracts
      
      * fix: only set address manager for OP Chain's ProxyAdmin
      
      * fix: typo
      
      * test: fix create2 collision between ProxyAdmins
      
      * fix: lint
      
      * fix: move setupOpChainAdmin() before setupOpAltDA
      
      The DA challenge contract needs a proxy admin too
      
      * feat: use create2AndSave for ProxyAdmin
      
      * fix: Do not double save the superchain ProxyAdmin
      
      * Fix whitespace
      Co-authored-by: default avatarMatt Solomon <matt@mattsolomon.dev>
      
      ---------
      Co-authored-by: default avatarMatt Solomon <matt@mattsolomon.dev>
      b6e27b65
    • Inphi's avatar
      ci: Cannon v2 STF verify (#12211) · b127499e
      Inphi authored
      * ci: Cannon v2 STF verify
      
      * ci: remove op-e2e-cannon-tests dep
      b127499e
    • Inphi's avatar
      tag-tool: Add --prerelease option (#12210) · f0227a82
      Inphi authored
      f0227a82
    • Mark Tyneway's avatar
      contracts-bedrock: bump forge-std (#12149) · 74679806
      Mark Tyneway authored
      * contracts-bedrock: bump forge-std
      
      Bumps forge-std to the latest release
      
      https://github.com/foundry-rs/forge-std/tree/v1.9.3
      
      This will help us to delete some solidity code and move
      to using cheatcodes in its place.
      
      * build: fix
      
      * gas-snapshot: update
      74679806
    • Harper's avatar
      Delete interface directory (#12208) · fe8f2ae7
      Harper authored
      fe8f2ae7
    • Maurelian's avatar
    • Adrian Sutton's avatar
      cannon: Support F_GETFD cmd to fcntl (#12050) · 52d0e60c
      Adrian Sutton authored
      * cannon: Support F_GETFD cmd to fcntl.
      
      * cannon: Update fuzz test expectations.
      
      * cannon: Update MIPS.t.sol
      
      * cannon: Introduce a new state version for supporting get_fd.
      
      Switches singlethreaded prestate to use .bin.gz instead of json since it now needs to detect the new state version.
      
      * cannon: Don't override the cannon version.
      
      * Update semver-lock.
      
      * cannon: Update tests to detect old versions but only check writing and parsing for the currently supported versions.
      
      * cannon: Load old version from cannon docker image
      
      * cannon: Improve logging.
      
      * cannon: Restore cannon version arg.
      
      * Fix contrac semvers.
      
      * cannon: Rename singlethreaded-getfd to just singlethreaded-2.
      
      We could just go to using the state version number directly, but particularly the difference between singlethreaded and multithreaded feels useful to keep.
      
      * cannon: Fix comment.
      
      * Update semver again.
      52d0e60c
    • smartcontracts's avatar
      fix(ct): give kontrol access to full src (#12181) · 3aabfe67
      smartcontracts authored
      Kontrol profile was originally just looking at the L1 contracts
      which caused issues now that we're deploying via vm.getCode.
      3aabfe67
  3. 30 Sep, 2024 4 commits
  4. 29 Sep, 2024 1 commit
    • Matthew Slipper's avatar
      feat: Rewrite natspec checker in Go (#12191) · cd7e9d40
      Matthew Slipper authored
      * feat: Rewrite natspec checker in Go
      
      Rewrites the `semver-natspec-check-no-build` Just command in Go to reduce runtime. This PR reduces runtime for this check from ~1m30s to about 3 seconds post-compilation.
      
      * remove old script
      
      * add unit tests
      
      * rename test
      
      * review updates
      cd7e9d40
  5. 28 Sep, 2024 3 commits