- 02 Oct, 2024 19 commits
-
-
Inphi authored
* cannon: Define 64-bit syscalls Also add SYS_FSTAT to the list of no-op syscalls emulated by MT-Cannon * update semver-lock
-
George Knee authored
* op-service: add queue package * batcher: use Queue type for blocks * revert changes to errors.As/Is * implement and use Peek operation * queue: add unit tests * add godoc * add more test cases permute expected / got * ensure enqueue and prepend are noops when args is empty * use queue.PeekN and queue.DequeueN * typo * queue: simplify method implementations * revert to old dequeue impl
-
Matthew Slipper authored
* op-deployer: Custom gas price estimator Sepolia's fees are super high and extremely volatile right now. As a result, it became difficult for users to deploy new chains using op-deployer. The OPCM's deploy transaction buys most of the gas in the block, and the default gas price estimation logic in the transaction manager wasn't aggressive enough for the transactions to land on chain in a timely manner. This PR adds the ability to customize the transaction manager with a custom `GasPriceEstimator` function that returns the tip, base fee, and blob fee. I extracted the original logic in the transaction manager into a default estimator that will be used if one isn't specified. For op-deployer, I built a custom estimator that pads the head block's base fee by 20%, and multiplies the suggested tip by 10. After testing this, I was able to get transactions onto Sepolia reliably. The algorithm is pretty simple and overpays for transactions by a lot, but for op-deployer's use case it's more important that transactions land quickly than it is they be cheap. Deployments are a one-time thing. * code review updates * better default support * specific test for extension
-
Maurelian authored
* feat: Add a test to simplify deploy script testing * fix: lint * feat: Add clarifying comments to DeployVariations_Test
-
Blaine Malone authored
* Configurable Dispute Game Parameters * fix: more assertions for DeployOPChain.t.sol. * fix: running pre-pr command. * fix: changing dispute game types. * fix: semver lock file change. * fix: uint64 for maxGameDepth and splitDepth on go side. * fix: safe casting in solidity
-
Axel Kingsley authored
-
Maurelian authored
* feat: Use DeploySuperchain script in Deploy.s.sol Demonstrate that build breaks when using high level syntax * fix: Cannot set null protocol versions error * feat: Also save impls * fix: semver lock * fix: bump ProtocolVersions semver * feat: Add superchainProxyAdmin * feat: Undo removeing ProtocolVersion type from interface * fix: semver-lock * feat: remove setupOpChainAdmin * fix: transfer ProxyAdmin ownership after all setup is complete * feat: separate deployImplementations * feat: split up deployImplementations and deployImplementationsInterop * fix: lint
-
Adrian Sutton authored
* op-e2e: Retrieve AllocType from System instead of env * Remove more uses of env. * op-e2e: Run mt-cannon as an allocType without needing special env vars.
-
Maurelian authored
* feat: Use DeploySuperchain script in Deploy.s.sol Demonstrate that build breaks when using high level syntax * fix: Cannot set null protocol versions error * feat: Also save impls * fix: semver lock * fix: bump ProtocolVersions semver * feat: Add superchainProxyAdmin * feat: Undo removeing ProtocolVersion type from interface * fix: semver-lock
-
Chen Kai authored
* feat:add cannon load/store opcodes tests Signed-off-by:
Chen Kai <281165273grape@gmail.com> * fix:code review suggestion Signed-off-by:
Chen Kai <281165273grape@gmail.com> --------- Signed-off-by:
Chen Kai <281165273grape@gmail.com>
-
Brian Bland authored
* Sequencer: Origin Selector optimistically prefetches the next origin in background * L1OriginSelector erases cached state on reset * L1OriginSelector attempts to fetch on ForkchoiceUpdateEvent * Move to a fully event-driven model, no extra goroutines * Add missing test comment * Minor cleanup, more tests * Tune the context timeouts
-
Sebastian Stammler authored
-
Roberto Bayardo authored
This reverts commit 5bd72f69.
-
Michael Amadi authored
* use interfaces in opcm contracts * fix change * fix encodeConstructor omission * fix wrong interface usage * fix change * fix change * remove commented fn * fix semver conflict issue
-
Inphi authored
* cannon: Fix cli --stop-at-preimage value parsing * Setup alloc type in system config
-
Roberto Bayardo authored
-
Matthew Slipper authored
- The array was being appended to, but it was already a fixed length. This cause an empty chain to be added during `init`. - The outdir will now be created if it does not exist and is not a file - Hardcodes the contract artifacts to a good URL
-
Blaine Malone authored
* Configurable GasLimit for op-deployer * fix: OPContractsManager.t.sol fixed. * fix: OPContractsManagerInterop.sol * fix: make gas limit configurable.
-
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
-