Skip to content

fix: merge conflict lockbox#143

Merged
agusduha merged 62 commits intosc-feat/add-shared-lockboxfrom
fix/merge-conflict-lockbox
Nov 28, 2024
Merged

fix: merge conflict lockbox#143
agusduha merged 62 commits intosc-feat/add-shared-lockboxfrom
fix/merge-conflict-lockbox

Conversation

@agusduha
Copy link
Copy Markdown
Member

No description provided.

agusduha and others added 30 commits November 21, 2024 20:46
* improve DeployerWhitelist test

* fix L1BlockNumber fallback test

* fixes
…um-optimism#12907)

* op-node: log mgasps across block processing lifecycle

* op-node: add 'import_time' field to block processing log

* op-node: make log message more descriptive

* op-node: log legacy codepath for InsertUnsafePayload

* op-node: include final ForkchoiceUpdate in block insertion time

* op-node: remove unused BuildTime field from events

* op-node: encapsulate log logic in TryUpdateEngineEvent methods

* op-node: linter fix

* op-node: add comment and adjust sync log wording

* op-node: fix BlockHash, BlockNumber in log

* op-node: seq add BuildStarted to PayloadProcessEvent

* op-node: refactor getBlockProcessingMetrics, protect against divide-by-zero
The tests in the txmgr queue were asserting that calls complete within a certain time window. This was causing flakes, particularly when the CI runner was under load. Generally we should avoid tests that use fixed durations as a way of asserting that code functions correctly.
lint-forge-tests-check-no-build was causing issues in CI because
it was running as part of contracts-bedrock-checks which depends
on contracts-bedrock-build. contracts-bedrock-build builds the
contract files EXCEPT for tests whenever contracts-bedrock has
changed. This means that contracts-bedrock-build would not build
any test files and therefore lint-forge-tests-check-no-build would
not find any test files to check and the job would do nothing.
However, when contracts-bedrock is NOT changed, the build job gets
the full set of artifacts INCLUDING test artifacts from the cache.
This would trigger the full check to actually be run and it would
properly fail.

This PR moves that particular check into contracts-bedrock-tests
so that it's guaranteed to have all of the compiled contracts.
Moves the task for linting test names to after the tests job so
that the contract artifacts actually exist. We don't compile
everything ahead of time and rely on forge test to do the
compilation in an effort to cut down total compile time.
Co-authored-by: Michael Amadi <amadimichaeld@gmail.com>
* ctb: Fix Holocene upgrade script

* improve README

* pass deploy-config as parameter to just run, other improvements

* remove commented-out variables
* improve drippie & faucet tests and coverage

* Update packages/contracts-bedrock/test/periphery/faucet/Faucet.t.sol

Co-authored-by: smartcontracts <kelvin@optimism.io>

* Update packages/contracts-bedrock/test/periphery/faucet/Faucet.t.sol

Co-authored-by: smartcontracts <kelvin@optimism.io>

---------

Co-authored-by: smartcontracts <kelvin@optimism.io>
Most of the time there's no output from our Go tests, it means there's a bug. Lowering the timeout here will reduce the amount of time we spend waiting for jobs to fail. For long-running tests like fault proofs, the value is configured at 20m since those tests take longer.
* add test for L1ChugSplashProxy

* fixes

* fixes
* add LegacyMintableERC20 tests

* fixes
* ci: Convert all Go tests into a single job

Takes all the go-e2e and go-test jobs and combines them into one single super-job. This has the following benefits:

1. We can centralize all config for Go tests in one place and simplify our CI pipeline.
2. It leaves parallelism up to the Go runtime, which is more efficient.
4. It makes our test reporting more accurate.

As part of this PR, I also:

1. Created a new resource class just for Go tests. It runs on the large Latitude runner, but limits the number of parallel go test jobs to 3 to prevent resource starvation.
2. Enabled test retries on `gotestsum`. This should reduce the number of flakes we see from the Go tests by retrying them up to 2 times in the event that they fail. Failures are still captured by the test reporting, so we can address them.

* code review updates
…12969)

* fix: use eth_getBlockReceipts for Infura RPC kind

* fix infura test
…m#13048)

Signed-off-by: chuangjinglu <chuangjinglu@outlook.com>
)

* op-deployer: Add a proxy to handle RPC failures

Anvil is very finnicky when it comes to RPC responses. It'll blow up if it encounters any HTTP error, and does not support retries. This PR adds a locally-hosted proxy which sits between Anvil and the fork RPC source and handles retries automatically.

* lint

* lint again

