Skip to content

fix: sync develop#234

Merged
agusduha merged 50 commits intosc-feat/descope-liquidity-migrationfrom
fix/descope-sync-develop
Jan 30, 2025
Merged

fix: sync develop#234
agusduha merged 50 commits intosc-feat/descope-liquidity-migrationfrom
fix/descope-sync-develop

Conversation

@agusduha
Copy link
Copy Markdown
Member

No description provided.

maurelian and others added 30 commits January 23, 2025 14:32
 (ethereum-optimism#13803)

* feat: upgrade ASR to new proxy and impl

* feat: semgrep fix for _ prefixed args

* feat: simplify vm.expectCommit call

* save newly deployed contracts in ForkLive

* self review changes

* feat: re-skip tests (unskip moved to later PR)

* feat: Check ImplemenationSet events

* feat: Add dispute game version assertions to check the upgrade

* fix unused imports

* review suggestions

* feat: Avoid some casting

* update snapshots

* refactor dispute game changes into deployAndSetNewGameImpl

* lint

* feat: Deploy using DeployUtils vm.getCode() instead of new

* feat: remove concrete contract imports

* semver lock

* feat: fix non-upgrader test

* lint
* op-deployer: Update dispute game absolute prestate

* publish using self hosted runner

* update ci builder

* revert config version

* Revert "op-deployer: Update dispute game absolute prestate"

This reverts commit 97cdbea.

* BUMP IT
…m-optimism#13850)

* op-program: Move towards using eth.ChainID instead of uint64

* op-program: Move oracle API over to ChainID

* Review feedback
Co-authored-by: Matthew Slipper <me@matthewslipper.com>
* always show L1BlockRef when GetBlobs failed

* address comment
* interop: local-safe invalidation handling v3

* op-node,op-supervisor: build local-safe invalidation replacement block

* op-service,op-e2e,op-supervisor: fix lint

* op-supervisor: add new cross-safe-update unit tests

* op-supervisor: fromda IsDerived test checks

* op-node: test InvalidatedBlockSource

* op-node: fix and test replace-block attributes

* op-node,op-supervisor: fixes to make invalidate-local-safe block-replacement work, and add action-test for block replacement

* op-e2e: fix interop tests

* Update op-supervisor/supervisor/backend/syncnode/node.go

Co-authored-by: Axel Kingsley <axel.kingsley@gmail.com>

---------

Co-authored-by: Axel Kingsley <axel.kingsley@gmail.com>
…imism#13821)

* interop: Add Rewind Action Test

* Fix Reset on Managed Node

* PR comments
* fix: account proof storage key with leading 0s

* Add test for leading 0s

* Remove extra whitespace

* Fix one more usage of key

* Use new storage key type instead of hexutil

* remove debugging statement

* use TextMarshaler instead of json.Marshaler
…13924)

Improves error reporting for the interface check by having it
detail exactly what you need to do.
* cannon: Fix opcode sanitizer for mips64r2

* add missing opcodes

* extend
* feat: Add upgrade of superchain singletons

* feat: assert on sc upgrade

* feat: update snapshots

* feat: dedupe .anchorStateRegistry() calls

save 170 bytes

* Fix IOpcm Implementations struct

* fix: view visibility on getAnchorStateRegistry()

* fix: use internal visibility on library func for DeploySuperchainImplementations

* fix: use correct SuperchainConfigProxy name for address retrieval

* fix: use correct SuperchainConfigProxy name for address retrieval

* snapshots

* fix: remove superchain contracts from DII

* feat: use 1967Helper to get sc impls

* fix: sc and pv names

* fix: sc contracts on dio

* feat: undeduplicate deploySuperchainImplementations

* feat: fix DeployOPCM tests

* wip

* fix: IOPCM iface

* feat: Add only owner revert tests

* lint

* bump semver

* ci fixes

* fix: OPCMInterop semver

* feat: Add SCC and PV to go structs in opd

* fix: Add SC and PV impls to interopgen

* go lint
* perf: save 1472 bytes, dedupe external calls

* bumper semver

semver-lock

---------

Co-authored-by: Matt Solomon <matt@mattsolomon.dev>
* mtcannon upgrade notes

* mtcannon upgrade strawman impl

* rename mips to mips64

* feat: rename _currentGame to _disputeGame

* feat: Move has input into the OpChain struct, and take one per game

* bump semvers

* feat: rename OpChains to OpChainConfigs and mips to mips64

* feat: Add PrestateNotSet error and tests

* test fixes

* fix snapshots and interfaces

* fix empty prestate tests

* semver

* update arg name to _opChainConfig

* Deploy Mips64 in test

