forked from Layr-Labs/optimism-archived
-
Notifications
You must be signed in to change notification settings - Fork 2
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
merge optimism-v1.9.3 into develop #10
Merged
Merged
Conversation
This file contains 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
* feat(op-program): Use `PebbleDB` for `DiskKV` * close db * fix `testFaultProofProgramScenario` tests * switch to snappy compression cockroachdb/pebble#3434 * fix tempdir * update compat release * defer k/v until preimage server and hinter have both exited
…ism#11705)" (ethereum-optimism#11707) This reverts commit 8ab4d3d.
) * - make immediate nonce-too-low error abort send (since it could never succeed otherwise) - make txmgr resubmit a transaction when fee bumping fails in case it has been dropped from the mempool - only bump fees when they really should be bumped - set txmgr overall default send timeout of 10 minutes. It was infinite, which led to permanently stuck transaction in combination with the other bugs fixed in this PR. * Update op-service/txmgr/txmgr_test.go --------- Co-authored-by: Sebastian Stammler <stammler.s@gmail.com>
golangci-lint v1.60.2 seems to report a new error when performing a nil check and length != 0 on maps. We're not using this version in CI yet but fix the error to simplify the code and provide for a future upgrade.
Removes the need for kontrol summaries to be generated at PR time. Summaries will now be generated during run-kontrol.sh instead.
Adds a new check script to contracts-bedrock that verifies that interfaces being added to the repository accurately represent the interface of the contract that the interface was generated for.
…timism#11709) * feat(op-program): Use `PebbleDB` for `DiskKV` (ethereum-optimism#11705) * feat(op-program): Use `PebbleDB` for `DiskKV` * close db * fix `testFaultProofProgramScenario` tests * switch to snappy compression cockroachdb/pebble#3434 * fix tempdir * update compat release * defer k/v until preimage server and hinter have both exited * Only open preimage source when actually needing preimages. Avoids concurrent access to the pebbledb. * op-program: Handle interrupts in host Ensures the preimage kv store is closed cleanly even when the process is sent an interrupt signal. Enables non-blocking IO so that read calls return io.EOF when a file handle is closed rather than blocking forever. * op-program: Restore file based kv store. Add pebble as an additional option. * op-program: Add option to specify KV store format to use * op-program: Switch pebble to perform sync writes. * op-program: Rename disk kv to file kv * op-program: Rename DBFormat to DataFormat for consistency. --------- Co-authored-by: clabby <ben@clab.by>
Fixes a number of places where SuperchainWETH fuzz tests can flake as a result of using a sender address that is the ETHLiquidity or SuperchainWETH contract.
Adds interfaces for the contracts inside of /legacy. Interface is not included for the LegacyMintableERC20 contract because that interface has already been defined elsewhere.
* Slim down contracts-bedrock package The contracts-bedrock package was over 2GB in size, mostly because it contained the Git repository. It also supported multiple platforms, which would lead to costly recompilation steps every time the image was used on a different platform (e.g., OSX). The PR updates the Dockerfile to no longer ship the Git repo. It also updates the Debian base image to a more modern, slimmed down version. The new image is <1G in size. * fix bakefile
Interfaces check script had a bug that would cause it to use the wrong ABI when checking an interface. Each compiler artifact only has a single ABI in it but this same ABI was being used for all contract definitions found within that file. Since each separate contract definition gets its own file anyway, this script now properly verifies by finding the specific definition that matches the filename.
…timism#11740) Updates the interface validation script to verify that all interface contracts are using Solidity ^0.8.0 exactly.
* fix: add optimism mintable check on assume address helper * fix: mock interfaces checks * chore: remove unused import --------- Co-authored-by: 0xng <87835144+0xng@users.noreply.github.com>
Bumps foundry to the following commit: foundry-rs/foundry@143abd6 Release: https://github.com/foundry-rs/foundry/releases/tag/nightly This needs to be followed up with a rebuild of `ci-builder`
…tates (#…" (ethereum-optimism#11747) This reverts commit 3410109.
…quencer-start (ethereum-optimism#11724) * op-node: sequencer should clear inconsistent asyncGossip buffer on sequencer-start * op-node: test async-gossip clearing * Update op-node/rollup/sequencing/sequencer.go Co-authored-by: Adrian Sutton <adrian@oplabs.co> --------- Co-authored-by: Adrian Sutton <adrian@oplabs.co>
…states" (ethereum-optimism#11752) With fix to set a state converter when creating trace providers for test.
…reum-optimism#11750) * contracts-bedrock: Add OPSM file I/O for superchain deployments * Update packages/contracts-bedrock/scripts/DeploySuperchain.s.sol Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * Update packages/contracts-bedrock/test/DeploySuperchain.t.sol Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * Address feedback from code review * Linter --------- Co-authored-by: Matt Solomon <matt@mattsolomon.dev>
* Refactors NewRaftConsensus param list into a config struct * Adds configuration support for SnapshotInterval, SnapshotThreshold, TrailingLogs
Fixes the initialization tests, existing tests were not properly verifying that all of the initializable contracts were being accounted for.
The build stage name was accidentally removed, which [broke](https://app.circleci.com/pipelines/github/ethereum-optimism/optimism/63237/workflows/e6a2d738-132f-4e10-9da2-c265b364c771/jobs/2627291) the job.
* op-service: add configurable timeouts * op-service: fix lazy_dial
* chore: fix semver lock * fix: no permissionless root, remove hash from 0xdead * fix: use 0xdead root properly * feat: add remaining fault proof support * chore: Update semver-lock * fix: Remove extra anchor root definition and restore aritfactsFs argument * feat: Add wip big blueprint code * Don't wrap input to deployBigBytecode with preamble * fix: off by one in deployBigBytecode * feat: more gas efficient blueprint deployment for permissioned game * Get the big deployments working * perf: more efficient preamble parsing * chore: snapshots + fix revert * test: skip FaultDisputeGameAddress since we don't deploy it yet * chore: cleanup --------- Co-authored-by: Matt Solomon <matt@mattsolomon.dev> Co-authored-by: Matthew Slipper <me@matthewslipper.com>
…12035) * forge install: superchain-registry v0.1.2 * fix: better clarity around when we're in a broadcast context.
* fix: justfile clean command * fix: removed stale comment
* test: Add permissioned game output assertions * test: reorder DeployOpChainTest_Base for clarity * Update packages/contracts-bedrock/test/DeployOPChain.t.sol Co-authored-by: Matt Solomon <matt@mattsolomon.dev> --------- Co-authored-by: Matt Solomon <matt@mattsolomon.dev>
* cannon: Cut unnecessary wakeup reset * cannon: Cut now-extraneous state argument * cannon: Run semver lock
* cannon: Multi VM executor * fix run subcmd arg fwding * fix mt prestate * add list subcmd; multicannon in op-stack-go * remove cannon-latest * safer strconv * lint * include .gitkeep in embed * fix .git copy * add detect.go tests * add nosemgrep * review comments * list filtering * add note to MIPS.sol in version stf ref * use fork-exec * minimal flag parsing * load old cannon binaries from docker images * note * --help flag defaults * remove redundant copy from cannon-builder-0
…ags (ethereum-optimism#12100) * cannon: Build the cannon docker image and publish on cannon release tags. * ci: Add docker builds as dependencies so they prevent merging if they fail. * cannon: Include specific implementation builds in final docker image.
…mission time (ethereum-optimism#12002) * tidy up godoc * move data availability config decision to channel submission time instead of channel creation time Also, cache the ChannelConfig whenever we switch DA type so it is used by default for new channels * fix test * formatting changes * respond to PR comments * add unit test for Requeue method * reduce number of txs in test block * improve test (more blocks in queue) * hoist pending tx management up * wip * tidy up test * wip * fix * refactor to do requeue before calling nextTxData * introduce ErrInsufficientData do not return nextTxData from channel which was discarded by requeue * run test until nonzero data is returned by TxData * break up and improve error logic * fix test to anticipate ErrInsufficientData * after requeuing, call nextTxData again * remove unecessary checks * move err declaration to top of file * add some comments and whitespace * hoist lock back up to TxData * rename variable to blocksToRequeue * remove panic * add comment * use deterministic rng and nonecompressor in test * test: increase block size to fill channel more quickly * remove ErrInsufficientData replace with io.EOF as before * tidy up * typo
…imism#12101) Pick up the version from the release tag automatically.
* show log for devnet * add comment
* test: assert that default config doesn't change prematurely * test: use a better system to ensure we are not over assessing * return io.EOF from getReadyChannel when the current channel has no tx data also improve godoc
…sm#12106) * rename: proxyAdminOwner -> superchainProxyAdminOwner * fix: renames in tests. * fix: renaming in go code. * fix: Changing the intent to contain SuperchainProxyAdminOwner instead of just ProxyAdminOwner * fix: reverting last change
* Add support for pre-existing OPSM This PR adds support for deploying OP Chains against an existing OPSM deployment. It adds a new `OPSMAddress` field to the intent to hold the address of the OPSM. When specified, the `ContractsRelease` field is ignored. In the future, this field will be pulled from the Superchain Registry. Since the Go Forge tooling doesn't support forking yet, the deployment is performed using a raw call to `eth_sendRawTransaction`. Data about the Superchain deployments is pulled from the OPSM itself via `eth_call`. To expose the deployment output following the Superchain deployment, I updated the `Deployed` event to emit the ABI-encoded bytes of the `DeployOutput` struct to avoid stack-too-deep errors. This isn't ideal, but at least it gets me all of the fields I need in a log event without more invasive changes. * chore: add version identifer to Deployed event * chore: emit msg.sender in Deployed event * Fix merge issues * test: fix specs test * semver-lock * code review updates --------- Co-authored-by: Matt Solomon <matt@mattsolomon.dev>
// since this approach means a chain ID can only be used once. | ||
uint256 l2ChainId = _input.l2ChainId; | ||
bytes32 salt = bytes32(_input.l2ChainId); | ||
DeployOutput memory output; |
Check warning
Code scanning / Slither
Uninitialized local variables Medium
OPContractsManager.deploy(OPContractsManager.DeployInput).output is a local variable never initialized
Troublor
approved these changes
Nov 28, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, will squash and merge
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.
update optimism to v1.9.3;
mega-reth: https://github.com/megaeth-labs/mega-reth/pull/166;
eigenda-proxy: clay/feature/rebase_v1.5.0(打算不提PR,后面直接rebase);