Skip to content
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
wants to merge 685 commits into
base: celestia-develop
Choose a base branch
from

Conversation

Bidon15
Copy link
Member

@Bidon15 Bidon15 commented Nov 12, 2024

Overview

Inphi and others added 30 commits December 11, 2024 20:21
* cannon: Track steps between ll and sc

* cannon: Track rmw failures, keep counts for rmw ops

* cannon: Add unit tests for stats tracking

* cannon: Simplify step count stats

* cannon: Track explicit memory reservation invalidation

* cannon: Set stats on DebugInfo

* cannon: Rename method

* cannon: Track forced preemptions

* cannon: Track failed wakeup traversals

* cannon: Track idle steps for thread 0

* cannon: Reorganize vm metrics, add methods to record new stats

* cannon: Use uint64 over int

* cannon: Record new metrics

* cannon: Update readme run-trace flag

* cannon: Use uint64 type consistently

* cannon: Add debugInfo serialization test

* cannon: Check metrics in executor test

* cannon: Record total steps

* cannon: Check error in test

* cannon: Enable stats tracking via --debug-info flag

* cannon: Fix steps json field name

* cannon: Keep a small cache of ll steps for more accurate tracking

* cannon: Tweak test

* cannon: Modify test to better validate json parsing

* cannon: Use non-threadsafe simplelru
Renames the ManagerOwnerAddrFor method to reflect what it actually does, and point it at the Sepolia proxy admin.
* Add Finality Handling to L1 Processor

* Add E2E Test for Finality Tracking

* Completely remove UpdateFinalizedL1 API

* use BlockRef in Supervisor Client return
* Add SyncNode and Controller

* Add Tests; Real DeriveFromL1 function
Fixes a minor flake in CrossL2Inbox where the test can fail when
the target is the vm address itself.
Makes CommonTest generic over Solidity versions by removing
direct dependencies on 0.8.15 contracts. Updates some interfaces
to achieve this.
…#13366)

* feat: Move proposeAnotherOutput to L2OutputOracle specific test file.

* fix: gas snapshot
To prevent people from accidentally deploying GovToken with the same
name as OP colliding with OP Mainnet's token, turn off by default.
`op-deployer` should be doing this already, just doing this for people
who deploy through the legacy path.

See celo-org#280 (comment)
for context.
Brings in minato sepolia holocene_time
* Update DeployOwnership.s.sol

* Update Faucet.sol
* lock state mutex while  computing sync actions

* rename batcher.state to batcher.channelManager

Closes #13280

* move channel manager mutex up into driver

encapsulate imperative code and mutex locking/unlocking into new method executeSyncActions

* don't use pointer to mutex

* rename

* throttlingLoop uses channelMgrMutex

* unblock throttling loop by sending pendingBytes on a channel

* disable proposer in 4844 system test

it mostly adds noise to the logs

* remove unused ticker

* Revert "remove unused ticker"

This reverts commit b2e9762.

* reinstate throttle on tick

used cached value

* make the main loop release the chMgr lock more often

* simplify

* add some more mutex calls

* simplify some more

* push mutex locking down into l.publishTxToL1

* do not signal the throttling loop inside publishTxToL1

This is a change in behaviour that is outside the scope of this PR.

* prefer deferring mutex unlock
This fixes `make verify-reproducibility` due to a sorting bug.
* feat: remove dead comment

* fix semverlock
* transition interface check script to common framework

* fixes

* fixes
* op-e2e: Nuke allocs

This PR integrates op-deployer with op-e2e for the purposes of generating L1/L2 allocs on-the-fly. As a result, there is no longer any need to run `make devnet-allocs` or otherwise continue maintaining the legacy Python devnet. The generated allocs are at parity with those generated by the Python devnet - i.e., they contain the Alphabet VM, the fast fault game, and the deploy config customizations in `devnetL1.json`.

One notable change here is that the ability to generate new allocs files for L2OO chains will no longer be possible post-Holocene. To continue supporting the L2OO tests for the time being, the L2OO allocs files have been archived at the Holocene fork.

Cleaning up the old devnet will be handled separately.

* fix broken tests

* bring back l2oo test

* swap more keys

* more keys

* swap prestates

* remove dead code

* fix prestate proof

* Code review updates

* toml fields
* op-e2e: Fix anchor roots

* use correct prestate

* Run FP tests on develop only again
* op-chain-ops: rename HasAnyDevAccounts to RetrieveDevAccounts