* Address feedback in OPCM.t.sol

* refactor: only take one absolute prestate per chain

* feat: Move superchainProxy admin from opcm upgrade() to constructor()

* Make use of named variable in deploy.s.sol

* feat: Add state var checks to ChainAssertsion.checkOPCM

* wip: adding SuperchainProxyAdmin to op-deployer

* fix: Correct check of scc and pv impls in chainAssertions.opcm

* lint and fix unused import

---------

Co-authored-by: Matt Solomon <matt@mattsolomon.dev>
Follow-up to previous PR based on comments from maurelian.
* Add l2 withdrawals root to exec payload, ssz & gossip

* add withdrawalsRoot to ExecutionPayload.
* add a `BlocksV4` topic to p2p gossip and check for non-empty
  withdrawalsRoot on v4 topic.
* add checks for whether block is type v4 and apply relevant
  marshal/unmarshal for l2 withdrawals root.

* Config: Add Isthmus fork config

* Update logic for l2 withdrawals root

* attributes check
* outputV0AtBlock api update
* minor type updates

* Test for attributes check

and fixes for a few failures

* p2p: publish blocks to v4 topic if on isthmus

and fix lint errors

* op-service: add a rpc response validation interface

* `RPCResponseCheck` is an interface that currently has a function
that validates withdrawals.
* There's an implementation of this interface for L1 and L2
* L1's response checker validates that the withdrawals list matches
  the root in the header.
* L2's response checker validates that the withdrawals list is empty
  when the withdrawalsRoot is not nil

* SSZ test, Isthmus activation at genesis action test

* Action test before hard fork

* Temp commit for action test

* Action test for genesis isthmus activation and activation after genesis

* test all combinations - with/without withdrawal transaction before, at and after isthmus

* remove action test to move to a separate branch

raise a separate PR for it.

* Rollup-config: Add IsthmusTime

Also fix a test in rollup, with the correct expectation for sepolia
holocene time

* Fix missing WithdrawalsRoot param in ExecutableData

* simplify withdrawals checker

also include a missing error when p2p validation fails

* fix executionPayload initialization

- do not set withdrawalsRoot if pre-isthmus
- op-e2e: create a allocs file for isthmus

* Narrow the check for Isthmus blocks

* SSZ inferVersion is updated to infer V4 only when withdrawalsRoot is non-nil
  and it is not equal to the EmptyWithdrawalsHash
* Payload/Attribute validation is similarly updated to allow pre-isthmus
  blocks to contain either a nil WithdrawalsRoot or EmptyWithdrawalsHash value

* remove commented out code

* build: fix issues

* build: fix

* test: begin cleanup

* all: remove rpc checker interface

The block abstraction is used between both L1 and L2 but the
implementation for checking blocks differs depending if its
an L1 block or an L2 block. The prev implementation introduced
a big diff by passing in an abstraction that could handle the different
checking. No need to do that, can simply observe the block itself
to know. The first tx of an L2 block is a deposit, a deposit will never
exist in L1. Use that to know if we should do the L2 check.
This is similar to how geth knows hardforks based on the presence of
fields in the block header.

* SSZ test, Isthmus activation at genesis action test

* Action test for genesis isthmus activation and activation after genesis

* test all combinations - with/without withdrawal transaction before, at and after isthmus

* Action tests for Isthmus withdrawal root addition

* test when isthmus is active at genesis
* test fields before canyon activation and before isthmus activation (after canyon)
* withdrawal root at isthmus with/without a l2 withdrawal transaction
* withdrawal root after isthmus with/without a l2 withdrawal transaction
* copy pre-allocs for isthmus from holocene

* types: remove dead code

* op-e2e: delete dead code

* Revert "op-e2e: delete dead code"

This reverts commit 90d81ef.

* Isthmus activation updates

* p2p: fixes

* ssz: fix serialization

* op-node: delete dead comment

* tests: fix

* test: fixup

* tests: fixup

* p2p: test coverage

* nit: easier maintenance

Co-authored-by: Inphi <mlaw2501@gmail.com>

* types: remove redundent assignement

* logic: apply demorgans law

* refactor: cleanup

* build: fix

* cleanup: remove duplicate code

---------

Co-authored-by: Vinod Damle <vinod@oplabs.co>
Co-authored-by: Vinod Damle <5338861+vdamle@users.noreply.github.com>
Co-authored-by: Michael de Hoog <michael.dehoog@coinbase.com>
Co-authored-by: Inphi <mlaw2501@gmail.com>
…timism#14004)

