Skip to content

Commit 23f1765

Browse files
Alberttchardindependabot[bot]smartcontractsJuanCoRo
authored
bump op to v1.7.3 (#59)
* op-plasma: sync derivation with DA challenge contract state (#9682) * feat: plasma e2e * feat: skip oversized inputs * fix: bring back metrics * feat: set usePlasma in e2e test params * fix: lint * fix: activate plasma flag in data source test * fix: add DA contract proxy to deploy config * more tests, fix leaky abstraction and refactor loadChallenges * fix: cleanup type assertion * support for l1 reorgs, proxy l1 finality signal and tests * fix: plasma disabled * add plasma specific e2e test run * strongly typed commitment * fix test * fix sync lookback * finalize with l1 signal events instead of derivation * adjust pipeline errors * fix batcher commitment encoding and invalid comm logging * fix: adjust plasma state pruning and use bool for DA resetting flag * fix: use l1 fetcher and check pq length * dependabot(npm): bump @swc/core from 1.4.1 to 1.4.6 (#9833) Bumps [@swc/core](https://github.com/swc-project/swc) from 1.4.1 to 1.4.6. - [Release notes](https://github.com/swc-project/swc/releases) - [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md) - [Commits](swc-project/swc@v1.4.1...v1.4.6) --- updated-dependencies: - dependency-name: "@swc/core" dependency-type: direct:development 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> * feat(ct): unlock can be called while paused (#9819) Modifies DelayedWETH.unlock so that it can be called while the system is paused. Same change was recently applied to the specs. Idea behind this change is that the unlock() function is required for a game to resolve, so pausing the system would also block games from resolving. We want games to be able to resolve, we simply don't want incorrectly resolved games to be able to remove ETH from the contract. As unlock does not distribute any ETH, this change is considered safe. * Final version for Kontrol pausability proofs (#9530) * Update tests to native symbolic `bytes` and `bytes[]` * adding lemmas * `run-kontrol.sh`: add more sensible parameters * Change `startPrank` by `prank` * Replace `mockCall` workaround with `vm.mockCall` * Make `bytes` length symbolic * `KontrolUtils`: remove symbolic workarounds * `run-kontrol.sh`: add `prove_proveWithdrawalTransaction_paused` * `forge fmt` * `versions.json`: bump Kontrol from `0.1.127` to `0.1.156` * Remove `ASSUME` comments * ci: run kontrol on develop and allow manual dispatch * ci: rename parameter * `OptimismPortalKontrol`: add remaining ranges for `_withdrawalProof` * Add forge-like UX to `run-kontrol.sh` * `pausability-lemmas.k`: clean file * general tests, further lemmas, summary claim * Address shellcheck failures * Change `pausability-lemmas.k` to `pausability-lemmas.md` * `versions.json`: bump `kontrol` from `0.1.156` to `0.1.178` * `OptimismPortalKontrol`: update `kontrol` natspec to version 0.1.178 * `pausability-lemmas.md`: remove unused `Lemmas` header * Update packages/contracts-bedrock/test/kontrol/pausability-lemmas.md Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * Update packages/contracts-bedrock/test/kontrol/pausability-lemmas.md Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * Update packages/contracts-bedrock/test/kontrol/pausability-lemmas.md Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * Update packages/contracts-bedrock/test/kontrol/pausability-lemmas.md Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * `pausability-lemmas.md`: fix spelling typo * `pausability-lemmas.md`: fix typo `bytearrays` to `byte arrays` * `run-kontrol.sh`: correctly format temorarily unexecuted lemmas * `common.sh`: execute `copy_to_docker` only when in docker mode * `make-summary-deployment.sh`: add argument check before parsing * Reflect `kontrol summary` change to `kontrol load-state-diff` From version `0.1.162`, `kontrol summary` has been renamed to `kontrol load-state-diff`. The reason of this renaming is that `kontrol summary` will be used by kontrol's compositional symbolic execution. Also, changing the name to `load-state-diff` makes more explicit what the command does. Related PR: runtimeverification/kontrol#374 * `pausability-lemmas.md`: remove upstreamed lemmas * fix: writing typos * lemma text pass * paragraph about summary maintainability * README.md: include latest changes * pausability-lemmas.md: markdown link typo * KontrolUtils: add documentation comment * pausability-lemmas.md: fix markdown typo vol2 * pausability-lemmas.md: fix markdown typo vol3 * Add specialized usage functions * `README.md`: remove `bash` in `make-summary-deployment.sh` description * `README.md`: complete `Add New Proofs` section * versions.json: bump kontrol from 0.1.178 to 0.1.196 * run-kontrol.sh: add `--xml-test-report` flag * .gitignore: add `kontrol_prove_report.xml` * foundry.toml: set `ast = true` in `kprove` profile * config.yml: set correct path for kontrol `store_artifacts` * config.yml: add `store_test_results` step to `kontrol-tests` job * package.json: execute `run-kontrol.sh` with `script` option We run `run-kontrol.sh` with the `script` option to avoid executing all proofs * run-kontrol.sh: remove proof with 10 elements in favor of 0 and 1 The longer the `_withdrawalProof` array the longer the execution time Adding the lengths 0 and 1 fits within the max cpus and won't take as long to run * chore: typos and formatting * ci: fix kontrol trigger * README.md: minor typo --------- Co-authored-by: Petar Maksimovic <petar.maksimovic@runtimeverification.com> Co-authored-by: Matt Solomon <matt@mattsolomon.dev> * feat: add tx data version byte (#9845) * feat: add tx data version byte * fix: check data len before version byte * avoid passing version byte * op-dispute-mon: Remove tracked games metric (#9843) It got broken and wasn't being updated and the data can be easily derived from the game_agreement anyway. * op-program: Update verification tests to not depend on L2OO (#9821) * op-program: Update fpp-verify to not depend on L2OO Add verify test for the first sepolia testnet block * op-program: Capture first mainnet block * op-program: Capture ecotone section of sepolia * op-program: Remove logging of l1 head again to make testing easier * Reverse foundry version (#9842) * op-challenger: Verify large preimages in all oracles (#9841) * op-challenger: Use a separate oracle registry and retrieve list on each verification cycle * op-challenger: Register oracles for all active games. * op-challenger: Fix a race condition in challenger tests (#9850) * op-challenger: Fix a race condition in challenger tests now that actions are performed in parallel. * op-dispute-mon: Fix flaky bond enricher test * build(deps): bump google.golang.org/protobuf in /proxyd (#9851) Bumps google.golang.org/protobuf from 1.31.0 to 1.33.0. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-program: Run new compat tests (#9852) Adds capture-sepolia-ecotone to list of data sets to capture. The verify isn't run yet because the data wasn't captured. * op-program: Readd missing var to makefile to fix capturing data. (#9858) * op-e2e: Add multi-blob action test (#9774) * op-batcher: more accurate max channel duration tracking (#9769) * Update channel timeout duration logic to persist across restarts Co-authored-by: Sebastian Stammler <stammler.s@gmail.com> * Add tests for fetching safe l1 origin --------- Co-authored-by: Sebastian Stammler <stammler.s@gmail.com> * fix link and typos in BindGen readme (#9715) * fix link and typos in BindGen readme * another * review fix * fix typo * fix typo * another * another * another * dependabot(npm): bump pino from 8.17.2 to 8.19.0 (#9829) Bumps [pino](https://github.com/pinojs/pino) from 8.17.2 to 8.19.0. - [Release notes](https://github.com/pinojs/pino/releases) - [Commits](pinojs/pino@v8.17.2...v8.19.0) --- updated-dependencies: - dependency-name: pino 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> * dependabot(npm): bump dotenv from 16.4.1 to 16.4.5 (#9830) Bumps [dotenv](https://github.com/motdotla/dotenv) from 16.4.1 to 16.4.5. - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](motdotla/dotenv@v16.4.1...v16.4.5) --- updated-dependencies: - dependency-name: dotenv 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> * improve readability and fix lint (#9864) * chore: fix devnet up failed due to invalid env variable in docker-compose.yaml (#9862) * op-program: Enable sepolia-econtone compat test (#9861) * ci: fix juint path specificer (#9878) * op-dispute-mon: Check proposals are supported by on chain data (#9847) Checks the proposed L2 block was safe when the game was created using the safe head database if available. If not available for any reason, it falls back to the current behaviour of considering the root valid if it matches the local node. * chore(deps-dev): bump follow-redirects in /ufm-test-services/metamask (#9882) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.6. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](follow-redirects/follow-redirects@v1.15.3...v1.15.6) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * op-e2e: Fix flaky System4844E2E test (#9888) * op-wheel: delete dead code (#9886) * op-wheel: delete dead code The `ovm-owners` command was only relevant for the migration from legacy op mainnet to bedrock. Now that bedrock is running in production, we can delete this code. It reduces code in the codebase that is no longer necessary to make maintaining easier. The ability to perform the upgrade is preserved in the legacy codebase, snapshotted at a point where the migration is reproducible. See https://github.com/ethereum-optimism/optimism-legacy * op-wheel: fix build * feat(proxyd): use a specific redis instance for consensus_ha (#9877) * feat(proxyd): add smoke test (#9875) * fix(ctb): Update `proveWithdrawalTransaction` replay require. (#9892) * Update `proveWithdrawalTransaction` require * revert message update in test * feat: introduce AnchorStateRegistry (#9835) * feat: introduce AnchorStateRegistry Introduces the AnchorStateRegistry used to hold anchor states for different game types. Anchor states are updated automatically when a game resolves. * kontrol snapshot --------- Co-authored-by: clabby <ben@clab.by> * fix(challenger,dispute-mon): refactor out min game timestamp into (#9890) op-service. * feat(ctb): Sepolia FPAC deploy config (#9898) * Sepolia FPAC deploy config * fix deploy script * dependabot(gomod): bump gorm.io/gorm from 1.25.7 to 1.25.8 (#9894) Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.25.7 to 1.25.8. - [Release notes](https://github.com/go-gorm/gorm/releases) - [Commits](go-gorm/gorm@v1.25.7...v1.25.8) --- updated-dependencies: - dependency-name: gorm.io/gorm 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> * remove impossible condition (#9885) * feat(op-node): p2p rpc input validation (#9897) * fix(ct): bugs in DelayedWETH (#9899) * fix(ct): bugs in DelayedWETH Fixes two bugs in Delayed WETH. First was a limitation of the recover function that would have made it relatively easy to DoS the function by simply withdrawing small amounts of ETH every time the owner attempted to withdraw the full balance. Second is a bug in hold function where the approval was the wrong way around. * Update Kontrol snapshot --------- Co-authored-by: inphi <mlaw2501@gmail.com> * Fix kontrol script to avoid workspace bind-mount (#9901) * maint(ct): misc comment cleanup (#9902) Some miscellaneous comment cleanup for dispute contracts. * op-batcher: rework channel & compressor config, fix overhead bug (#9887) * op-plasma: track challenges when pipeline is stalled (#9856) * fix: track challenges when pipeline is stalled * cleanup * fix: remove tx version byte in test * remove Heap usage * fix: add pending queue * remove unused check * use 2 PQs * Update comment in op-e2e/actions/plasma_test.go Co-authored-by: Joshua Gutow <jbgutow@gmail.com> --------- Co-authored-by: Joshua Gutow <jbgutow@gmail.com> * FPACOPS edits (#9903) * feat(sdk): improve SDK handling of DisputeGameFactory (#9907) Improves the SDK to handle the DisputeGameFactory more carefully and validate the games that it queries from the factory. Should mean that the client will not attempt to create withdrawals using invalid proposals. * feat(ct): update readme to prepare for audit (#9867) Updates the README for contracts-bedrock to prepare for the upcoming audit of the FPAC system. * chore(op-dispute-mon): bind enrichers (#9908) * dependabot(npm): bump nx from 18.0.4 to 18.1.2 (#9910) Bumps [nx](https://github.com/nrwl/nx/tree/HEAD/packages/nx) from 18.0.4 to 18.1.2. - [Release notes](https://github.com/nrwl/nx/releases) - [Commits](https://github.com/nrwl/nx/commits/18.1.2/packages/nx) --- updated-dependencies: - dependency-name: nx dependency-type: direct:development 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> * dependabot(npm): bump abitype from 1.0.0 to 1.0.2 (#9914) Bumps [abitype](https://github.com/wevm/abitype) from 1.0.0 to 1.0.2. - [Release notes](https://github.com/wevm/abitype/releases) - [Commits](https://github.com/wevm/abitype/compare/abitype@1.0.0...abitype@1.0.2) --- updated-dependencies: - dependency-name: abitype dependency-type: direct:development 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> * op-batcher: fix "handle receipt" log message to properly log id (#9918) it used to log the full transaction frames * op-challenger: Improve formatting of list-claims and list-games (#9923) * op-challenger: Format list-claims output better * op-challenger: Format list-games output better * op-challenger: Include bond with create game transactions (#9922) * fix(ctb): Exact Bond Amounts (#9924) * fix(ctb): require exact bond amounts * fix(ctb): precise bond amount tests * fix(ctb): ci checks * Semver / DGF strict bonds * Rename `InsufficientBond` error -> `IncorrectBondAmount` --------- Co-authored-by: clabby <ben@clab.by> * fix(op-dispute-mon): remove unused collateral calculator (#9926) * dependabot(npm): bump viem from 2.7.19 to 2.8.13 (#9911) Bumps [viem](https://github.com/wevm/viem) from 2.7.19 to 2.8.13. - [Release notes](https://github.com/wevm/viem/releases) - [Commits](https://github.com/wevm/viem/compare/viem@2.7.19...viem@2.8.13) --- updated-dependencies: - dependency-name: viem 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> * op-program: Use op-sepolia network name (#9900) Uses the correct name for sepolia L2 instead of the old alias. * contracts-bedrock: adds spdx header to weth98 (#9921) Without the header, it results in a warning message. This prevents CI from passing. We also want to ensure that its free software. * op-challenger: Add timer metrics for acting on games and attempting to resolve claims (#9934) * op-challenger: Add timer metrics for acting on games and attempting to resolve claims. * op-challenger: Add metrics for contract interactions * op-challenger: Tidy up TxSender (#9931) Don't return receipts as they always ignored Return an error when a transaction publishes but reverts rather than logging and ignoring Add a method that returns errors for each individual transaction * op-challenger: Use TxSender to batch send resolve claim transactions. (#9933) Co-authored-by: refcell <abigger87@gmail.com> * feat(sdk): add DGF address to the SDK for OP Sepolia (#9919) Adds the DGF address to the SDK now that OP Sepolia has been updated. * Version Packages (#9909) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * op-challenger: Simulate ClaimCredit transaction before sending actual transaction (#9932) * op-challenger: Tidy up TxSender Don't return receipts as they always ignored Return an error when a transaction publishes but reverts rather than logging and ignoring Add a method that returns errors for each individual transaction * op-challenger: Simulate ClaimCredit transaction before sending actual transaction Detects when credit is reported as available but is actually still locked by the DelayedWETH contract. --------- Co-authored-by: refcell <abigger87@gmail.com> * Rename derive.CompressorFullErr to conventional ErrCompressorFull (#9936) * feat(op-dispute-mon): Enrich Claims with Resolved Status (#9937) * feat(op-dispute-mon): enrich claims with resolution status * fix(op-dispute-mon): add the claim enricher to the extractor instantiation * fix(op-dispute-mon): localize required bond amount * fix(op-challenger): import cycle * op-challenger: Check for simulation failed error in correct place (#9947) * op-challenger: Skip attempting to resolve claims when the chess clock hasn't expired (#9946) * op-challenger: Skip attempting to resolve claims when the chess clock hasn't expired. * Use <= when comparing chess clock Co-authored-by: Inphi <mlaw2501@gmail.com> --------- Co-authored-by: Inphi <mlaw2501@gmail.com> * fix(op-dispute-mon): credit enriching (#9943) * feat(op-challenger): Delayed Weth Withdrawal Request Caller (#9938) * feat(op-challenger): Delayed Weth Withdrawal Request Caller * fix(op-challenger): withdrawal request field ordering * fix(op-challenger): encapsulate delayed weth behind the fault dispute game contract binding * Require re-proving against a different game (#9944) split req * chore(op-proposer): update proposer description (#9916) * feat(ctb): Key withdrawal proofs by address (#9948) * feat(ctb): Key withdrawal proofs by address * Use recovered public key in ToB tests * reviews + reverse lookup mapping for proof submitters * Update natspec * close Backend resources during testing (#9952) * close backend resources after use during testing * Update op-chain-ops/genesis/layer_two.go Co-authored-by: Sebastian Stammler <stammler.s@gmail.com> --------- Co-authored-by: Sebastian Stammler <stammler.s@gmail.com> * fix(sdk): update SDK to support multiple withdrawal proofs (#9951) * op-node: fetch l1 block with retry (#9869) * op-node: fetch l1 block with retry Signed-off-by: jsvisa <delweng@gmail.com> * op-node: apply cr Signed-off-by: jsvisa <delweng@gmail.com> * op-node/sync: use op-service/retry instead Signed-off-by: jsvisa <delweng@gmail.com> --------- Signed-off-by: jsvisa <delweng@gmail.com> * chore(op-proposer): double driver starting logs (#9915) * feat(proxyd): ha redis namespace should be both backend group name and the namespace itself (#9955) * dependabot(gomod): bump github.com/jackc/pgtype from 1.14.2 to 1.14.3 (#9968) Bumps [github.com/jackc/pgtype](https://github.com/jackc/pgtype) from 1.14.2 to 1.14.3. - [Changelog](https://github.com/jackc/pgtype/blob/master/CHANGELOG.md) - [Commits](jackc/pgtype@v1.14.2...v1.14.3) --- updated-dependencies: - dependency-name: github.com/jackc/pgtype 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> * op-dispute-mon: Collateral is only required for claims that are NOT resolved (#9970) * call BuildingPayload once (#9884) * dependabot(npm): bump express from 4.18.2 to 4.19.2 (#9972) Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2. - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/master/History.md) - [Commits](expressjs/express@4.18.2...4.19.2) --- updated-dependencies: - dependency-name: express dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update dependency on superchain-registry (#9929) * go get github.com/ethereum-optimism/superchain-registry/superchain@52d3dbd1605dd43f419e838584abd0ec163d462b * make mod-tidy * remove goerli chaincfg * op-program: replace references to goerli with sepolia * op-node: remove references to goerli or replace with sepolia * remove unused var * go: update op-geth to latest v1.101308.4-rc.1 * op-node: remove Goerli references & config overrides --------- Co-authored-by: Sebastian Stammler <seb@oplabs.co> * feat(sdk): Add mode constants (#9973) * Adding L2ChainID.MODE_MAINNET addresses L2ChainID.MODE_MAINNET DEPOSIT_CONFIRMATION_BLOCKS for MODE_MAINNET * adding mode sepolia costants * adding pnpm changeset * Add extra test for replay w/ multiple proofs (#9990) * txmgr: add blob base fee metrics (#9988) * op-challenger: Unhide subcommands (#9989) * Tests: Batching Benchmarks (#9927) * Add Benchmark for AddSingularBatch * update compressor configs ; address PR comments * Add b.N * Export RandomSingularBatch through batch_test_util.go * measure only the final batch ; other organizational improvements * Add Benchmark for ToRawSpanBatch * update tests * minor fixup * Add Benchmark for adding *All* Span Batches * comment fixups * narrow tests to only test span batches that won't exceed RLP limit * address pr comments * feat(op-service):Persist RethDB instance in the go fetcher struct. (#9904) * feat(op-service):add open_db_read_only func, return reth db instance to go * feat(op-service):store reth db instance in go, * fix fmt * feat(op-service):check err when create RethFetcher * feat(op-service):add func comments Co-authored-by: Joshua Gutow <jbgutow@gmail.com> --------- Co-authored-by: Joshua Gutow <jbgutow@gmail.com> * op-batcher: stateful span batches & blind compressor (#9954) * Add Benchmark for AddSingularBatch * update compressor configs ; address PR comments * Add b.N * Export RandomSingularBatch through batch_test_util.go * measure only the final batch ; other organizational improvements * Add Benchmark for ToRawSpanBatch * update tests * minor fixup * Add Benchmark for adding *All* Span Batches * comment fixups * narrow tests to only test span batches that won't exceed RLP limit * Stateful Span Batches * Blind Compressor * final fixes * add peek helper function * Address PR Comments * dependabot(npm): bump @wagmi/cli from 2.1.2 to 2.1.4 (#9979) Bumps [@wagmi/cli](https://github.com/wevm/wagmi/tree/HEAD/packages/cli) from 2.1.2 to 2.1.4. - [Release notes](https://github.com/wevm/wagmi/releases) - [Changelog](https://github.com/wevm/wagmi/blob/main/packages/cli/CHANGELOG.md) - [Commits](https://github.com/wevm/wagmi/commits/@wagmi/cli@2.1.4/packages/cli) --- updated-dependencies: - dependency-name: "@wagmi/cli" dependency-type: direct:development 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> * dependabot(npm): bump hardhat-deploy from 0.11.44 to 0.12.2 (#9976) Bumps [hardhat-deploy](https://github.com/wighawag/hardhat-deploy) from 0.11.44 to 0.12.2. - [Changelog](https://github.com/wighawag/hardhat-deploy/blob/master/CHANGELOG.md) - [Commits](wighawag/hardhat-deploy@v0.11.44...v0.12.2) --- updated-dependencies: - dependency-name: hardhat-deploy dependency-type: direct:development 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> * contracts: More robust abi/storage snapshot gen (#9950) * contracts: More robust abi/storage snapshot gen * update geth version used by ci * ci: bump ci-builder rc * ci-builder: pin foundry commit, update nvm * ci: remove foundry commit pin, update foundry in versions.json * ci: bump ci-builder to v0.46.0-rc.4 * update Kontrol snapshots * set ast=true in foundry.toml; revert snapshot gen * replace Clone snapshots * enable --ast only during snapshots * reset snapshot directories * Update .circleci/config.yml to use ci-builder:v0.46.0 * update foundry to nightly-617dfc28cb8206a0003edcf73a6f1058adaef740 * ci: bump ci-builder to v0.46.1 --------- Co-authored-by: Roberto Bayardo <roberto.bayardo@coinbase.com> Co-authored-by: Sebastian Stammler <seb@oplabs.co> * dependabot(gomod): bump github.com/multiformats/go-multiaddr (#10001) Bumps [github.com/multiformats/go-multiaddr](https://github.com/multiformats/go-multiaddr) from 0.12.2 to 0.12.3. - [Release notes](https://github.com/multiformats/go-multiaddr/releases) - [Commits](multiformats/go-multiaddr@v0.12.2...v0.12.3) --- updated-dependencies: - dependency-name: github.com/multiformats/go-multiaddr 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> * dependabot(gomod): bump gorm.io/gorm from 1.25.8 to 1.25.9 (#9994) Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.25.8 to 1.25.9. - [Release notes](https://github.com/go-gorm/gorm/releases) - [Commits](go-gorm/gorm@v1.25.8...v1.25.9) --- updated-dependencies: - dependency-name: gorm.io/gorm 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> * simplify bigMSB (#9998) * fix: make sdk-next tests run in ci (#10003) Co-authored-by: Will Cory <willcory@Wills-MacBook-Pro.local> * chore: Release new versions of all js packages (#9964) Co-authored-by: Will Cory <willcory@Wills-MacBook-Pro.local> * build(deps): bump google.golang.org/protobuf in /op-ufm (#9854) Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * indexer: update format string for uuid.UUID (#9772) * indexer: update format string for uuid.UUID The relayEvent variable is of type uuid.UUID, but it's being formatted as an integer (%d). This will cause a runtime error. Use %s to format the UUID as a string. * indexer: constraint l2_block_headers.timestamp > 0 * indexer: doc bigint.Clamp assumption * feat(op-dispute-mon): GetWithdrawals GameCaller Method (#9939) * feat(op-challenger): Delayed Weth Withdrawal Request Caller * fix(op-challenger): withdrawal request field ordering * fix(op-challenger): encapsulate delayed weth behind the fault dispute game contract binding * feat(op-dispute-mon): get withdrawals game caller method * fix(op-dispute-mon): revert service name changes * fix(op-dispute-mon): revert extractor test name * fix(op-dispute-mon): revert extractor changes * fix(op-dispute-mon): revert newline add * fix(op-dispute-mon): revert caller field reordering * fix(op-challenger): make contract method private * test(ctb): mark coverage as successful if it fails with stack too deep (#10008) * test(ctb): mark coverage as successful if it fails with stack too deep * Update packages/contracts-bedrock/package.json * feat(op-dispute-mon): WithdrawalRequest and Recipients Enricher (#9940) * feat(op-challenger): Delayed Weth Withdrawal Request Caller * fix(op-challenger): withdrawal request field ordering * fix(op-challenger): encapsulate delayed weth behind the fault dispute game contract binding * feat(op-dispute-mon): get withdrawals game caller method * fix(op-dispute-mon): revert service name changes * fix(op-dispute-mon): revert extractor test name * fix(op-dispute-mon): revert extractor changes * fix(op-dispute-mon): revert newline add * fix(op-dispute-mon): revert caller field reordering * feat(op-dispute-mon): weth caller creation and pass it through sub components * chore(op-dispute-mon): weth caller creation unit test * fix(op-dispute-mon): extractor test for weth caller creation error * feat(op-dispute-mon): wire up the withdrawals extractor * fix(op-dispute-mon): rebases * fix(op-dispute-mon): revert caller test change * fix(op-dispute-mon): recipient enricher * feat(op-dispute-mon): WithdrawalRequests Metrics (#9942) * feat(op-challenger): Delayed Weth Withdrawal Request Caller * fix(op-challenger): withdrawal request field ordering * fix(op-challenger): encapsulate delayed weth behind the fault dispute game contract binding * feat(op-dispute-mon): get withdrawals game caller method * fix(op-dispute-mon): revert service name changes * fix(op-dispute-mon): revert extractor test name * fix(op-dispute-mon): revert extractor changes * fix(op-dispute-mon): revert newline add * fix(op-dispute-mon): revert caller field reordering * feat(op-dispute-mon): weth caller creation and pass it through sub components * chore(op-dispute-mon): weth caller creation unit test * fix(op-dispute-mon): extractor test for weth caller creation error * feat(op-dispute-mon): wire up the withdrawals extractor * fix(op-dispute-mon): rebases * fix(op-dispute-mon): revert caller test change * fix(op-dispute-mon): recipient enricher * feat(op-dispute-mon): withdrawal request metrics * Update op-dispute-mon/mon/withdrawals.go Co-authored-by: Adrian Sutton <adrian@oplabs.co> * fix(op-dispute-mon): withdrawal request amounts --------- Co-authored-by: Adrian Sutton <adrian@oplabs.co> * all: use the built-in slices library (#10005) Signed-off-by: carehabit <shenyuting@outlook.com> * fix: Replay transactions that can be finalized (#9969) * fix: Replay transactions that can be finalized comments Update packages/sdk/src/cross-chain-messenger.ts feat: Add test remove stale changeset fix: remove the stale goerli tests fix: run pnpm nx build instead of pnpm build dpeend on pnpm monorepo instead of nx building wrong ports http not https fix: sepolia chain ids debugging why it's broke linter: rip rekick the tests with env variables set to sepolia op rather than mainnet op fix: Update to a withdrawal that should actually work fix:test * speed up ci by installing wait-on * clean up * fix: Test running only 1 at a time --------- Co-authored-by: Will Cory <willcory@Wills-MacBook-Pro.local> * Version Packages (#9956) * Version Packages * update readme to rekick the tests --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Will Cory <willcory@Wills-MacBook-Pro.local> * op-node: p2p ping test CI flake fix (#10010) * feat(op-dispute-mon): Claim Monitor (#10012) * feat(op-dispute-mon): claim monitor * fix(op-dispute-mon): lints * feat(op-dispute-mon): Track and Metrice Credit Balances (#9928) * feat(op-dispute-mon): track and metrice credit balances * fix(op-dispute-mon): Enrich Required Bonds (#9930) * fix(op-dispute-mon): bad merge * fix(op-dispute-mon): credit balance check final touches and logging * Update op-dispute-mon/mon/bonds/monitor.go Co-authored-by: Inphi <mlaw2501@gmail.com> * fix(op-dispute-mon): iterative logic * fix(op-dispute-mon): lints --------- Co-authored-by: Inphi <mlaw2501@gmail.com> * fix(op-node): handle async disconnects to avoid test flakiness (#10019) * dependabot(actions): bump crytic/slither-action from 0.3.1 to 0.3.2 (#10022) Bumps [crytic/slither-action](https://github.com/crytic/slither-action) from 0.3.1 to 0.3.2. - [Release notes](https://github.com/crytic/slither-action/releases) - [Commits](crytic/slither-action@v0.3.1...v0.3.2) --- updated-dependencies: - dependency-name: crytic/slither-action 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> * Use tryFfi in Setup.sol (#9983) * use tryFfi * ctb: Update FfiFailed revert message in Setup.sol * Update Setup.sol * Update Setup.sol * ctb: Update snapshot --------- Co-authored-by: zhiqiangxu <652732310@qq.com> * feat(indexer): index block after specified period of inactivity (#10021) * address etl log inactivity * Update indexer/README.md Co-authored-by: Will Cory <willcory10@gmail.com> --------- Co-authored-by: Will Cory <willcory10@gmail.com> * feat(indexer): Remove goerli config options. Specify DisputeGameFactoryProxy address OP Sepolia (#10032) * remove goerli. add dpf for optimism sepolia * remove more goerli references & unit tests * feat(op-dispute-mon): Resolution Status Monitor Component (#10020) * feat(op-dispute-mon): resolution status * fix(op-dispute-mon): merge fixes * feat(op-dispute-mon): Unexpected Claim Resolution (#10031) * feat(op-dispute-mon): track claims resolved against honest actors * fix(op-dispute-mon): break after honest actor error is logged * fix(op-dispute-mon): lints * dependabot(gomod): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#9853) Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * ci-builder: add yq (#10033) * ci-builder: add yq Adds `yq` to `ci-builder` so that we can read the yaml information inside of the superchain registry. `yq` is `jq` but for yaml, see https://github.com/mikefarah/yq * hardcode yq version Co-authored-by: Joshua Gutow <jgutow@oplabs.co> * hardcode gotestsum version Co-authored-by: Joshua Gutow <jgutow@oplabs.co> --------- Co-authored-by: Joshua Gutow <jgutow@oplabs.co> * Revert "dependabot(gomod): bump google.golang.org/protobuf from 1.32.0 to 1.3…" (#10037) This reverts commit 3c34770. * Asterisc integration (#9823) * Add ASTERISC dispute game type * Use pre-funded account for local devnet deployer * Add op-program-client-riscv build command * Add comment about deployer account * dependabot(npm): bump vite from 5.1.5 to 5.1.7 (#10038) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.1.5 to 5.1.7. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.1.7/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.1.7/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update op-geth dependency to v1.101309.0-rc.2 (#9935) * use updated op-geth * update geth moar * resource usage cleanup * remove sleeping * go: fix broken indirect dependency of github.com/kataras/iris/v12 * proxyd: update to geth v1.13.10 * proxyd: update to geth v1.13.14 * op-chain-ops: reduce diff, utilize chainID from caller to make Permit2 path use correct chainID during deployment * op-chain-ops: L2 backend only, enable shanghai/canyon by default, fix doc comments * op-chain-ops: simulator without L2 features, to support op-upgrade --------- Co-authored-by: protolambda <proto@protolambda.com> * txmgr: fix racy access to nonces slice in TestQueue_Send with mutex (#10016) * dependabot(npm): bump nx from 18.1.2 to 18.2.2 (#10028) Bumps [nx](https://github.com/nrwl/nx/tree/HEAD/packages/nx) from 18.1.2 to 18.2.2. - [Release notes](https://github.com/nrwl/nx/releases) - [Commits](https://github.com/nrwl/nx/commits/18.2.2/packages/nx) --- updated-dependencies: - dependency-name: nx dependency-type: direct:development 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> * contracts-bedrock: fix deploy config for mainnet MCP upgrade (#9865) * contracts-bedrock: fix deploy config for mainnet MCP upgrade The config param for the scalar was not updated in the deploy config when it was changed on chain. If we can enforce that the deploy config is always used as the source of truth for when doing on chain config changes, it can help to scale the team as other teams can use the same config file and know that the values in there represent the truth. This is a fundamental problem with the `initialize` pattern, we need to move away from it eventually. The deploy config is updated with the value that is used on mainnet and the parsing is updated to handle the new ecotone style config, which tightly packs the values into a single bytes32. * op-chain-ops: more cleanup * op-e2e: fix build * cleanup: modularize scalar encoding and decoding Ensures that the same consensus code is used to encode and decode the scalar in various places. * op-chain-ops: fix L2 genesis generation * config: fix serialization * op-chain-ops: refactor config Make backwards compatible * op-chain-ops: fix build * deploy-config: update mainnet fee scalar config Should match mainnet values * op-chain-ops: fix test * genesis: test L1Block predeploy state setting * op-upgrade: delete dead code * build: fix * op-chain-ops: add deprecation warning Co-authored-by: Sebastian Stammler <seb@oplabs.co> * deploy-config: use mainnet values Co-authored-by: Sebastian Stammler <seb@oplabs.co> * deploy-config: use mainnet values Co-authored-by: Sebastian Stammler <seb@oplabs.co> * op-service: end to end encode/decode scalar tests * tests: cleanup * op-chain-ops: fix nits, adapt to breaking simulated backend changes * op-chain-ops: fix comment and address-type conversion nits --------- Co-authored-by: Sebastian Stammler <seb@oplabs.co> Co-authored-by: protolambda <proto@protolambda.com> * feat: register Asterisc to AnchorStateRegistry for devnet (#10050) * op-e2e: Increase timeout of traceProvider.Get when moving (#10053) The old 2 minute timeout is no longer sufficient. As cannon execution sometimes requires more time to generate traces. * op-upgrade: delete dead version (#10013) * op-upgrade: delete dead version Deletes the `op-upgrade-mcp` binary in favor of the `op-upgrade` binary. This enables us to leverage the `superchain-regsitry` without needing to hardcode addresses in one off locations. `op-upgrade-mcp` existed because `superchain-regsitry` assumes that there are implementations that can be shared between networks, ie post MCP world, meaning there are no immutables in the code that are network specific. * op-upgrade: apply superchain config to L1 upgrade work, e.g. to source superchainConfig.Config.SuperchainConfigAddr for L1CrossDomainMessenger --------- Co-authored-by: protolambda <proto@protolambda.com> * chore(deps): bump h2 from 0.3.24 to 0.3.26 in /op-service/rethdb-reader (#10056) Bumps [h2](https://github.com/hyperium/h2) from 0.3.24 to 0.3.26. - [Release notes](https://github.com/hyperium/h2/releases) - [Changelog](https://github.com/hyperium/h2/blob/v0.3.26/CHANGELOG.md) - [Commits](hyperium/h2@v0.3.24...v0.3.26) --- updated-dependencies: - dependency-name: h2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Store cannon-go-lint-and-test logs on failure (#10055) * Store cannon-go-lint-and-test logs on failure Needed to debug why this test is failing * Update config.yml * Update config.yml * Try without coverage * Update config.yml * Update config.yml * Update .circleci/config.yml * Disable E2E Plasma Job (#10058) * CI: Less verbose output (#10059) * update geth dependency to version w/ v1.13.11 upstream commits (#10041) * update geth dependency to version with upstream updates to v1.13.11 * fix op-program tests * update op-geth dep to tagged commit * handle `Read` more correctly (#10034) * handle Read more correctly * similar for Write * op-batcher: Embed Zlib Compressor into Span Channel Out ; Compression Avoidance Strategy (#10002) * Add iterative batch building benchmark * Embed Compressor Logic directly to Span Channel Out * PR Comments * Tests * fix error handling * remove errant comment * PR Comments * feat: update log * feat: update log * feat: update go.mod --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: jsvisa <delweng@gmail.com> Signed-off-by: carehabit <shenyuting@outlook.com> Co-authored-by: tdot <tdotchardin@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: smartcontracts <kelvin@optimism.io> Co-authored-by: Juan C <38925412+JuanCoRo@users.noreply.github.com> Co-authored-by: Petar Maksimovic <petar.maksimovic@runtimeverification.com> Co-authored-by: Matt Solomon <matt@mattsolomon.dev> Co-authored-by: Adrian Sutton <adrian@oplabs.co> Co-authored-by: clabby <ben@clab.by> Co-authored-by: Sebastian Stammler <seb@oplabs.co> Co-authored-by: Danyal Prout <me@dany.al> Co-authored-by: Sebastian Stammler <stammler.s@gmail.com> Co-authored-by: zhiqiangxu <652732310@qq.com> Co-authored-by: friendwu <wp.4163196@gmail.com> Co-authored-by: Mark Tyneway <mark.tyneway@gmail.com> Co-authored-by: felipe <130432649+felipe-op@users.noreply.github.com> Co-authored-by: refcell <abigger87@gmail.com> Co-authored-by: inphi <mlaw2501@gmail.com> Co-authored-by: Joshua Gutow <jbgutow@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Roberto Bayardo <roberto.bayardo@coinbase.com> Co-authored-by: Delweng <delweng@gmail.com> Co-authored-by: George C. Knee <georgeknee@googlemail.com> Co-authored-by: Raffaele <151576068+raffaele-oplabs@users.noreply.github.com> Co-authored-by: Axel Kingsley <axel.kingsley@gmail.com> Co-authored-by: Yingjie Qiao <nickqiaoo@gmail.com> Co-authored-by: Will Cory <willcory10@gmail.com> Co-authored-by: Will Cory <willcory@Wills-MacBook-Pro.local> Co-authored-by: Kero <keroroxx520@gmail.com> Co-authored-by: carehabit <165479941+carehabit@users.noreply.github.com> Co-authored-by: protolambda <proto@protolambda.com> Co-authored-by: Maurelian <john@oplabs.co> Co-authored-by: Hamdi Allam <hamdi.allam97@gmail.com> Co-authored-by: Joshua Gutow <jgutow@oplabs.co> Co-authored-by: Tei Im <40449056+ImTei@users.noreply.github.com> Co-authored-by: Park Changwan <pcw109550@gmail.com>
1 parent 8e0675f commit 23f1765

421 files changed

Lines changed: 13278 additions & 7496 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.circleci/config.yml

Lines changed: 59 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ version: 2.1
33
parameters:
44
ci_builder_image:
55
type: string
6-
default: us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-builder:v0.43.0
6+
default: us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-builder:v0.46.1
77
ci_builder_rust_image:
88
type: string
99
default: us-docker.pkg.dev/oplabs-tools-artifacts/images/ci-builder-rust:latest
@@ -23,6 +23,9 @@ parameters:
2323
fault_proofs_dispatch:
2424
type: boolean
2525
default: false
26+
kontrol_dispatch:
27+
type: boolean
28+
default: false
2629

2730
orbs:
2831
go: circleci/go@1.8.0
@@ -132,14 +135,18 @@ jobs:
132135
- run:
133136
name: Cannon Go tests
134137
command: |
135-
gotestsum --format=standard-verbose --junitfile=/tmp/test-results/cannon.xml \
138+
mkdir -p /testlogs
139+
gotestsum --format=testname --junitfile=/tmp/test-results/cannon.xml --jsonfile=/testlogs/log.json \
136140
-- -parallel=2 -coverpkg=github.com/ethereum-optimism/optimism/cannon/... -coverprofile=coverage.out ./...
137141
working_directory: cannon
138142
- run:
139143
name: upload Cannon coverage
140144
command: codecov --verbose --clean --flags cannon-go-tests
141145
- store_test_results:
142146
path: /tmp/test-results
147+
- store_artifacts:
148+
path: /testlogs
149+
when: always
143150
cannon-build-test-vectors:
144151
docker:
145152
- image: <<pipeline.parameters.ci_builder_image>>
@@ -203,6 +210,12 @@ jobs:
203210
- run:
204211
name: Copy FPAC allocs to .devnet-fpac
205212
command: cp -r .devnet/ .devnet-fault-proofs/
213+
- run:
214+
name: Generate Plasma allocs
215+
command: DEVNET_PLASMA="true" make devnet-allocs
216+
- run:
217+
name: Copy Plasma allocs to .devnet-plasma
218+
command: cp -r .devnet/ .devnet-plasma/
206219
- run:
207220
name: Generate non-FPAC allocs
208221
command: make devnet-allocs
@@ -219,6 +232,8 @@ jobs:
219232
- ".devnet/addresses.json"
220233
- ".devnet-fault-proofs/allocs-l1.json"
221234
- ".devnet-fault-proofs/addresses.json"
235+
- ".devnet-plasma/allocs-l1.json"
236+
- ".devnet-plasma/addresses.json"
222237
- "packages/contracts-bedrock/deploy-config/devnetL1.json"
223238
- "packages/contracts-bedrock/deployments/devnetL1"
224239

@@ -671,22 +686,22 @@ jobs:
671686
keys:
672687
- pnpm-packages-v2-{{ checksum "pnpm.lock.yaml" }}
673688
- check-changed:
674-
patterns: sdk,contracts-bedrock,contracts
689+
patterns: sdk
675690
# populate node modules from the cache
676691
- run:
677692
name: Install dependencies
678693
command: pnpm install:ci
679694
- run:
680-
name: anvil-l1
695+
name: sepolia-fork
681696
background: true
682697
# atm this is goerli but we should use mainnet after bedrock is live
683-
command: anvil --fork-url $ANVIL_L1_FORK_URL --fork-block-number 9256679
698+
command: anvil --fork-url $ANVIL_SEPOLIA_FORK_URL --fork-block-number 5580113 --port 8545
684699

685700
- run:
686-
name: anvil-l2
701+
name: op-sepolia-fork
687702
background: true
688703
# atm this is goerli but we should use mainnet after bedrock is live
689-
command: anvil --fork-url $ANVIL_L2_FORK_URL --port 9545 --fork-block-number 11276409
704+
command: anvil --fork-url $ANVIL_OP_SEPOLIA_FORK_URL --port 9545 --fork-block-number 9925328
690705

691706
- run:
692707
name: build
@@ -836,11 +851,11 @@ jobs:
836851
- golang-build-cache-
837852
- run:
838853
name: prep results dir
839-
command: mkdir -p /tmp/test-results
854+
command: mkdir -p /tmp/test-results && mkdir -p /testlogs
840855
- run:
841856
name: run tests
842857
command: |
843-
gotestsum --format=standard-verbose --junitfile=/tmp/test-results/<<parameters.module>>.xml \
858+
gotestsum --format=testname --junitfile=/tmp/test-results/<<parameters.module>>.xml --jsonfile=/testlogs/log.json \
844859
-- -parallel=8 -coverpkg=github.com/ethereum-optimism/optimism/... -coverprofile=coverage.out ./...
845860
working_directory: <<parameters.module>>
846861
- save_cache:
@@ -853,6 +868,9 @@ jobs:
853868
#command: codecov --verbose --clean --flags bedrock-go-tests
854869
- store_test_results:
855870
path: /tmp/test-results
871+
- store_artifacts:
872+
path: /testlogs
873+
when: always
856874

857875
go-e2e-test:
858876
parameters:
@@ -896,6 +914,13 @@ jobs:
896914
- run:
897915
name: Set OP_E2E_USE_FPAC = true
898916
command: echo 'export OP_E2E_USE_FPAC=true' >> $BASH_ENV
917+
- when:
918+
condition:
919+
equal: ['-plasma', <<parameters.fpac>>]
920+
steps:
921+
- run:
922+
name: Set OP_E2E_USE_PLASMA = true
923+
command: echo 'export OP_E2E_USE_PLASMA=true' >> $BASH_ENV
899924
- check-changed:
900925
patterns: op-(.+),cannon,contracts-bedrock
901926
- run:
@@ -932,7 +957,7 @@ jobs:
932957
export OP_E2E_CANNON_ENABLED="false"
933958
# Note: We don't use circle CI test splits because we need to split by test name, not by package. There is an additional
934959
# constraint that gotestsum does not currently (nor likely will) accept files from different pacakges when building.
935-
JUNIT_FILE=/tmp/test-results/<<parameters.module>>_<<parameters.target>>.xml make <<parameters.target>> 2>&1 | tee /testlogs/test.log
960+
JUNIT_FILE=/tmp/test-results/<<parameters.module>>_<<parameters.target>>.xml JSON_LOG_FILE=/testlogs/test.log make <<parameters.target>>
936961
working_directory: <<parameters.module>>
937962
- store_artifacts:
938963
path: /testlogs
@@ -976,10 +1001,13 @@ jobs:
9761001
name: Test
9771002
command: |
9781003
mkdir -p /test-results
979-
gotestsum --format=standard-verbose --junitfile /test-results/tests.xml -- -parallel=2
1004+
gotestsum --format=testname --junitfile /test-results/tests.xml --jsonfile /test-results/log.json -- -parallel=2
9801005
working_directory: <<parameters.working_directory>>
9811006
- store_test_results:
9821007
path: /test-results
1008+
- store_artifacts:
1009+
path: /testlogs
1010+
when: always
9831011
- when:
9841012
condition:
9851013
equal: [ true, <<parameters.build>> ]
@@ -1140,11 +1168,11 @@ jobs:
11401168
- run:
11411169
name: Install Geth
11421170
command: |
1143-
wget https://gethstore.blob.core.windows.net/builds/geth-alltools-linux-amd64-1.13.4-3f907d6a.tar.gz
1171+
wget https://gethstore.blob.core.windows.net/builds/geth-alltools-linux-amd64-1.13.14-2bd6bd01.tar.gz
11441172
# geth only provides md5 sums sadly
1145-
echo 'c2e3d38372cb8081ed01591246a7556f geth-alltools-linux-amd64-1.13.4-3f907d6a.tar.gz' | md5sum -c -
1146-
tar -xzvf geth-alltools-linux-amd64-1.13.4-3f907d6a.tar.gz
1147-
sudo cp geth-alltools-linux-amd64-1.13.4-3f907d6a/* /usr/local/bin
1173+
echo '76a04354dba9980fcbc35bece2957b30 geth-alltools-linux-amd64-1.13.14-2bd6bd01.tar.gz' | md5sum -c -
1174+
tar -xzvf geth-alltools-linux-amd64-1.13.14-2bd6bd01.tar.gz
1175+
sudo cp geth-alltools-linux-amd64-1.13.14-2bd6bd01/* /usr/local/bin
11481176
- run:
11491177
name: foundryup
11501178
command: |
@@ -1157,7 +1185,7 @@ jobs:
11571185
- run:
11581186
name: Install NVM
11591187
command: |
1160-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
1188+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
11611189
source ~/.bashrc
11621190
nvm --version
11631191
- run:
@@ -1403,7 +1431,7 @@ jobs:
14031431
- run:
14041432
name: compat-sepolia
14051433
command: |
1406-
make run-sepolia-verify
1434+
make verify-compat
14071435
working_directory: op-program
14081436

14091437
check-generated-mocks-op-node:
@@ -1470,7 +1498,9 @@ jobs:
14701498
command: pnpm test:kontrol
14711499
working_directory: ./packages/contracts-bedrock
14721500
- store_artifacts:
1473-
path: ./packages/contracts-bedrock/kontrol-results_latest.tar.gz
1501+
path: ./packages/contracts-bedrock/test/kontrol/logs/kontrol-results_latest.tar.gz
1502+
- store_test_results:
1503+
path: ./packages/contracts-bedrock
14741504
- notify-failures-on-develop
14751505

14761506
workflows:
@@ -1524,13 +1554,6 @@ workflows:
15241554
dependencies: '(contracts-bedrock|contracts-ts)'
15251555
requires:
15261556
- pnpm-monorepo
1527-
- js-lint-test:
1528-
name: sdk-next-tests
1529-
coverage_flag: sdk-next-tests
1530-
package_name: sdk
1531-
dependencies: "(common-ts|contracts-bedrock|core-utils)"
1532-
requires:
1533-
- pnpm-monorepo
15341557
- js-lint-test:
15351558
name: sdk-tests
15361559
coverage_flag: sdk-tests
@@ -1545,6 +1568,10 @@ workflows:
15451568
name: proxyd-tests
15461569
binary_name: proxyd
15471570
working_directory: proxyd
1571+
- sdk-next-tests:
1572+
name: sdk-next-tests
1573+
requires:
1574+
- pnpm-monorepo
15481575
- indexer-tests:
15491576
name: indexer-tests<< matrix.fpac >>
15501577
matrix:
@@ -2063,9 +2090,14 @@ workflows:
20632090
context:
20642091
- slack
20652092

2066-
scheduled-kontrol-tests:
2093+
develop-kontrol-tests:
20672094
when:
2068-
equal: [ build_four_hours, <<pipeline.schedule.name>> ]
2095+
and:
2096+
- or:
2097+
- equal: [ "develop", <<pipeline.git.branch>> ]
2098+
- equal: [ true, <<pipeline.parameters.kontrol_dispatch>> ]
2099+
- not:
2100+
equal: [ scheduled_pipeline, << pipeline.trigger_source >> ]
20692101
jobs:
20702102
- kontrol-tests:
20712103
context:

.github/workflows/slither.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
run: rm packages/contracts-bedrock/package.json
2424

2525
- name: Run Slither
26-
uses: crytic/slither-action@v0.3.1
26+
uses: crytic/slither-action@v0.3.2
2727
id: slither
2828
with:
2929
target: packages/contracts-bedrock

bedrock-devnet/devnet/__init__.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
# Global environment variables
3030
DEVNET_NO_BUILD = os.getenv('DEVNET_NO_BUILD') == "true"
3131
DEVNET_FPAC = os.getenv('DEVNET_FPAC') == "true"
32+
DEVNET_PLASMA = os.getenv('DEVNET_PLASMA') == "true"
3233

3334
class Bunch:
3435
def __init__(self, **kwds):
@@ -130,15 +131,18 @@ def init_devnet_l1_deploy_config(paths, update_timestamp=False):
130131
if DEVNET_FPAC:
131132
deploy_config['useFaultProofs'] = True
132133
deploy_config['faultGameMaxDuration'] = 10
134+
if DEVNET_PLASMA:
135+
deploy_config['usePlasma'] = True
133136
write_json(paths.devnet_config_path, deploy_config)
134137

135138
def devnet_l1_genesis(paths):
136139
log.info('Generating L1 genesis state')
137140
init_devnet_l1_deploy_config(paths)
138141

139142
fqn = 'scripts/Deploy.s.sol:Deploy'
143+
# Use foundry pre-funded account #1 for the deployer
140144
run_command([
141-
'forge', 'script', '--chain-id', '900', fqn, "--sig", "runWithStateDump()"
145+
'forge', 'script', '--chain-id', '900', fqn, "--sig", "runWithStateDump()", "--private-key", "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"
142146
], env={}, cwd=paths.contracts_bedrock_dir)
143147

144148
forge_dump = read_json(paths.forge_dump_path)
@@ -279,7 +283,7 @@ def devnet_test(paths):
279283
['npx', 'hardhat', 'deposit-eth', '--network', 'devnetL1',
280284
'--l1-contracts-json-path', paths.addresses_json_path, '--signer-index', '15'],
281285
cwd=paths.sdk_dir, timeout=8*60)
282-
], max_workers=2)
286+
], max_workers=1)
283287

284288

285289
def run_commands(commands: list[CommandPreset], max_workers=2):

cannon/mipsevm/evm.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ func NewEVMEnv(contracts *Contracts, addrs *Addresses) (*vm.EVM, *state.StateDB)
7878
copy(mipsCtorArgs[12:], addrs.Oracle[:])
7979
mipsDeploy := append(hexutil.MustDecode(bindings.MIPSMetaData.Bin), mipsCtorArgs[:]...)
8080
startingGas := uint64(30_000_000)
81-
_, deployedMipsAddr, leftOverGas, err := env.Create(vm.AccountRef(addrs.Sender), mipsDeploy, startingGas, big.NewInt(0))
81+
_, deployedMipsAddr, leftOverGas, err := env.Create(vm.AccountRef(addrs.Sender), mipsDeploy, startingGas, common.U2560)
8282
if err != nil {
8383
panic(fmt.Errorf("failed to deploy MIPS contract: %w. took %d gas", err, startingGas-leftOverGas))
8484
}

cannon/mipsevm/evm_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,12 @@ func (m *MIPSEVM) Step(t *testing.T, stepWitness *StepWitness) []byte {
7272
t.Logf("reading preimage key %x at offset %d", stepWitness.PreimageKey, stepWitness.PreimageOffset)
7373
poInput, err := encodePreimageOracleInput(t, stepWitness, LocalContext{}, m.localOracle)
7474
require.NoError(t, err, "encode preimage oracle input")
75-
_, leftOverGas, err := m.env.Call(vm.AccountRef(sender), m.addrs.Oracle, poInput, startingGas, big.NewInt(0))
75+
_, leftOverGas, err := m.env.Call(vm.AccountRef(sender), m.addrs.Oracle, poInput, startingGas, common.U2560)
7676
require.NoErrorf(t, err, "evm should not fail, took %d gas", startingGas-leftOverGas)
7777
}
7878

7979
input := encodeStepInput(t, stepWitness, LocalContext{})
80-
ret, leftOverGas, err := m.env.Call(vm.AccountRef(sender), m.addrs.MIPS, input, startingGas, big.NewInt(0))
80+
ret, leftOverGas, err := m.env.Call(vm.AccountRef(sender), m.addrs.MIPS, input, startingGas, common.U2560)
8181
require.NoError(t, err, "evm should not fail")
8282
require.Len(t, ret, 32, "expecting 32-byte state hash")
8383
// remember state hash, to check it against state
@@ -293,7 +293,7 @@ func TestEVMFault(t *testing.T) {
293293
input := encodeStepInput(t, stepWitness, LocalContext{})
294294
startingGas := uint64(30_000_000)
295295

296-
_, _, err := env.Call(vm.AccountRef(sender), addrs.MIPS, input, startingGas, big.NewInt(0))
296+
_, _, err := env.Call(vm.AccountRef(sender), addrs.MIPS, input, startingGas, common.U2560)
297297
require.EqualValues(t, err, vm.ErrExecutionReverted)
298298
logs := evmState.Logs()
299299
require.Equal(t, 0, len(logs))

endpoint-monitor/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# @eth-optimism/endpoint-monitor
22

3+
## 1.0.4
4+
5+
### Patch Changes
6+
7+
- [#9964](https://github.com/ethereum-optimism/optimism/pull/9964) [`8241220898128e1f61064f22dcb6fdd0a5f043c3`](https://github.com/ethereum-optimism/optimism/commit/8241220898128e1f61064f22dcb6fdd0a5f043c3) Thanks [@roninjin10](https://github.com/roninjin10)! - Removed only-allow command from package.json
8+
39
## 1.0.3
410

511
### Patch Changes

endpoint-monitor/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@eth-optimism/endpoint-monitor",
3-
"version": "1.0.3",
3+
"version": "1.0.4",
44
"private": true,
55
"dependencies": {}
66
}

0 commit comments

Comments
 (0)