Signed-off-by: jsvisa <[email protected]>

* op-chain-ops: return all dev accounts instead of bool

Signed-off-by: jsvisa <[email protected]>

* Update op-chain-ops/genesis/layer_two.go

Co-authored-by: protolambda <[email protected]>

---------

Signed-off-by: jsvisa <[email protected]>
Co-authored-by: protolambda <[email protected]>
* Update README.md

* Update justfile

* Update readme.md
Introduces the DeputyPauseModule which allows an account to act as
the Foundation Safe for the sake of triggering the Superchain-wide
pause function. Adding this module to the Foundation Safe would
remove the need for any pre-signed pause transactions and generally
simplifies the incident response process.
* Update op-geth to include changes for withdrawalsRoot

* Update invocations of NewBlock() api

---------

Co-authored-by: Vinod Damle <[email protected]>
ajsutton and others added 30 commits January 16, 2025 18:35
* op-program: Build an interop prestate

The bootstrap process for interop is different so introduces a separate main method.

* op-program: Stop setting USE_INTEROP env var when running client in external process.

The interop version is used by specifying the interop client binary.
Update Makefile to build a native version of the interop client binary.
* use camel case for opcm outputversion var

* fix test

* rm entirely
…3812)

* op-program: Stop derivation once the claimed timestamp is reached

* op-program: Add comment and switch to a panic if agreed is already after claimed
)

Add prestate provider for super roots that can provide preimages.
* op-program: Implement consolidation for interop

* address todos; fix claim validation bug

* fix test

* fix todos

* op-program: Fix short-circuit logic in block walk

* op-program: Use l2-chain block fetcher in canon

* op-program: Fix current header in engine_backend

* op-program: Filter hazardrous exec msgs

* cleanup

* fix block cache lookup

* snap to earliest block and update tests

Co-authored-by: Adrian Sutton <[email protected]>

* use adrian's suggestion

* todo formatting

---------

Co-authored-by: Adrian Sutton <[email protected]>
* op-program: Implement retries in prefetcher block re-exec

* add canon block with error test case

* add comment on error case in rexec
* op-chain-ops: op-run-block debug tool

* op-run-block: fix conflict with geth merge
This is a convenience feature that allows a user to "enter" a devnet /
chain and get a subshell with relevant data (in particular env
variables).

The goal is to try an minimize the amount of error-prone log-browsing
and copy-pasting before being able to interact with the environment.
Not currently used in the interop devnet as we're not yet deploying the new game type.
* feat(op-challenger): Kona interop executor

* Add agreed prestate to `LocalGameInputs`

* super executor 🦸

* lint
Make sync validator configurable per game type.
* op-challenger: Implement split adapter and trace accessor creation for super cannon

* op-challenger: Implement register task for super cannon

* op-challenger: Actually register super cannon game handler

* op-challenger: Lazy create clients

Make sync validator configurable per game type.

* op-challenger: Test split adapter

Remove ClaimTimestamp from ClaimInfo as we always use the poststate timestamp
* feat: add OP_SUCCINCT game type

* fix: change OP_SUCCINCT to 5

* add ASTERISC_KONA
* feat: Implement OPCM upgrade

* feat: better comment

* feat: Move vars to Setup where they belong

* gas snapshot
Bumps [github.com/hashicorp/raft-boltdb/v2](https://github.com/hashicorp/raft-boltdb) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/hashicorp/raft-boltdb/releases)
- [Commits](hashicorp/raft-boltdb@v2.3.0...v2.3.1)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/raft-boltdb/v2
  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>
This change adds a "compilation" phase for devnet manifest.
Bottom line, we:

- treat the devnet manifest as a high-level specification of an
  expected deployment

- open up the possibility to generate an actionable input for an
  arbitrary deployer

- use kurtosis as a first target, by generating a valid kurtosis input
  that reflects the properties defined in the manifest

pkg/devnet/cmd/main.go is a toy tool to perform that last step.

Going forward, we could imagine a k8s deployment being "compiled"
following a similar process.
Or this being used during automated tests setup in order to create the
right target environment.

At a high-level, this is part of an effort to standardize our sources
of truth across the board.
* refactor: using slices.Contains to simplify the code

Signed-off-by: pinglanlu <[email protected]>

* op-batcher: reintroduce helper func to fix other usages

---------

Signed-off-by: pinglanlu <[email protected]>
Co-authored-by: protolambda <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.