Bumps [github.com/bmatcuk/doublestar/v4](https://github.com/bmatcuk/doublestar) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/bmatcuk/doublestar/releases)
- [Commits](bmatcuk/doublestar@v4.8.0...v4.8.1)

---
updated-dependencies:
- dependency-name: github.com/bmatcuk/doublestar/v4
  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>
…reum-optimism#13826)

* op-program: Replace invalid msg blocks with deposits-only block

* wip

* setup some testing scenes

* rename mut fns

* add missing file

* misunderstood spec; append deposited tx

* use eth.ChainID

* construct the optimistic output preimage in the client

* add issue ref in todo

* ref todo
…timism#13959)

* ci: Require hold step before publishing cannon prestates for op-program releases.

Still builds the prestate immediately since that's entirely local, but no external effects until the hold has been approved.

* ci: Use tag name when uploading prestates from op-program releases.

* ci: Publish op-program release prestates under the correct hash.

* Disable publishing for test branch.

* ci: Use reproducible prestates for cannon tests and publishing
ci: Publish cannon mt64 prestates too

* ci: Build reproducible prestates on circle ci runner so docker is available

* Skip running cannon tests to speed up testing

* Remove testing code

* ci: Use Ci builder for sanitizing op-program client
* ci: Reduce develop FP parallelism

* fix name
…sm#14000)

* feat: remove beta tags

* feat: add semver version to PDG game

* fix: virtual keyword on fdg

* feat: ensure at least a minor bump for all conracts from last release

* semver-lock

* fix checks affected by dispute game version changes

* test version functions on DGs

* lint
…14021)

* fix: test

* fix: nit checking to see if adding a new env causes the issue.

* fix: unused var

* fix: adding branhing logic

* fix: copying other pr

* fix: clarifications around comments.
geoknee and others added 20 commits January 28, 2025 18:48
* add RequestsHash to op-service RPCHeader type

* sources.RPCHeader.RequestsHash needs "requestsHash" json struct tag

not "requestsHash" as in geth

* remove comment

This was fixed upstream ethereum/go-ethereum#30926

* add comment

* Update op-service/sources/types.go

Co-authored-by: protolambda <proto@protolambda.com>

---------

Co-authored-by: protolambda <proto@protolambda.com>
* add coverage upgrade test just commands

* add it to ci

* fix

* fix

* fix

* fix

* fixes

* fixes

* fixes
* Change step name

* Move to circle ci

* Fix config.yml
…imism#14027)

* op-program: Fix missing block re-exec preimages in host

* check put key length
* try

* try again

* try again

* try again

* use semver lock to check

* use semver lock to check

* fixes

* fixes

* should break

* fix

* fix

* should break 2

* should break 2

* should break 2

* should break 2

* temp rm require config for faster checks

* temp rm require config for faster checks

* temp rm require config for faster checks

* rm debug lines

* should break 3

* fix

* fix

* fix

* Update packages/contracts-bedrock/scripts/checks/check-frozen-files.sh

Co-authored-by: Maurelian <john@oplabs.co>

---------

Co-authored-by: Maurelian <john@oplabs.co>
* docs: Add frozen code checks docs to readme.

* feat: Add lift date to script output
* Fix damgr_test.go

* Enable AltDA unit tests in ci

* typo
The readme linked to the kurtosis install guide but for mac users it
only lists brew as an installation option, for non brew users a link to
the compiled binaries is useful.
…sm#13861)

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

---
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>
* ci: Raise parallelism of cannon-e2e tests

* ci: Build op-program-host and cannon before running go tests.

* op-geth: Update op-geth to avoid loading and parsing all genesis files.

Specifically includes ethereum-optimism/op-geth#482

* Consistently build 64-bit multithreaded prestates with -mt64 suffix.

Previously the native build used -mt and the reproducible build used -mt64.
Stop building the 32-bit multithreaded prestate in reproducible builds.

---------

Co-authored-by: Matthew Slipper <me@matthewslipper.com>
…14019)

* proofs: Add action test for unhappy consolidation

The test covers the unhappy path in the consolidation step of the fault
proof where an invalid message triggers a block replacement

* remove redundant test

* assert heads
@agusduha agusduha requested a review from gotzenx January 30, 2025 13:13
@agusduha agusduha self-assigned this Jan 30, 2025
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jan 30, 2025

Important

Review skipped

Auto reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@agusduha agusduha merged commit afcbb84 into sc-feat/descope-liquidity-migration Jan 30, 2025
@agusduha agusduha deleted the fix/descope-sync-develop branch January 30, 2025 14:55
0xiamflux pushed a commit that referenced this pull request Jan 27, 2026
### Description

Breaks out the small batch decoding fix from #234.
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.