This repository was archived by the owner on Dec 5, 2021. It is now read-only.
forked from ethereum-optimism/optimism
-
Notifications
You must be signed in to change notification settings - Fork 6
[pull] develop from ethereum-optimism:develop #573
Open
pull
wants to merge
10,000
commits into
omgnetwork:develop
Choose a base branch
from
ethereum-optimism:develop
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* feat: semgrep rule preventing initialize without owned check Introduces a new semgrep rule that prevents initialize functions on the L1 side that aren't tagged with the assertOnlyProxyAdminOrProxyAdminOwner assertion. * fix: remove test because semgrep is bad * fix: more semgrep issues
* feat: have graphite review storage layout Updates the graphite rules so that the robot will review any changes to the storage layout and try to warn developers for unsafe changes. * fix: handle contract deletions or movements
Adds a few expanded comments on aspects about the migration function.
Adds a test to confirm that OPCMv2 is able to execute upgrades even while paused.
…9021) * fix: add code lenght check for ReadSuperchainDeployment and tests * test: fix populate superchain v2 error string
* fix: generic revert error in UpgradeOPChain script * fix: generic revert error in UpgradeSuperchainConfig script
* Supernode: Interop Acceptance Testing * merge devstack setups * cleanup * Rework Tests * use system provided supernode client ; lint * Update test name * lint ; address ai comment * fix test requires * use superRoot for more tests ; assert pre/post activation more directly
* feat: Game Args struct instead of raw bytes (#813) * feat: allows a more structured json for gameArgs in upgrade config instead of requiring raw bytes * chore: reorganize structs declarations, move structs out of the EncodedUpgradeInputV2 func * chore: add edge case check for encoded config length * test: add expected encoding values * chore: remove comment * test: update tests * fix: tests (#823) * fix: add revert case for invalid game type (#825) * fix: add revert case for invalid game type * refactor: better error msg --------- Co-authored-by: niha <205694301+0xniha@users.noreply.github.com>
Previously, the blob tip cap was only used during initial transaction creation (craftTx). This change ensures the blob tip cap is also used when bumping fees for blob transactions in increaseGasPrice. Also adds test coverage for blob tx fee bumping with a distinct blob tip cap vs regular tip cap.
* feat: no beta tags in prod * fix: better check for beta tags * fix: outdated test
chore(rust): update subtrees.
* Add workaround for old buildx version * Revert ws change from #18986 because supernode should support http now * Remove unused function
* Add Justfile recipe for generating batcher release notes * Add generate-batcher-release-notes command with tag adjustments * undo formatting changes * update
Refactor the BlobTipOracle (BTO) so the txmgr owns and manages it, instead of requiring external services (like batcher) to initialize and inject it via a custom GasPriceEstimatorFn. Key changes: - Add BTOBackend interface in bgpo package that ethclient implements - Refactor BlobTipOracle to use BTOBackend instead of low-level RPC - Add BTOConfig struct in txmgr for BTO configuration - SimpleTxManager now creates, starts, and closes BlobTipOracle - Batcher service simplified to just pass BTOConfig to txmgr - Update tests to use mock BTOBackend
* devstack: Integrate supernode features for proof tests This change integrates op-supernode into the devstack system for proof tests: - Add new dsl.Supernode DSL wrapper with SuperV1AtTimestamp method - Update SingleChainInterop to use *dsl.Supernode for SuperRoots field - Wire up supernode client in sysgo system for challenger and proposer - Update acceptance tests to use new supernode-backed super roots - Fix SuperRootResponseData.Super type handling in dispute game factory * review comments * don't build kona prestate * skip interop readiness test for the time being * fix skip
Move BlobTipOracle configuration from batcher to txmgr: - BTO config is now set up in txmgr.NewConfig() when BlobTipCapDynamic is enabled, rather than in batcher's initTxManager() - BTO CLI flags are now only exposed via CLIFlagsWithBTO(), which only the batcher uses - BTO validation moved from batcher to txmgr's CLIConfig.Check() - Added comprehensive tests for CLIConfig.Check() This follows the previous commit that moved BTO ownership to txmgr, completing the consolidation of BTO logic in the txmgr package.
…18780) * WIP * Return blobs directly from LoadBlobs Rename LoadBlobsBundle to LoadBlobs and return []*eth.Blob from the store. Remove conversion to engine.BlobsBundle/hexutil and simplify the Start handler to use blobs directly. Drop unused hexutil import and adjust related log messages. * Add GetBlobsByHash and use in FakeBeacon Introduce Store.GetBlobsByHash(time, hashes) returning map[common.Hash]*eth.Blob; if hashes is empty all blobs at the given timestamp are returned. Update the FakeBeacon HTTP handler to accept versioned_hashes query parameters, call the new LoadBlobsByHash, and return the filtered blobs. * Add blobs endpoint test for fake beacon * Consolidate blob endpoint tests into subtests * Remove pre-Fulu restriction on blobs endpoint this was causing some older tests to fail * Use BeaconBlobs API in eip4844 test Accept un-indexed versioned hashes (common.Hash) in the BeaconClient and convert IndexedBlobHash where needed. Make Store.GetBlobsByHash return a slice indexed by blob index to preserve request ordering. Update the eip4844 test and HTTP client to call BeaconBlobs and adapt blob access/assertions accordingly. * make generate-mocks-op-service * Remove unused eth import and helper function * Document blob ordering in GetBlobsByHash * Pass correct hash types in L1 beacon tests * Update l1_beacon_client_test.go * Fix test so commitments, proofs and blobs match * Remove pointer arg from NewBeacon call Update test to match the new NewBeacon signature (removed the final *uint64 parameter) and add the missing newline at end of file * Remove slices dependency and rework blob lookup Replace slices.Contains with manual matching and build the output array by blob index. Return all known blobs when the hashes slice is empty. Return an error if any requested hash is missing. * refactor: remove BlobSideCarsClient and update related interfaces and tests * remove unused code * refactor: update blobToCommitmentAndProof function to return BlobsBundle * refactor(tests): simplify response decoding and blob verification in TestBlobsEndpoints * test: reverse order of versioned_hashes in blobs endpoint query for stronger validation * refactor(tests): streamline TestGetBlobs by removing unnecessary cases and simplifying mock responses * refactor(tests): enhance TestBlobsEndpoints by adding additional blobs so a proper subset is requested fix underlying blobstore to sort in a safe way (removes possible panic condition) * Remove blobstore.GetBlobs([]IndexedBlobHash) Update preimage oracle blob hints to not use the blob index * Refactor Blob Fetching Interface to Simplify Blob Retrieval * Remove deprecated GetBlobs methods from blob fetcher and beacon client * Remove unused eth package and update blob retrieval method
* fix: remove description variable & target fields from bakefile * chore: drop unencountered advisory * chore: Address warnings and a security issue
* Add RewindEngine support to chain container Implements RewindEngine on simpleChainContainer: compute target safe and finalized blocks, pause the container, stop the virtual node, issue a ForkchoiceUpdate to rewind the engine, then resume the container. Expose FinalizedBlock and ForkchoiceUpdate on EngineController and l2Provider; add implementations and test mocks. Remove stray blank line in blobs_api.go * undo unintended change * Fix error formatting in RewindEngine Use %d to print the numeric timestamp and %+v to format PayloadStatus so error messages show the correct values. * Add logging to RewindEngine * temp: Add Rewind RPC activity for chains Expose RPC namespace "rewind" with ChainTo(chainID, timestamp) which invokes ChainContainer.RewindEngine to rewind a chain to a timestamp. Register the new activity in the supernode activities list. * Remove unused context fields from Rewind struct * Implement RewindToTimestamp and use in RewindEngine * Update NewPayload to take payload and parent root * Use EngineController to rewind L2 in acceptance test Add EngineController usage in advance_multiple_test to rewind an L2 chain to a timestamp. Also add Close() to EthClient, add logging in the engine controller, fix an incorrect block-number comparison in the error message, and add a mock NewPayload implementation for tests. * Make engine controller rollup-aware Add NewEngineControllerWithL2AndRollup and rollup-based helpers (blockNumberAtTimestamp, blockAtTimestamp) so RewindToTimestamp can compute the target block from the rollup config. Use the rollup target block for payload creation and forkchoice updates, tighten error messages, and set the synthetic payload FeeRecipient to MaxAddress. Update tests to wait for L2A progress and use the new constructor. * lint * Improve timestamp rewind logic with safe block handling This commit refactors the RewindToTimestamp method to: - Handle safe and finalized block targets more robustly - Use a two-step process for guaranteed block reorging - Add more detailed error handling and logging - Introduce helper methods to improve code clarity * Modify block rewind logic for accurate synthetic payload insertion * Add Supernode rewind action tests for various block head scenarios * Add tests for RewindEngine method in ChainContainer * Add nil check for l2 engine client in SafeBlockAtTimestamp * wip * wip * revert test changes * Remove unused stopChan and related code in mockVirtualNode * Remove Rewind activity from Supernode * tidy * Remove unused methods from simpleEngineController * Update RewindToTimestamp logic with detailed block reorganization * Add robust retry and error handling for engine rewind * Add labeled break to improve retry loop clarity * Improve error handling and retry logic in RewindEngine * Refactor critical error tests in chain container test Consolidate duplicate test cases for non-retryable critical errors into a single parameterized test. Improves test readability and reduces code duplication while maintaining the same test coverage for different critical error scenarios. * Add comprehensive unit tests for RewindToTimestamp * Remove Unused FinalizedBlockRef Method from mockL2 * Fix context timeout leak in chain container test * Update forkchoice heads during block rewind * Add nil checks for virtual node and engine in RewindEngine * Remove Unused SafeBlockAtTimestamp Method * move rewind code to separate files * Refactor and Clean Up mockEngineController * Add RewindEngine method to mockChainContainer * Remove mutex synchronization in mock engine controller * Add hash comparison in rewind state verification * Add error handling for timestamp to block conversion * Fix RewindEngine test to expect context deadline exceeded * Move rewind errors to rewind.go and add new payload not found error * Fix synthetic payload generation with deep clone * Refactor Engine Controller Rewind Test to Support Multiple Error Scenarios Tighten this up verymuch
* feat: add starting AGENTS.md file * feat: add rust dev section * fix: pr review comments
…d reconciliation (#18993) Add stateless validators for flashblock processing: - FlashblockSequenceValidator: validates consecutive indices within blocks - ReorgDetector: detects chain reorgs via transaction hash comparison - CanonicalBlockReconciler: determines strategy when canonical blocks arrive
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )