- 02 Oct, 2024 1 commit
-
-
Inphi authored
* cannon: 64-bit Refactor Refactor Cannon codebase to support both 32-bit and 64-bit MIPS emulation while reusing code as much as possible. * fix 64-bit test compilation errors * review comments * more review comments * fcntl syscall err for 64-bit * simplify pad check * cannon: sc must store lsb 32 on 64-bits * lint * fix sc 64-bit logic * add TODO state test
-
- 01 Oct, 2024 16 commits
-
-
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.
-
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
-
Adrian Sutton authored
-
smartcontracts authored
FaultDisputeGame and PermissionedDisputeGame interface files are annoying because the semgrep ignore comment doesn't seem to work properly.
-
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.
-
mbaxter authored
* cannon: Update cannon go test program versions * cannon: Allow more steps for multithreaded program
-
Roberto Bayardo authored
-
Inphi authored
-
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:
Matt Solomon <matt@mattsolomon.dev> --------- Co-authored-by:
Matt Solomon <matt@mattsolomon.dev>
-
Inphi authored
* ci: Cannon v2 STF verify * ci: remove op-e2e-cannon-tests dep
-
Inphi authored
-
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
-
Harper authored
-
Maurelian authored
-
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.
-
smartcontracts authored
Kontrol profile was originally just looking at the L1 contracts which caused issues now that we're deploying via vm.getCode.
-
- 30 Sep, 2024 4 commits
-
-
smartcontracts authored
Fixes an annoying bug inside of make-summary-deployment that only became apparent with a recent commit that caused state diffs to start to appear under the address of Deploy.s.sol.
-
Maurelian authored
* test: Transfer to finalSystemOwner rather than SystemOwnerSafe * feat: Fix comment references to ProxyAdmin
-
Adrian Sutton authored
Trying to reproduce the missing prestate failure. Also now runs hourly instead of 4 hourly to increase chances of finding a failing case.
-
zhiqiangxu authored
* add retry.Do0 * update code to use Do0
-
- 29 Sep, 2024 1 commit
-
-
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
-
- 28 Sep, 2024 6 commits
-
-
Maurelian authored
* Updates to OPCM and OPCMInterop * Update DeployImpls and OPCM Tests * remove some unused imports * Undo mapping type change * Undo DeployOutput type change * Semver and snapshots
-
smartcontracts authored
We no longer need these interfaces now that we have the actual interfaces.
-
Matt Solomon authored
* add missing assertion and remove unneeded todo comments * chore: semver lock + pre-pr-no-build * chore: rename function
-
Axel Kingsley authored
* fixes * op-supervisor: head db init fix, logging, op-node debug logging * interop: track recent safety data * Early integration and refactor of Views and SafetyIndex * update for rebase * rename RecentSafetyIndex ; reorganize * refactor Pointer method on iterator * logging * Delete unused Tracking Code ; New ChainsDB.Safest * fix naming miss * fix mistaken line deletion * Update op-supervisor/supervisor/backend/safety/safety.go Co-authored-by:
protolambda <proto@protolambda.com> * Add issue numbers to TODO ; Address Proto Comments --------- Co-authored-by:
protolambda <proto@protolambda.com>
-
Matthew Slipper authored
* Cleanups for production, add standard addresses This PR: - Cleans up the intent file to be more suitable for production deployments - Fixes various bugs encountered while preparing `op-deployer` for use against predeployed OPCM contracts - Adds a new CLI command to bootstrap a new OPCM deployment against an existing set of implementation contracts Note on Solidity changes: - Since the code for custom gas tokens is in the monorepo but isn't included in an official contracts release yet, we had to add interfaces for the pre-CGT contracts to the Solidity codebase. - The `DeployImplementations` script looks at the release identifier to determine whether or not it should use the pre- or post-CGT interfaces. * goimports * lints * fix tests * revert tx manger changes * Update packages/contracts-bedrock/src/L1/interfaces/IL1StandardBridgeV160.sol Co-authored-by:
Maurelian <john@oplabs.co> * Update packages/contracts-bedrock/src/L1/interfaces/IL1CrossDomainMessengerV160.sol Co-authored-by:
Maurelian <john@oplabs.co> * use new opcm * fix test * semver * semver * bump semver * update manager deployment * natspec * SEMVER --------- Co-authored-by:
Maurelian <john@oplabs.co>
-
Hamdi Allam authored
-
- 27 Sep, 2024 12 commits
-
-
Michael Amadi authored
-
Mark Tyneway authored
The build fails when jq is not installed with a mysterious error message, so improve the error message. This will help debugging for new contributors.
-
Sebastian Stammler authored
* op-node/rollup/derive: Implement Holocene Frame Queue * add FrameQueue test * use non-nil context * address reviews, refactor frame loading and pruning
-
smartcontracts authored
Adds a few remaining interfaces required before we can migrate OPCM to use interfaces over source contracts.
-
Matthew Slipper authored
The devnet tests aren't providing a lot of value. They use our outdated Python devnet tooling, and only run a tiny subset of our overall test suite. They are also are flaky and slow to run. To prioritize improving the DevX of the monorepo, this PR removes the devnet tests from CCI.
-
smartcontracts authored
Certain constructor parameters were not being inserted correctly. Although this didn't cause a failure during deployment, it did cause Kontrol tests to fail.
-
Karl Bartel authored
* Accept /put path as described in spec In addition to the currently used `/put/` path to ease the migration. See https://github.com/ethereum-optimism/optimism/issues/11499. * alt-DA: write to /put path as described in spec The spec mandates using `/put` and not `/put/`, so that is what we should do. Warning: This will break DA solutions that only accept `/put/` at the moment. It is recommended that DA solutions support both paths for a while, so that updating OP-stack can happen independently of the exact DA implementation version. Closes https://github.com/ethereum-optimism/optimism/issues/11499.
-
tsnobster authored
-
Inphi authored
* ci: Add Cannon STF verify recurring job * setup remote docker * change make dir * fix cwd
-
Blaine Malone authored
* fix: Update absolute prestate * fix: just pre-pr * fix: absolute prestate updated as part of assertions. * chore: semver lock --------- Co-authored-by:
Matt Solomon <matt@mattsolomon.dev>
-
protolambda authored
* op-supervisor: cleanup cross-L2 safety types * op-node: fix interop test
-
Maurelian authored
* feat(opcm): Create and use new ISystemConfigV160 * feat(opcm): defaultSystemConfigParams in OPCM Interop * chore: semgrep * fix: handle different system config initializers * chore: revert interop changes since it uses the latest systemConfig * chore: semver lock * chore: semver locK --------- Co-authored-by:
Matt Solomon <matt@mattsolomon.dev>
-