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

Merge 750ed20 #130

Merged
merged 168 commits into from
Dec 17, 2024
Merged

Merge 750ed20 #130

merged 168 commits into from
Dec 17, 2024

Conversation

blockchaindevsh
Copy link
Collaborator

@blockchaindevsh blockchaindevsh commented Dec 16, 2024

This PR merges with optimism's latest release ethereum-optimism@750ed20 .

Conflicts:
            .circleci/config.yml
            go.mod
            go.sum
            op-batcher/batcher/driver.go
            op-service/txmgr/txmgr.go
            packages/contracts-bedrock/interfaces/L2/ISoulGasToken.sol
            packages/contracts-bedrock/test/setup/Setup.sol

The conflicts in .circleci/config.yml are left to @qzhodl in a follow up commit(in this PR), all other conflicts are resolved.

@qizhou , we want to keep the upstream commits, so I think we should not use squash for this PR.

axelKingsley and others added 30 commits November 19, 2024 15:12
…ethereum-optimism#12919)

* Reset Derivation when Supervisor is Behind

* Disable Batcher Throttling in Interop local-devnet
Adds a unit test for mainnet deployments at version 1.6.0.
…#12820)

* interop: make geth Dockerfile use rc5

* use rc6

* Update ops-bedrock/l2-op-geth-interop.Dockerfile
It has been 6 months since we removed the package and added the
redirect. Anybody that has not learned where it is at this point
will be able to search Github and find a link to this commit.
Update the op-deployer Dockerfile to install CA certificates and symlink /op-deployer into /usr/local/bin so that it's on the container's PATH.
* migrate close-stale github action

* using external script

* completing script

* removing old github action

* example only

* removing versions

* removing tag-service
* feat(ctb): `RISCV.sol`

semver-lock

Co-Authored-By: Minhyuk Kim <[email protected]>
Co-Authored-By: Taem Park <[email protected]>
Co-Authored-By: Park Changwan <[email protected]>
Co-Authored-By: protolambda <[email protected]>

* snapshots

* diff with remote in CI

* schedule diff job

* Update .circleci/config.yml

Co-authored-by: Matt Solomon <[email protected]>

* remove check changed

---------

Co-authored-by: Minhyuk Kim <[email protected]>
Co-authored-by: Taem Park <[email protected]>
Co-authored-by: Park Changwan <[email protected]>
Co-authored-by: protolambda <[email protected]>
Co-authored-by: Matt Solomon <[email protected]>
* improve delayedWeth test and coverage

* improve delayedWeth test and coverage

* fix DataAvailabilityChallenge failing fuzz test
…#12996)

* improve universal and libraries tests and coverage

* fixes
…-optimism#12982)

Bumps ethereum/client-go from v1.14.11 to v1.14.12.

---
updated-dependencies:
- dependency-name: ethereum/client-go
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* contracts: remove op-nft

Remove the `op-nft` package from the contracts package. None of these
contracts are maintained and can be moved to another repo if necessary.
The purpose of this commit is to reduce compilation time. Less files
to compile means less compilation time.

* fix: semver lock step - ran pre-pr.

* fix: use added/modified filter for heavy fuzz

Updates the heavy fuzz filter for CI to only check for added or
modified contracts, now excluding deleted or moved contracts.

---------

Co-authored-by: Blaine Malone <[email protected]>
Co-authored-by: Kelvin Fichter <[email protected]>
* improve optimismportal(2) test coverage

* improve optimismportal(2) test coverage

* more tests, fixes
* improve dispute game tests and coverage

* fixes
…thereum-optimism#12983)

