geth: update to v1.13.14
Updates the go.mod to use op-geth based on upstream version v1.13.14
This PR is made against v1.13.13 branch because there were are required changes to support the previous version which must be built on.
No additional changes required to support the new version beyond changes made in previous updates:
triepakcage updated totriedbpackagecoretypes deprecated fortypestypes
Walkthrough
Walkthrough
The modifications across various files primarily involve updating type references from core to types for Genesis-related structs, and shifting trie database functionality from trie to triedb. This reflects a broader refactoring to enhance modularity and adapt to updated dependencies in the Ethereum Go client.
Changes
| Files | Summary |
|---|---|
op-chain-ops/genesis/..., op-e2e/e2eutils/..., op-e2e/external.go, op-e2e/setup.go, op-program/client/l2/... |
Updated type references from core.GenesisAlloc and core.GenesisAccount to types.GenesisAlloc and types.Account. |
op-e2e/actions/l1_replica_test.go, op-e2e/actions/l2_engine_test.go, op-program/client/l2/db_test.go, op-program/client/l2/engine_backend_test.go, op-program/client/mpt/trie.go, packages/contracts-bedrock/scripts/go-ffi/differential-testing.go, packages/contracts-bedrock/scripts/go-ffi/trie.go |
Changed imports and usage from trie to triedb for trie database operations. Adjusted related configurations and method calls. |
op-e2e/external.go, op-proposer/proposer/abi_test.go |
Import paths updated to include types from github.com/ethereum/go-ethereum/core/types replacing core. |
Recent Review Details
Configuration used: .coderabbit.yml Review profile: CHILL
Commits
Files that changed from the base of the PR and between fff6563c55a2a3f7fd03e175f18d61caf2258817 and a541f025309ef823fc63cd63fbc1d1f906695edb.Files ignored due to path filters (4)
go.modis excluded by!**/*.modgo.sumis excluded by!**/*.sumop-ufm/go.modis excluded by!**/*.modop-ufm/go.sumis excluded by!**/*.sum
Files selected for processing (16)
- op-chain-ops/genesis/config.go (3 hunks)
- op-chain-ops/genesis/genesis.go (2 hunks)
- op-chain-ops/genesis/layer_two.go (1 hunks)
- op-chain-ops/state/memory_db.go (2 hunks)
- op-e2e/actions/l1_replica_test.go (2 hunks)
- op-e2e/actions/l2_engine_test.go (3 hunks)
- op-e2e/e2eutils/addresses.go (1 hunks)
- op-e2e/e2eutils/setup.go (4 hunks)
- op-e2e/external.go (2 hunks)
- op-e2e/setup.go (3 hunks)
- op-program/client/l2/db_test.go (4 hunks)
- op-program/client/l2/engine_backend_test.go (2 hunks)
- op-program/client/mpt/trie.go (2 hunks)
- op-proposer/proposer/abi_test.go (2 hunks)
- packages/contracts-bedrock/scripts/go-ffi/differential-testing.go (3 hunks)
- packages/contracts-bedrock/scripts/go-ffi/trie.go (2 hunks)
Files skipped from review due to trivial changes (2)
- op-program/client/l2/db_test.go
- packages/contracts-bedrock/scripts/go-ffi/differential-testing.go
Additional comments not posted (33)
op-e2e/e2eutils/addresses.go (2)
8-8: Updated import fromcore/typestotypesaligns with the namespace changes described in the PR. This is a necessary update following the deprecation ofcoretypes.
14-14: The functioncollectAllocAddrsnow correctly usestypes.GenesisAllocinstead ofcore.GenesisAlloc. This change is consistent with the PR's objective to transition fromcoretotypesnamespace.op-chain-ops/genesis/layer_two.go (1)
73-73: The functionHasAnyDevAccountsnow acceptstypes.GenesisAllocas its parameter, aligning with the namespace transition fromcoretotypes. This change is consistent with the PR's objectives and improves code consistency.op-e2e/external.go (2)
17-17: Updated import fromcore/typestotypesaligns with the namespace changes described in the PR. This is a necessary update following the deprecation ofcoretypes.
79-80: TheExternalRunnerstruct now initializesGenesiswithtypes.GenesisAlloc, which is consistent with the namespace transition fromcoretotypes. This change ensures that the struct is using the updated types as intended in the PR.op-proposer/proposer/abi_test.go (2)
15-15: Updated import fromcore/typestotypesaligns with the namespace changes described in the PR. This is a necessary update following the deprecation ofcoretypes.
31-31: The simulated backend now usestypes.GenesisAllocfor initializing, which is consistent with the namespace transition fromcoretotypes. This change ensures that the backend setup is using the updated types as intended in the PR.op-program/client/mpt/trie.go (2)
12-13: Updated imports fromtrietotriedbandtriedb/hashdbalign with the package changes described in the PR. This is a necessary update following the transition from thetriepackage to thetriedbpackage.
51-51: TheReadTriefunction now usestriedb.NewDatabasefor database initialization, which is consistent with the package transition fromtrietotriedb. This change ensures that the function is using the updated package as intended in the PR.op-e2e/actions/l1_replica_test.go (2)
13-14: Updated imports fromtrietotriedbandtriedb/hashdbalign with the package changes described in the PR. This is a necessary update following the transition from thetriepackage to thetriedbpackage.
63-63: TheTestL1Replica_ActL1Syncfunction now usestriedb.NewDatabasefor database initialization, which is consistent with the package transition fromtrietotriedb. This change ensures that the function is using the updated package as intended in the PR.op-chain-ops/genesis/genesis.go (2)
114-114: TheNewL2Genesisfunction now initializesAllocwith an empty map oftypes.Account, which is consistent with the namespace transition fromcoretotypes. This change ensures that the function is using the updated types as intended in the PR.
203-203: TheNewL1Genesisfunction now initializesAllocwith an empty map oftypes.Account, which is consistent with the namespace transition fromcoretotypes. This change ensures that the function is using the updated types as intended in the PR.packages/contracts-bedrock/scripts/go-ffi/trie.go (2)
16-16: Updated import fromtrietotriedbaligns with the package changes described in the PR. This is a necessary update following the transition from thetriepackage to thetriedbpackage.
137-137: ThegenTrieTestCasefunction now usestrie.NewEmptywithtriedb.NewDatabasefor trie initialization, which is consistent with the package transition fromtrietotriedb. This change ensures that the function is using the updated package as intended in the PR.op-e2e/e2eutils/setup.go (3)
90-91: Namespace update fromcoretotypesforGenesisAllocis correctly implemented.
115-115: Correct usage oftypes.Accountin the allocation map.
136-136: Proper implementation oftypes.Accountin L2 genesis allocation.op-chain-ops/state/memory_db.go (2)
50-52: UpdatedGetAccountmethod to returntypes.Accountinstead ofcore.GenesisAccount.
74-74: Correct implementation oftypes.Accountin the account creation method.op-e2e/actions/l2_engine_test.go (3)
17-18: Updated import paths fromtrietotriedbandhashdbcorrectly.
38-38: Correct instantiation oftriedb.Databasewith the new configuration.
101-101: Proper use oftriedb.NewDatabasein the block building test.op-program/client/l2/engine_backend_test.go (3)
22-23: Updated import paths fromtrietotriedbandhashdbcorrectly.
297-297: Correct allocation oftypes.Accountin the genesis block setup.
304-304: Proper instantiation oftriedb.Databasewith the new configuration in the test setup.op-e2e/setup.go (3)
34-34: The import statement for thetypespackage fromgithub.com/ethereum/go-ethereum/core/typesis correctly added to replace the deprecatedcoretypes. This aligns with the PR's objectives to transition fromcoretotypes.
468-475: The replacement ofcore.GenesisAccountwithtypes.Accountin the L1 genesis allocation is correctly implemented. This change is part of the namespace transition and is consistent with the PR's objectives.
497-504: Similarly, the replacement ofcore.GenesisAccountwithtypes.Accountin the L2 genesis allocation is correctly implemented. This ensures consistency in the use of thetypesnamespace across both L1 and L2 configurations.op-chain-ops/genesis/config.go (4)
820-820: Update totypes.GenesisAllocaligns with the latest Ethereum standards.
824-824: The use ofmaps.Copyis efficient for copying map data, ensuring that theCopymethod functions correctly with the newtypes.GenesisAlloc.
844-844: Initialization oftypes.GenesisAllocis correct and matches the new namespace usage.
847-847: Conversion offorgeAllocAccounttotypes.Accountis handled correctly, ensuring that all necessary fields are properly converted and assigned.
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?
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>.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
@coderabbitaiin 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
@coderabbitaiin 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 generate interesting stats about this repository and render them as a table.@coderabbitai show all the console.log statements in this repository.@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.
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 as PR comments)
@coderabbitai pauseto pause the reviews on a PR.@coderabbitai resumeto resume the paused reviews.@coderabbitai reviewto trigger a review. This is useful when automatic reviews are disabled for the repository.@coderabbitai resolveresolve all the CodeRabbit review comments.@coderabbitai helpto get help.
Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
CodeRabbit Configration File (.coderabbit.yaml)
- You can programmatically configure CodeRabbit by adding a
.coderabbit.yamlfile 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.
This PR is stale because it has been open 14 days with no activity. Remove stale label or comment or this will be closed in 5 days.
Geth dep is at v1.13.15 / v1.101315.1-rc.2 already, closing this.