forked from ethereum-optimism/optimism
-
Notifications
You must be signed in to change notification settings - Fork 35
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
[WIP]: conflicts review #476
Draft
Bidon15
wants to merge
1,005
commits into
celestiaorg:celestia-develop
Choose a base branch
from
ethereum-optimism:develop
base: celestia-develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
[WIP]: conflicts review #476
Bidon15
wants to merge
1,005
commits into
celestiaorg:celestia-develop
from
ethereum-optimism:develop
+132,844
−43,010
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
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.81 to 7.0.84. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](minio/minio-go@v7.0.81...v7.0.84) --- 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: Raise parallelism of cannon-e2e tests * ci: Build op-program-host and cannon before running go tests. * op-geth: Update op-geth to avoid loading and parsing all genesis files. Specifically includes ethereum-optimism/op-geth#482 * Consistently build 64-bit multithreaded prestates with -mt64 suffix. Previously the native build used -mt and the reproducible build used -mt64. Stop building the 32-bit multithreaded prestate in reproducible builds. --------- Co-authored-by: Matthew Slipper <[email protected]>
* proofs: Add action test for unhappy consolidation The test covers the unhappy path in the consolidation step of the fault proof where an invalid message triggers a block replacement * remove redundant test * assert heads
This is because alerts use `increase()` to detect changes in the metrics, and the first instance of a metric is not considered a change, so detecting failures doesn't fire unless the metric was already 0.
Bumps [github.com/consensys/gnark-crypto](https://github.com/consensys/gnark-crypto) from 0.12.1 to 0.15.0. - [Release notes](https://github.com/consensys/gnark-crypto/releases) - [Changelog](https://github.com/Consensys/gnark-crypto/blob/master/CHANGELOG.md) - [Commits](Consensys/gnark-crypto@v0.12.1...v0.15.0) --- updated-dependencies: - dependency-name: github.com/consensys/gnark-crypto dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
In #13772, the L1 cache size was made configurable and the cap of 1000 was removed. This implied that the old default value (before applying the cap) of 2/3 the sequencing window was now active. However, high-throughput chains don't need such a high cache size under normal conditions, so memory usage unexpectedly jumped for most node operators. This PR adds back a lower default value of 900, which is a better default for most nodes. Only low-throughput chains with infrequent safe head increments can now use this flag to set a higher value.
* op-deployer: Support upgrades * semgrep * imports * cr updates * remove aliasing * goimports * cr updates * fix lint --------- Co-authored-by: Samuel Stokes <[email protected]>
* feat: prevent deployments of mips32 on opcm upgrade 13 * feat: Ensure that fork tests deploy mips64 * fix: error string in tests * fix test name
* skip implementation upgrade and system config initialization tests for superchain ops tests * fmt * update gas snapshot
…#14074) Bumps [github.com/lmittmann/w3](https://github.com/lmittmann/w3) from 0.17.4 to 0.17.5. - [Release notes](https://github.com/lmittmann/w3/releases) - [Commits](lmittmann/w3@v0.17.4...v0.17.5) --- updated-dependencies: - dependency-name: github.com/lmittmann/w3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#14035) * op-challenger: Support downloading prestates with a specific filename. Allows running the latest builds published from develop automatically. * Update test * Log information on the state used.
* feat: descope liquidity migration * feat: remove superchain erc20 factory and beacon (#224) * fix: descope pr fixes (#231) --------- Co-authored-by: AgusDuha <[email protected]> Co-authored-by: agusduha <[email protected]>
* feat(devnet-sdk): expose minimal test interface * feat(devnet-sdk): basic infrastructure for mini test Co-authored-by: Jan Nanista <[email protected]> * feat(devnet-sdk): implemented system * test(interop): new mini test to validate framework * test(interop): improve mini test * fix(devnet-sdk): improve cnx management * fix(devnet-sdk): use big.Int * test(interop): add constraints * fix(devnet-sdk): fix tests * fix(devnet-testing): use pointer receivers consistently * fix(devnet-testing): remove unnecessary ContractAddress * fix(devnet-testing): remove unnecessary NewBalanceFromFloat * fix: cosmetic change to interop smoke test * feat(devnet-sdk): proper interface-backed implementation * feat(devnet-testing): testing the tests * feat(devnet-testing): interface cleanup * fix: remove obsolete Registry definition * fix: address review comments - add explicit interface checks (and remove superfluous interface) - add tests for Balance type --------- Co-authored-by: Jan Nanista <[email protected]> Co-authored-by: Stefano Charissis <[email protected]>
Ensures the build fails if it is not available or has non-zero exit code rather than just checking for unsupported op codes in the error message.
* op-program: Write tx/receipts trie nodes to kv * op-program: Make trie node storage optional in client
* challenger: Transition to invalid hash at superroot boundaries. Doesn't yet handle transitioning at the first optimistic block that is unsafe. * Fix comment.
Ensure InteropEnabled is set when --agreed-prestate is set. Don't require L2 head to be set when interop enabled.
…re SetCode batcher txs (#13958) * go: Update op-geth dependency to upstream pre-v1.14.13-master merge We need the 7702 SetCode transaction type. * all: adapt to op-geth upstream changes * op-node/rollup/derive: treat SetCode or future tx types as invalid batcher txs * go: Update op-geth dependency again to include latest changes * derive: allow Deposit batcher txs This allows batch tx force-inclusion for L3s. * lint * add txContext back * fix SetCode batcher tx test * go: update op-geth dependency to v1.101500.0-dev.1 which is tagged at ethereum-optimism/op-geth#480 * geth: pre-v1.14.13 integration review fixes * op-chain-ops: simplify state commit call * op-node/p2p: Use IP address for first Conduit bootnode After updating to the latest upstream geth dependency, it seems that host names are no longer supported for bootnodes. * op-node/p2p: look up DNS host names of enode records * op-node/p2p: Also lookup IPs for default bootnode URLs * Update op-geth dependency to [email protected] * op-node/p2p: Add test for default bootnodes --------- Co-authored-by: protolambda <[email protected]>
We were using both Docker-based CI builder images as well as self-hosted runner images with software preinstalled. This was causing discrepancies between software versions when things were updated. Furthermore, changing `mise.toml` required a manual rebuild of the CI builder image for changes to take effect. This PR updates the CI pipeline to use Mise to install all tool necessary to run the monorepo. Preinstalled tools have been removed from the self-hosted runners, and all Docker images in the pipeline have been replaced with a simple `cimg/base` image.
There's a nonce bug in the VM somewhere. This PR works around it and update these deployments to be deterministic. I'll investigate the bug separately.
* WIP sketch out change in calldata calculation if l1 activated EIP-7623 * infer l1 Pectra activation from nullity of header.requestsHash pass this down to the TxData method so it can make an informed decision on DA type * add godoc * refactor and add unit test * tweak godoc * use much larger / more representative values in test * don't forget version byte * add another unit test * fix bug * typos * typo * make e2e test handle pectra * tweak * unit tests for DA switching cover L1 Pectra active and inactive * prefer isPectra = true in tests generally * tighten up test params * Wire up Prague Activation time in L1 genesis * run da switching test on holocene and activate prague at genesis with HoloceneSystemConfig * fix op-e2e fakepos to handle prague fork on L1 * update e2e tests to activate prague if they activate cancun * Revert "update e2e tests to activate prague if they activate cancun" This reverts commit f626d8d. * only activate prague in AutoDA test for now * default to no Prague * increase numTxs * fix godoc
This commit removes an e2e test that covers the custom gas token feature. Keeping this around will just result in extra maintenance overhead that is not necessary. Useful alongside: - #13603 - #13921 for maintaining a patch that contains custom gas token. It should be easy to bring this back in the future if necessary
This refactors the system interfaces a bit, to expose lower-level details only at the express demand of the test. The rationale being that for each test we want to eventually not have them manipulate the implementation details of the underlying system. But at the same time, we need an escape hatch for when the higher-level interfaces are not sufficient. But adding an explicit validator to gain access to these interfaces, we can eventually statically detect which tests are well-behaved, and which are not (yet)
This change makes devnet-sdk a leaf package as far as the rest of the monorepo is concerned. The artifact package was never really specific to kurtosis-devnet anyway, as it contains a generic filesystem abstraction to access kurtosis enclave artifacts. So we might as well add it to the rest of kurtosis helper functions in devnet-sdk. Going forward we'll likely want to split it into a separate module, so that other repositories can import it without needing to import the whole monorepo.
…mpatible (#14450) * op-challenger: Update fault dispute game contracts to be backwards compatible bondDistributionMode did not always exist and dispute-mon will need to start using it. * Review feedback
* op-proposer: Support multiple supervisor endpoints. * op-proposer: Use a string slice flag. * op-proposer: Rename supervisor rpc flag to be plural.
…late identifiers and payloads. (#14447) * op-e2e: Refactor GeneratedTransaction to avoid tests needing to calculate identifiers and payloads. * op-e2e: Use a single method for inbox executing transactions. * op-e2e: Include transaction on correct chains. * Simplify further. * Skip test again.
* ctb: Add clone-opcm script * fix constructor * preimage oracle * shellcheck
In a previous refactoring we temporary lost the ability to run this negative test on the smoke test scenario. This change restores it.
* op-deployer: Add doc describing bootstrap limitation * Update op-deployer/book/src/user-guide/known-limitations.md Co-authored-by: Matt Solomon <[email protected]> --------- Co-authored-by: Matt Solomon <[email protected]>
* op-service: fix block signer utils * op-service: improve block signer
* op-validator: Add op-validator OP Validator is a CLI tool that returns a chain's level of compliance with the Standard Rollup Charter. * redeploy, cr cleanups * goimports * docs * docs
* op-program: Add unichain mainnet to releases.json * remove governanceApproved for uni cannon64 Co-authored-by: mbaxter <[email protected]> * fix trailing comma --------- Co-authored-by: mbaxter <[email protected]>
… handler (#14491) * op-service: RPC server wraps http-util server now, and factor out RPC handler * op-service: fix sub-test name
* op-service: cleanup rw map utils * op-service: fix doc comment Co-authored-by: Axel Kingsley <[email protected]> --------- Co-authored-by: Axel Kingsley <[email protected]>
* feat: simplify by removing unneeded inputs * Remove io contracts * feat: get addrs from registry * feat: get pdg blueprint from current opcm * feat: add plan for getting fdg code * feat: Add permissionlessDisputeGame bytecode and blueprint creation * feat: Add blueprints checks * fix: semgrep rule * lint * fix: use correct initcode * fix: correct encoding of initCode * semver * fix imports * feat: move IOPCM180 to /interfaces * feat: print fdg initCodeHash
…ch publishing into separate goroutines (#14244) * op-batcher: overhaul throttling, reading and writing loops * no longer evaluate throttling conditions on a ticker * break main loop into "reading" and "writing" * reading loop signals to throttling and writing when ALL blocks are loaded (this could be done in a more fine grained way, even when each block is loaded) * these run concurrently * improvements * readloop unblocks writing loop once, and then writing loop goes forever (pausing when it runs out of data) tests pass but timeout due to bad shutdown * rename to prevent shadowing * allow for receipt handling when receipt and err are both nil * split shutdownCtx into producers and consumers * throttling loop ranges over a channel, does not take a context * processReceiptsLoop ranges over a channel, does not take a context * unify wait groups * unify contexts * writeLoop uses a ticker instead of a sleep * WIP: add throughput test for batcher * make txQueue local, not global state * reduce diff * reduce diff further * make pendingBytesUpdated a local, not global * read and write loop communicate with a channel no more ticker required * rename * rename * abstract promptLoop * rename * update readme * add diagram to readme * remove test I'm not sure it is adding any value. May return to it in future * sendToThrottlingLoop uses mutex * harmonize "*Loop returning" logs * tidy * remove TODO * rip out ThrottleInterval config var * add activeSequencerChanged channel and wire it up to onActiveSequencerChanged hook in active rollup provider * set callback at runtime, not in constructor * reinstate startup order * tidy * remove dead code * remove unintentional change * rename readLoop to blockLoadingLoop and writeLoop to publishingLoop * improve diagram * replace ThrottleInterval with ThrottleThreshold as enabling var * remove onActiveProviderChanged arg from constructors * protect callback invocation with nullity check * lint * Apply suggestions from code review Co-authored-by: Sebastian Stammler <[email protected]> * remove ThrottelInterval from flags * docs: mention active sequencer signal * only attach callback if throttling is enabled * increase buffer of activeSequencerChanged means that we buffer a single event if the throttlingLoop is busy, even when using a try-send * add buffer to pendingBytesUpdated see previous commit * reduce indentation * remove dangling ref * pass killCtx to publishingLoop and avoid accessing this context globally * remove continue and always signal publishing loop * remove unecessary mutex wrangle * replace signalPublishingLoop method with trySignal fn * extend TestRollupProvider_FailoverOnInactiveSequencer to cover callback fn * use retryTimer in throttlingLoop if RPC calls fail, they will be retried after retryInterval (or before, if another event triggers updateParams) * op-batcher: improve active-seq-changed signalling setup * remove unused state var * rename blocksLoaded channel to publishSignal channel --------- Co-authored-by: Sebastian Stammler <[email protected]>
* bump to foundry v1 * library harness failing * rm return name * fix internal revert tests * rerun CI * move to v1 tag
* benchmark upgrade call * require to assert * use lastCallGas * Update packages/contracts-bedrock/test/L1/OPContractsManager.t.sol Co-authored-by: Matt Solomon <[email protected]> * change gas target to 20M --------- Co-authored-by: Matt Solomon <[email protected]>
…ions (#14498) * ctb/op-deployer: Simplify superchain config/protocol versions validations While running the validators against newly-deployed chains, we discovered a bug where the superchain config's implementation cannot be checked unless the same proxy admin is shared between both the OP Chain and the superchain config. This only makes sense for OP Mainnet, so to simplify things I've removed the protocol version/superchain config checks from the standard validator. It will still check that the OP Chain is using the right superchain config, but it won't validate the config itself. We can use other tooling for that. * checks
…nclaves (#14446) * wip: ktnative data fetcher * wip: ktnative data fetcher * fix: Only accept absolute paths * chore: Add tests * chore: inject dependencies instead of using globals * chore: Comment fixes * fix: Lint
* chore: Add all predeployed addresses to devnet-sdk * chore: Sort addresses
#14496) * op-dispute-mon: Load bond distribution mode. * op-dispute-mon: Update credit monitoring to handle new withdrawal path. * Simplify
…river.sendTx` (#14517) * op-batcher: add TestBatchSubmitter_sendTx_FloorDataGas * op-batcher: use floorDataGas for transactions if greater than intrinsicGas * Update op-batcher/batcher/driver.go Co-authored-by: Sebastian Stammler <[email protected]> * log error instead of ignoring --------- Co-authored-by: Sebastian Stammler <[email protected]>
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.
Overview