fix: merge conflict lockbox#143
Merged
agusduha merged 62 commits intosc-feat/add-shared-lockboxfrom Nov 28, 2024
Merged
Conversation
* improve DeployerWhitelist test * fix L1BlockNumber fallback test * fixes
* fix a deadlock * add comment
…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
…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
gotzenx
approved these changes
Nov 28, 2024
This file contains hidden or 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
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.
No description provided.