Skip to content

chore: sync audit#745

Merged
0xDiscotech merged 40 commits intofeat/add-rev-sharing-reportfrom
chore/sync-audit
Dec 9, 2025
Merged

chore: sync audit#745
0xDiscotech merged 40 commits intofeat/add-rev-sharing-reportfrom
chore/sync-audit

Conversation

@0xDiscotech
Copy link
Copy Markdown

No description provided.

ajsutton and others added 30 commits December 2, 2025 01:51
* op-challenger: Extract generic game player

Handles common checks before delegating to an actor to progress the game.

* op-challenger: Remove remnants of fault.Player
…m#18471)

Updates factory workflow reference to 753bcd4284a6d36eac6e31df2492015ab8650331
which renames push_provenance to attest and skips attestation step on fork PRs.

Changes:
- Update workflow SHA in protected.yaml and unprotected.yaml
- Change push_provenance: false to attest: false in unprotected.yaml
- Add attest: true in protected.yaml for clarity
* feat: add CGT system feature (#703)

* fix: sys feature CI (#706)

* fix: liquidity controller fuzz (#708)

* fix: setup CGT system feature in deploy script (#711)

* fix: unused import (#713)

* test: add CGT missing tests (#714)
* op-challenger: Support challenging optimistic ZK games

* op-challenger: Remove check that the proposal was safe.

* op-challenger: Add log message before challenging

* op-dispute-mon: Remove unused interface
* op-challenger: Remove asterisc from op-challenger docker image.

* op-challenger: Remove asterisc-kona from default list of supported game types
…sm#18464)

* op-challenger: Resolve zk games without considering parent

* op-challenger: Consider parent game status when resolving

* op-challenger: Handle games with no parent.

* op-challenger: Challenge games when possible, even if we could resolve them.

Allows us to claim bonds for games where the parent is invalid.

* op-challenger: Send zk game transactions in parallel.
…mism#18233)

* op-node: fix l1 origin selector getting stuck

if current origin was reorged out

* clarify comments + test refactoring

* gofmt
…thereum-optimism#18327)

* op-batcher: propagate clock.Clock to gossip builder check. refactor MaxChannelDuration

* remove comments

* remove PrintChain

* Merge pull request ethereum-optimism#18344 from ethereum-optimism/nonsense/fix-channel-close2

op-batcher: fix max channel duration tracking for large block backlogs (cont)

* unit test for moreComing

* extract SequenceBlock into DSL

* add TestChannelBuilder_MaxChannelDurationZero

* better comments

* godoc for moreComing and pubInfo

* rename moreComing

* better comment

* a few tweaks for  ethereum-optimism#18327 (ethereum-optimism#18480)

* tweaks

* remove default values (false booleans) from struct literals

* Rename publishingBacklog to ignoreMaxChannelDuration

* typo

* rename test

---------

Co-authored-by: George Knee <georgeknee@googlemail.com>
* feat: deploy safersafes script

* fix: use semvercomp

* fix: fmt & semgrep

* fix: pre-pr

* fix: interface check

* feat: interface cleanup
…ethereum-optimism#18484)

- add structured_output schema to devin prompt instructing completion status
- add check for structured_output in devin_client.py blocked status handler
- add finished_no_changes status when analysis complete without changes
- create slack-notifier component with prepare_notification.sh script
- add prepare-slack-notification command to justfile
- add slack notification for finished_no_changes status
- replace inline slack logic in circleci config with just command
…ptimism#18467)

* op-challenger: Reclaim bonds for optimistic zk games

* op-challenger: Challenge proposals that are still unsafe.

* op-challenger: Report proposal status in game info log
)

* op-e2e: Test FPP for delegatecalled precompiles

* go lint
…mism#18487)

Co-authored-by: AgusDuha <81362284+agusduha@users.noreply.github.com>
…8492)

* op-service/sources: detect duplicate blob hashes

* op-node: Add unit test and fix logic for checking if blob has already been matched.

* op-node: Fix lint

---------

Co-authored-by: Adrian Sutton <adrian@oplabs.co>
…thereum-optimism#18498)

Updates docker-bake.yaml reference to include fix that prevents bash
history expansion issues when build metadata contains special characters
like '!'.

Ref: ethereum-optimism/factory#8
…#18454)

* feat: break out OPCMv2 utils into helper contracts

Breaks out the OPCMv2 utils into a separate Utils contract that
reduces the code size of OPCMv2 significantly.

* fix: go ci issues

* fix: more ci issues

* fix: forge lint

* fix: go verify artifacts

* feat: add tests for OPCMUtils

* fix: broken tests

* fix: more test tweaks

* fix: mark functions as external

* feat: add tests for implementations and blueprints
… flaky test (ethereum-optimism#18360)

* test(contracts): add comprehensive coverage for AddressAliasHelper functions

- Add ApplyL1ToL2Alias_Test contract with fuzz test for applyL1ToL2Alias
- Add UndoL1ToL2Alias_Test contract with fuzz test for undoL1ToL2Alias
- Both tests verify correct offset arithmetic with unchecked overflow handling
- Ensures all public functions have individual test coverage

* fix(test): disable known features before fuzzing unset feature test

Fixes flaky test testFuzz_isFeatureEnabled_unsetFeature_succeeds by
disabling all known features (CUSTOM_GAS_TOKEN, ETH_LOCKBOX) before
checking that arbitrary features are disabled. This prevents
environment-dependent state from causing test failures in CI.

* fix(test): use runtime guard instead of disabling ETH_LOCKBOX

Improves the fix for testFuzz_isFeatureEnabled_unsetFeature_succeeds by:
- Removing ETH_LOCKBOX disabling code (causes revert in upgrade envs)
- Adding runtime guard to skip features that are currently enabled
- Only normalizing CUSTOM_GAS_TOKEN to fix the original flake

This approach avoids SystemConfig_InvalidFeatureState reverts when
ETH_LOCKBOX is enabled with a configured lockbox address in mainnet
upgrade test environments.

* fix(test): remove early exit from isFeatureEnabled fuzz test

Per maintainer feedback, removes the early exit that was skipping some
fuzz cases. The test now always runs the assertion for all fuzz inputs.

The CUSTOM_GAS_TOKEN normalization is kept to fix the original flake
in the CUSTOM_GAS_TOKEN CI environment.

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…eum-optimism#18488)

* feat(op-deployer): use op-deployer build for publish-artifacts

* fix(op-deployer): restore bucket name

* fix(op-deployer): add COMMIT file

* fix(op-deployer): verify cli test
…esis (ethereum-optimism#18490)

* fix: remove todo and update fees depositor address on mainnet (#704)

* chore: set genesis min withdrawal threshold from ten to two eth (#723)

* fix: remove unused errors (#726)
* test: add tests for OPCMv2.deploy

* test: add OPCMV2+interop portal CI run

* fix: slight test tweak

* fix: no vcs stamping

* fix: bug in pulling artifacts
…g to legacy (ethereum-optimism#18453)

Introduce a new rollup-boost healthcheck that parses JSON responses from
the /healthz endpoint. The existing HTTP status code-based healthcheck
is renamed to "legacy" and remains available for backward compatibility.

The two healthcheck modes are mutually exclusive.
geoknee and others added 10 commits December 8, 2025 10:09
* jovian: remove feature toggles

scope is now fixed

* Updated op-geth to v1.101604.0-synctest.0.0.20251120150812-e50f80a16afc

* lint

* just update-op-geth f48f382

* Use Jovian in test error message

* just update-op-geth ba6bdcfef42341fe2b5ce124c31ff2d6b264e9e4
…mism#18462)

* feat: have OPCM upgrade allowances be upgrade specific

Updates the OPCMv2 check for allowed extra instructions to be
specific to releases. When release versions are bumped, the
allowances become automatically invalid and would reveal
anywhere in the codebase where the allowance is being used.

* fix: semver lock

* fix: emit instruction key in error

* fix: better semantics

* docs: proper OPCM versioning policy

* fix: final version tweaks
…ism#18547)

* feat: have SystemConfig store a ref to last used OPCM

* fix: system config test flake
* fix: fuzz failure in system config test

* fix: proper skip
…optimism#17924)

* op-batcher: thread CLI lifecycle context cancel function to driver

and wire up to fatal error condition for throttling loop

* simplify wiring and abstract shutdownOnCriticalError method

* introduce isCriticalThrottlingRPCError(err) helper

* simplify impl

* lint

* pass handler for closeApp in test environments

* add TestBatchSubmitter_CriticalError

* slight improvement to test

* extend TestBatchSubmitter_ThrottlingEndpoint to cover MethodNotFound case

* Embed closeApp in DriverSetup and BatcherService

Store closeApp in BatcherService and propagate it through DriverSetup so
the driver can access it without a separate parameter. Update
BatcherServiceFromCLIConfig/initFromCLIConfig signatures (closeApp moved
earlier), remove closeApp arg from NewBatchSubmitter, and guard
shutdownOnCriticalError against nil. Update call sites accordingly.

* Propagate cancel cause to BatcherService

Use context.WithCancelCause and pass its cancel function when creating
the batcher so the service can be stopped with a cancel cause. Also
expose closeApp in DriverSetup and simplify a test by importing slices
and replacing manual loops with slices.Contains. Propagate cancel cause
to BatcherService

* Use context.WithCancelCause for batcher

* Update op-batcher/batcher/driver.go

Co-authored-by: almanax-ai[bot] <174396398+almanax-ai[bot]@users.noreply.github.com>

* Use cancelable context and failure hook for batcher

Replace context.WithCancelCause with context.WithCancel and add a
closeAppFn that calls p.FailNow with the cause and cancels the batcher
context. Pass closeAppFn into BatcherServiceFromCLIConfig and import fmt
so tests fail immediately on critical batcher errors. Use cancelable
context and failure hook for batcher

Log the failure cause and cancel the batcher context on critical errors

* Use cancellable context for batcher

* Log shutdown error and warn if closeApp missing

---------

Co-authored-by: almanax-ai[bot] <174396398+almanax-ai[bot]@users.noreply.github.com>
@0xDiscotech 0xDiscotech self-assigned this Dec 9, 2025
@0xDiscotech 0xDiscotech merged commit 4b1592c into feat/add-rev-sharing-report Dec 9, 2025
1 check passed
@0xDiscotech 0xDiscotech deleted the chore/sync-audit branch December 9, 2025 18:35
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.