Bumps [github.com/kurtosis-tech/kurtosis/api/golang](https://github.com/kurtosis-tech/kurtosis) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/kurtosis-tech/kurtosis/releases)
- [Changelog](https://github.com/kurtosis-tech/kurtosis/blob/main/CHANGELOG.md)
- [Commits](kurtosis-tech/kurtosis@1.4.1...1.4.2)

---
updated-dependencies:
- dependency-name: github.com/kurtosis-tech/kurtosis/api/golang
  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>
* op-node: Create metrics to record if sequencer is active

* op-node: Update transactions_sequenced_total metric

---------

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

- Enables support for deploying tagged versions against new chains, but behind a huge warning that requires user input to bypass. Since our tagged release versions do not contain all implementations, using op-deployer in this way will deploy contracts that haven't been governance approved. Since this workflow is useful for development but bad for prod, I've added support for it but users have to bypass a large warning that describes the risks.
- Validates the hashes of tagged version artifacts after downloading them. This prevents users from downloading tampered versions of the artifacts from GCS.
…#13000)

* make riscv compile without the optimizer turned on

* bump riscv.sol

* bump riscv.sol
…2985)

Test hard fork offset overrides

Co-authored-by: Vinod Damle <[email protected]>
…ations (ethereum-optimism#13012)

This is adding op-program/v1.4.0-rc.1 with absolute prestate hash
0x03925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe
to the releases.json file.

This release contains Sepolia Holocene activation times for
OP, Base, Mode, Zora, BUT NOT Metal.
dependabot bot and others added 18 commits December 4, 2024 23:15
…eum-optimism#13233)

Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.9.0 to 0.10.0.
- [Commits](golang/sync@v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sync
  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>
…thereum-optimism#13234)

Bumps [github.com/kurtosis-tech/kurtosis/api/golang](https://github.com/kurtosis-tech/kurtosis) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/kurtosis-tech/kurtosis/releases)
- [Changelog](https://github.com/kurtosis-tech/kurtosis/blob/main/CHANGELOG.md)
- [Commits](kurtosis-tech/kurtosis@1.4.2...1.4.3)

---
updated-dependencies:
- dependency-name: github.com/kurtosis-tech/kurtosis/api/golang
  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>
…13232)

Updates the spacers check to use the new framework for contracts
checks written in Go. Adds tests for the functions that this
check uses.
Fixes the name for scheduled-forge-coverage to
develop-forge-coverage in line with the existing pattern.
* op-deployer: Update OPCM bootstrap command

Updates the OPCM bootstrap command to allow bootstrapping Holocene.

* fix merge artifact
* ci: Remove Kurtosis-specific go job

Kurtosis landed [my fix](kurtosis-tech/kurtosis#2567) for the race condition that prevented us from running a shared Kurtosis instance between jobs. This PR brings that back.

* remove dep
…ask (ethereum-optimism#13250)

* chore(op-deployer): Accept existing impl in `DelayedWETH` bootstrap task

* remove check
…config chain ID indicator (ethereum-optimism#13217)

* op-challenger: Support --cannon-l2-chain-id to pass chain ID through to op-program.

* op-program: Default to assuming configs are available in client.

Provide a --l2.custom flag to set the chain ID to the custom chain indicator so the client will load configs via the preimage oracle.
Since loading configs via the preimage oracle doesn't work on-chain, this is a safer and simpler default now that op-program can be built
with custom configs embedded.

* op-challenger: Switch to custom L2 flag instead of specifying chain ID

* op-challenger: Fix boolean option in op-program execution.

* op-e2e: Set custom L2 flag in precompiles test
* interop: parallelized receipt fetching

* fix test

* remove elastic thread count

* Add Debug Message for Range Fetching

* rename end to last

* Remove Println

---------

Co-authored-by: Matthew Slipper <[email protected]>
I've found a [deadlock](https://app.circleci.com/pipelines/github/ethereum-optimism/optimism/73846/workflows/19369ca9-9eaa-4021-9eb8-589a06e7bd34/jobs/3018041) in the op-conductor tests. The inner conductor loop is stuck waiting on a queue signal that never arrives, which in turn causes the test to hang since the coordinating waitgroup is never decremented. I believe this happens because the conductor's `queueAction` method is non-blocking, so nothing ever triggers conductor's inner loop when conductor start up. I've updated the code to use a blocking channel write when conductor starts to avoid this issue.

The traces of the deadlock look like this, for reference:

```
goroutine 227 [semacquire, 9 minutes]:

sync.runtime_Semacquire(0xc0004df577?)

	/usr/local/go/src/runtime/sema.go:62 +0x25

sync.(*WaitGroup).Wait(0x0?)

	/usr/local/go/src/sync/waitgroup.go:116 +0x48

github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductorTestSuite).execute(0xc0003e4008, 0x0)

	/var/opt/circleci/data/workdir/op-conductor/conductor/service_test.go:177 +0x65

github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductorTestSuite).executeAction(...)

	/var/opt/circleci/data/workdir/op-conductor/conductor/service_test.go:197

github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductorTestSuite).enableSynchronization(0xc0003e4008)

	/var/opt/circleci/data/workdir/op-conductor/conductor/service_test.go:163 +0x93

github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductorTestSuite).TestScenario4(0xc0003e4008)

	/var/opt/circleci/data/workdir/op-conductor/conductor/service_test.go:420 +0x27

reflect.Value.call({0xc000131900?, 0xc0001b3740?, 0x1fed5b8?}, {0x191d63c, 0x4}, {0xc0004dff28, 0x1, 0x16f12e0?})

	/usr/local/go/src/reflect/value.go:596 +0xca6

reflect.Value.Call({0xc000131900?, 0xc0001b3740?, 0x28307b8?}, {0xc0004dff28?, 0xf?, 0x0?})

	/usr/local/go/src/reflect/value.go:380 +0xb9

github.com/stretchr/testify/suite.Run.func1(0xc0001f9ba0)

	/home/circleci/go/pkg/mod/github.com/stretchr/[email protected]/suite/suite.go:202 +0x4a5

testing.tRunner(0xc0001f9ba0, 0xc0001f4e10)

	/usr/local/go/src/testing/testing.go:1689 +0xfb

created by testing.(*T).Run in goroutine 166

	/usr/local/go/src/testing/testing.go:1742 +0x390

goroutine 229 [select, 9 minutes]:

github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductor).loopAction(0xc00056ab40)

	/var/opt/circleci/data/workdir/op-conductor/conductor/service.go:577 +0x14f

github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductorTestSuite).enableSynchronization.func1()

	/var/opt/circleci/data/workdir/op-conductor/conductor/service_test.go:159 +0x33

github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductor).loop(0xc00056ab40)

	/var/opt/circleci/data/workdir/op-conductor/conductor/service.go:570 +0x99

created by github.com/ethereum-optimism/optimism/op-conductor/conductor.(*OpConductor).Start in goroutine 227

	/var/opt/circleci/data/workdir/op-conductor/conductor/service.go:376 +0x1f6

FAIL	github.com/ethereum-optimism/optimism/op-conductor/conductor	600.103s
```
(TODO: resolve conflict in .circleci/config.yml)

 Conflicts:
	.circleci/config.yml
	go.mod
	go.sum
	op-batcher/batcher/driver.go
	op-service/txmgr/txmgr.go
	packages/contracts-bedrock/interfaces/L2/ISoulGasToken.sol
	packages/contracts-bedrock/test/setup/Setup.sol
@qizhou
Copy link

qizhou commented Dec 16, 2024

What is the corresponding release of the remote commit?

@blockchaindevsh
Copy link
Collaborator Author

What is the corresponding release of the remote commit?

It corresponds to this release: https://github.com/ethereum-optimism/optimism/releases/tag/op-dispute-mon%2Fv1.3.0

@qzhodl qzhodl mentioned this pull request Dec 17, 2024
@blockchaindevsh blockchaindevsh merged commit 7b1aae7 into op-es Dec 17, 2024
@blockchaindevsh blockchaindevsh deleted the merge_750ed20 branch December 17, 2024 02:11
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.