* ignore lint
…0.0 (ethereum-optimism#13075)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](stretchr/testify@v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: delete unused deploy functions

* feat: Delete some more unused code

* fix: Unused imports
Cleans up import statments in all contracts within the src/
directory. We should probably add a semgrep rule or a check that
confirms that everything looks good. I'll leave that part for
another commit.
* feat: delete unused deploy functions

* feat: Delete some more unused code

* fix: Unused imports

* feat: reorder Deploy.s.sol helpers
maurelian and others added 24 commits November 26, 2024 15:54
…m#13094)

* op-deployer: Load CLI options into the bootstrap disputegame config

* op-deployer: Simplify bootstrap disputegame to only deploy the disputegame contract
Restores the correct asterisc RISCV bytecode, moves the contract
to the vendor folder, and changes CI so that it performs the check
on the asterisc bytecode when attempting to merge into develop.
When the op-node is closed, it also closes the P2P node. To prevent future usage, `n.p2pNode` is set to `nil`. However, the AsyncGossiper can still sometimes send gossip messages to the `OpNode` struct after close. Since `n.p2pNode` is `nil` at this point, the node would panic. This PR updates the `OpNode` implementation to check for this case. Access is protected via a mutex to prevent concurrency problems.
Very small cleanup of the foundry config file.
…sm#13109)

Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.80 to 7.0.81.
- [Release notes](https://github.com/minio/minio-go/releases)
- [Commits](minio/minio-go@v7.0.80...v7.0.81)

---
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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ereum-optimism#13110)

Bumps [github.com/multiformats/go-multiaddr-dns](https://github.com/multiformats/go-multiaddr-dns) from 0.4.0 to 0.4.1.
- [Release notes](https://github.com/multiformats/go-multiaddr-dns/releases)
- [Commits](multiformats/go-multiaddr-dns@v0.4.0...v0.4.1)

---
updated-dependencies:
- dependency-name: github.com/multiformats/go-multiaddr-dns
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…mism#13027)

op-program supports custom configs identified by chain ID so make sure op-challenger can pass through a chain ID option even if it isn't a known network.
Fixes a flake that existed inside of the SuperchainWETH test suite.
Was caught by the heavy fuzz test.
* op-deployer: add config-intent-type

* op-deployer: revert name change of GasLimit

* op-deployer: add Intent.setStandardValues and Intent.validateStandardValues

* op-deployer: improve standard intent-config err messages

* op-deployr: chain intent custom err types

* op-deployer: add unit test for inent.validateStandardValues

* linter fix

* add intent-config-type custom

* add intent-config-type strict

* add intent-config-type standard-overrides,strict-overrides

* refactor intent.ConfigType validation methods, add intent NewIntent* funcs

* add TestValidateCustomValues, refactor contract tag check

* remove duplicate chainIntent.Check() code

* fix SuperchainRoles.ProxyAdminOwner for standard chains
* build(just): factor out flags code

This will enable making use of JUSTFLAGS in the main Makefile for
migrated targets.

* fix(just): parallel support

For some unclear reason runs in CI environment are invalid (they
generate some "empty" calls to the private target).
Sidestep the issue for now.

* build(just): add more helpers

- VERSION_META variable
- go_generate target

* build(op-proposer): migrate build to just

* build(op-node): migrate build to just

* fix(build): rewire just-migrated targets

---------

Co-authored-by: Matthew Slipper <me@matthewslipper.com>
* feat(op-deployer): `asterisc` bootstrap CLI

* rename file

* flags

* mslipper review

* golint

---------

Co-authored-by: Matthew Slipper <me@matthewslipper.com>
* remove lastStoredBlock and lastL1Tip from BatchSubmitter state

We can use the channelManager's state to infer lastStoredBlock. And lastL1Tip is actually unused.

* change log line wording

* fix typo

* remove unecessary method

* clean up driver.calculateL2BlockRangeToStore

* some typos

* tiny tweak
Various things in the primary justfile weren't particularly
legible, particularly around installing tooling versions. Cleans
up the primary justfile so that everything has comments and the
process for installing tooling is unified.

Co-authored-by: Matthew Slipper <me@matthewslipper.com>
* update lib keccak dependency

* update semver-lock

* update semver-lock
* txmgr: Queue.Send() uses q.txMgr.SendAsync

This should ensure that transactions are confirmed on chain in the order Queue.Send() is called, without sacrificing parallel tx submission.

* implement SendAsync in op-challenger test stubTxMgr

It doesn't preserve the nonces like the production txMgr does.

* TrySend also ensures synchronous tx nonce ordering (on success)

* factor out HandleResponse fn

* remove unused code

* unexport handler
@agusduha agusduha self-assigned this Nov 28, 2024
@agusduha agusduha merged commit cae605e into sc-feat/add-shared-lockbox Nov 28, 2024
@agusduha agusduha deleted the fix/merge-conflict-lockbox branch November 28, 2024 21:10
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.