- 06 Feb, 2024 5 commits
-
-
Inphi authored
* ctb: fix more invariant flakes * add invariant docs * exclude deploy contracts * remove deployconfig from invariant exclusion list
-
dependabot[bot] authored
Bumps [github.com/jackc/pgx/v5](https://github.com/jackc/pgx) from 5.5.2 to 5.5.3. - [Changelog](https://github.com/jackc/pgx/blob/master/CHANGELOG.md) - [Commits](https://github.com/jackc/pgx/compare/v5.5.2...v5.5.3) --- updated-dependencies: - dependency-name: github.com/jackc/pgx/v5 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>
-
Matthew Slipper authored
-
clabby authored
-
smartcontracts authored
Updates contract deployments to include a new config value that will deploy OptimismPortal2 over OptimismPortal. Updates devnet tests to also include a new environment variable that will trigger this deployment and run SDK tests for this deployment.
-
- 05 Feb, 2024 12 commits
-
-
Tei Im authored
* Use engine API that matches HF * Simplify engine client code by using EngineAPIVersion * Return full method string from engine api version methods * FCUVersion takes payload attributes * Use a proper method * Handle switch default case explicitly * Return fcuV3 if attrs is nil * Add test cases for engine api version methods
-
Inphi authored
-
Matthew Slipper authored
-
Adrian Sutton authored
* Reduce the min size for large preimages in devnet to make it easier to reach the limit. * Provide a buffer between target and max batch size to avoid the batcher splitting the large tx across multiple smaller frames.
-
Adrian Sutton authored
-
Matthew Slipper authored
-
Will Cory authored
Co-authored-by:
Will Cory <willcory@Wills-MacBook-Pro.local> Co-authored-by:
Matthew Slipper <me@matthewslipper.com>
-
Matthew Slipper authored
* ci: Slim down CI builder The CI builder image is downloaded many hundreds of times per day. The larger it is, the longer it takes for each CI executor to spin up which increases overall CI runtime. It also causes a significant amount of bandwidth costs from GCP Artifact Registry. This PR reduces the size of CI builder by moving the Rust toolchain to a dedicated builder image which will only be used with the jobs that require it. The Rust toolchain accounts for more than 50% of the size of the builder image. * add binutils * fix path * Update SVM * have to source bash first * bad copy * add back elf tools
-
smartcontracts authored
-
Matthew Slipper authored
* ci: Refactor dependencies to reduce runtime This PR makes the following changes in order to reduce CI runtime: 1. Move the long-running Cannon E2E tests into a scheduled job. This reduces E2E runtime by 8 minutes. 2. Updates the `devnet` task to leverage the contract artifacts and cannon pre-state created in order jobs. This job was also updated to use a Geth binary rather than compiling it from source. This reduces devnet runtime by 5 minutes. 3. Removes intermediate linting, allocs, and geth version check jobs by putting them all in `pnpm-monorepo`. `pnpm-monorepo` already builds the contracts, devnet allocs, and checks the Geth version in parallel so splitting these jobs out actually makes things slower due to CCI image download/environment spin-up overhead. The `pnpm-monorepo` job now plugs into a bunch of downstream jobs. 4. Refactors the action tests to take advantage of multiple test executors. 5. Swaps the `bedrock-go-tests` image to a simple CCI base image to reduce runtime (this job alone was taking ~1min due to spin up overhead). 6. Puts linting in `go-mod-download` to avoid spin-up overhead. In sum, this PR reduces overall CI runtime from 22 minutes to ~13. * Use develop as a trigger rather than schedule * schedule fpp-verify
-
Axel Kingsley authored
* Data Puller * comment edits * remove redundant getTx over RPC * fix * Add Write and Merge Functionality * lint fix * add gob tooling * run timer * batching ; fit and finish ; rebase * drain results * fit and finish 2 * error handle * improved resiliency ; remove ENV * filename changes
-
Mark Tyneway authored
Removes the stateviz code from the repo as it has not been used in quite some time. It was removed from the docker compose setup. This is part of cleaning up code in the monorepo periodically to make sure that we keep the codebase clean. stateviz was useful for visualizing the state of the rollup.
-
- 04 Feb, 2024 6 commits
-
-
Matthew Slipper authored
P2P tests were flaking sometimes due to the checks asserting that everything received was published. `require.ElementsMatch` requires that lists be equal, sans duplicates. Sometimes, however, messages would get sent multiple times/not be picked up in time for the assertions leading to errors like this following: ``` listA: ([]string) (len=29) { ... elided (string) (len=68) "0xd770621d3b0a196087ace7efcb0a8a61b353736526f6095946c714ec134b1648:1", (string) (len=69) "0x71a364bf88d4e7e049cfe1635e95c31c9d93435b03a4d20c8863637fc0eb319f:28", (string) (len=68) "0xd770621d3b0a196087ace7efcb0a8a61b353736526f6095946c714ec134b1648:1" } listB: ([]string) (len=29) { (string) (len=68) "0xd770621d3b0a196087ace7efcb0a8a61b353736526f6095946c714ec134b1648:1", ... elided (string) (len=69) "0xf84acde28fb7b630f9e5d91bddc7c2d4d2e1f4ce29a7d1a4551fee9ac828b10f:29" } extra elements in list A: ([]interface {}) (len=1) { (string) (len=68) "0xd770621d3b0a196087ace7efcb0a8a61b353736526f6095946c714ec134b1648:1" } extra elements in list B: ([]interface {}) (len=1) { (string) (len=69) "0xf84acde28fb7b630f9e5d91bddc7c2d4d2e1f4ce29a7d1a4551fee9ac828b10f:29" } ``` This PR refactors to use `require.Subset` which handles this case while still asserting that everything received was in fact published.
-
Danyal Prout authored
-
protolambda authored
* op-chain-ops: ecotone post-activation-checks * op-chain-ops: Ecotone post-activation check fixes * op-chain-ops: check-ecotone fix nonce source * op-chain-ops: cancun functionality post-validation checks * fix lint --------- Co-authored-by:
Matthew Slipper <me@matthewslipper.com>
-
Inphi authored
* ctb: Add leftmost bond payout rule to FDG * Update packages/contracts-bedrock/test/dispute/FaultDisputeGame.t.sol Co-authored-by:
clabby <ben@clab.by> * address @clabby's review --------- Co-authored-by:
clabby <ben@clab.by> Co-authored-by:
Matthew Slipper <me@matthewslipper.com>
-
Mark Tyneway authored
* contracts-bedrock, ci: remove slither Remove the committed in `slither-report.json` since it is not being used as part of code review. Also remove running it as part of CI. We can choose to add it back when we have the time for somebody to own making it a first class tool, but since we haven't triaged the database yet it only adds noise to PRs by adding extra diff and extra overhead by forcing a regeneration of the report. It hasn't found any issues in our code and our other checks are much better at finding issues in the code. Leaving the slither commands in the `package.json` for now but if we do not commit to using slither in a way that is very helpful for us in 6 months or so, then we should just remove the commands as well. Maybe we can adopt a way of using slither where it is used before doing releases of contracts or before going to audit. Having the diff as part of code review is not super helpful for code reviewers. It just adds noise in the current form. * Kick build --------- Co-authored-by:
Matthew Slipper <me@matthewslipper.com>
-
Matthew Slipper authored
* indexer: Pad gas estimates Indexer tests flake fairly often due to out of gas errors. Case in point below, from a recent test run. This PR updates the indexer tests to pad gas estimates by 20%. This technique is used elsewhere in the indexer E2E tests, but wasn't being applied consistently. ```json { "from": "0x15d34aaf54267db7d7c367839aaf71a00a2c6a65", "gas": "0x1f3cc", "gasUsed": "0x1edb1", "to": "0x978e3286eb805934215a88694d80b09aded68d90", "input": "0x", "error": "execution reverted", "calls": [ { "from": "0x978e3286eb805934215a88694d80b09aded68d90", "gas": "0x1889b", "gasUsed": "0x1889b", "to": "0x8887e7568e81405c4e0d4caaabdda949e3b9d4e4", "input": "0x", "error": "out of gas", "calls": [ { "from": "0x978e3286eb805934215a88694d80b09aded68d90", "gas": "0x15560", "gasUsed": "0x1f37", "to": "0x1c23a6d89f95ef3148bcda8e242cab145bf9c0e4", "input": "0xcc731b02", "output": "0x0000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff", "calls": [ { "from": "0x1c23a6d89f95ef3148bcda8e242cab145bf9c0e4", "gas": "0x13d07", "gasUsed": "0xba8", "to": "0xffba8944650e26653823658d76a122946f27e2f2", "input": "0xcc731b02", "output": "0x0000000000000000000000000000000000000000000000000000000001312d00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000f424000000000000000000000000000000000ffffffffffffffffffffffffffffffff", "value": "0x0", "type": "DELEGATECALL" } ], "type": "STATICCALL" } ], "value": "0xde0b6b3a7640000", "type": "DELEGATECALL" } ], "value": "0xde0b6b3a7640000", "type": "CALL" } ``` * Update indexer/e2e_tests/bridge_transactions_e2e_test.go Co-authored-by:
refcell <abigger87@gmail.com> --------- Co-authored-by:
refcell <abigger87@gmail.com>
-
- 03 Feb, 2024 1 commit
-
-
Mark Tyneway authored
Deduplicate code by using a common json write function from `op-service` instead of using one off json write functions. This reduces the overall code in the codebase and helps to standardize the way that we write json to disk.
-
- 02 Feb, 2024 16 commits
-
-
Mark Tyneway authored
* op-chain-ops: remove post process step Now the the L1 genesis is generated by foundry, there should be no need to post process the L1 genesis state. Transactions would fail because of the resource metering values in the optimism portal contract being set as part of the genesis setup. The setup was originally created when Go code was used to generate the L1 genesis. There is a small chance that this fails in CI. Will close if it fails. * op-chain-ops: fix build * chain-ops: delete dead argument The `postProcess` arg is no longer used so delete it * op-node: fix build
-
Matt Solomon authored
-
zhiqiangxu authored
* check prior fork * move inside cfg.Rollup.Check * reuse checkFork logic * fix testcase * move checkFork to top level * add testcases
-
Adrian Sutton authored
* op-challenger: Exclude length prefix when uploading large preimages. Make OracleData field private to avoid unintentionally using the length-prefixed data. * fix(op-e2e): upstream merge --------- Co-authored-by:
refcell <abigger87@gmail.com>
-
Matthew Slipper authored
Implements items 1 and 2 on the [CI Fixes Plan](https://www.notion.so/oplabs/CI-Fixes-Plan-c7b3fee803c1480eb8e0512bff51e208): 1. Disables `op-e2e-ws-tests` 2. Fails faster on HTTP tests
-
Will Cory authored
-
Mark Tyneway authored
* ci: update to ci-builder 0.41.0 Updates ci-builder to the latest release PR to update to latest foundry: https://github.com/ethereum-optimism/optimism/pull/9311 Tag service: https://github.com/ethereum-optimism/optimism/actions/runs/7750682174/job/21137300601 Release in circleci: https://app.circleci.com/pipelines/github/ethereum-optimism/optimism/43501/workflows/b0cedd5b-d439-49b2-b568-b137ca02e23c * op-chain-ops: hack fix for state serialization An update to foundry must change the way that the state dump is serialized as there is a panic with the genesis json parsing. Adds a simple hack for handling it. * typo: fix
-
clabby authored
-
Matt Solomon authored
-
Mark Tyneway authored
The `Artifacts` contract can be inherited by any contract that wants to operate with a deploy artifact JSON file. It was originally created to work with hardhat deploy artifacts, which no longer exist. This cleans up some of the code to make it more obvious that it isn't for hardhat deploy anymore. This has no functionality changes, just renames and cleans up.
-
refcell.eth authored
* feat(op-e2e): large preimage e2e output cannon test * fix: Attempt to wait until leaves are uploaded (finalized) and then time travel past the challenge period * fix: remove args in callback constructor * op-e2e: Make batch size configurable via an option instead of always using large batches. * fix: defend step * op-e2e: Wait for preimage instead of immediate check and some tidy ups. * op-e2e: Reduce keccak challenge period in devnet * op-e2e: Make timings self-consistent. * Use errors.Is * feat(op-challenger): simple clock with accessor and mutator * fix(op-service): make simple clock concurrent * fix(op-service): simple clock lock free atomics * op-challenger: Use state matrix matching the prestate leaf instead of poststate when calling squeeze. * fix(op-service): move simple clock interfaces to their usage * op-e2e: Skip test until insertion is fixed. * op-e2e: Fix typo --------- Co-authored-by:
Adrian Sutton <adrian@oplabs.co>
-
Mark Tyneway authored
Updates foundry to the latest nightly release. https://github.com/foundry-rs/foundry/releases/tag/nightly-84d98427e17370ff08ec34f00e3c7e539753a760 It includes https://github.com/foundry-rs/foundry/pull/6986 which will help to make L2 genesis generation much more simple. Reminder that we must always do releases of `ci-builder` using a nightly foundry release that has not yet been pruned from github. When building from source in `ci-builder`, there are issues at runtime. When downloading the binary from github, there are no issues. Will follow up with a release of `ci-builder` and then update the version of `ci-builder` used in CI.
-
clabby authored
-
clabby authored
-
clabby authored
-
clabby authored
* Add `CANCUN_ACTIVATION` timestamp to preimage oracle * chores * fix: add the cancun activation timestamp * fix: add cancun activation field to full deploy config testdata: --------- Co-authored-by:
refcell <abigger87@gmail.com>
-