-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
op-chain-ops,op-node: interop feature-set deploy/rollup/chain-config #8256
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## develop #8256 +/- ##
===========================================
+ Coverage 40.04% 40.09% +0.04%
===========================================
Files 164 164
Lines 6175 6175
Branches 1002 1002
===========================================
+ Hits 2473 2476 +3
+ Misses 3628 3623 -5
- Partials 74 76 +2
Flags with carried forward coverage won't be shown. Click here to find out more. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry about the go.mod conflicts with the geth update. In hindsight I could have pulled these in with the 1.13.5 changes.
454281b
to
0c89106
Compare
WalkthroughThe codebase has introduced a new feature-set activation mechanism, akin to a hard fork, named Changes
TipsChat with CodeRabbit Bot (
|
Rebased on develop, resolved the conflicts in the configs, the delta-hardfork definition PR touched the exact same code-paths |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files selected for processing (5)
- op-chain-ops/genesis/config.go (3 hunks)
- op-chain-ops/genesis/genesis.go (1 hunks)
- op-e2e/e2eutils/setup.go (1 hunks)
- op-e2e/setup.go (1 hunks)
- op-node/rollup/types.go (4 hunks)
Additional comments: 11
op-chain-ops/genesis/config.go (3)
115-120: The addition of the
L2GenesisInteropTimeOffset
field with the corresponding JSON tag is correctly implemented.480-488: The
InteropTime
method is correctly implemented to calculate the Interop hard fork time based on theL2GenesisInteropTimeOffset
field.527-531: The
RollupConfig
method has been correctly updated to include theInteropTime
in the returnedrollup.Config
.op-chain-ops/genesis/genesis.go (1)
- 65-71: The summary states that the
NewL2Genesis
function signature has been changed to includeInteropTime
, but the hunk does not reflect this change. The function signature should be updated to acceptInteropTime
as a parameter.op-e2e/e2eutils/setup.go (2)
159-162: The addition of the
InteropTime
field to therollupCfg
struct aligns with the summary and pull request description, ensuring that the end-to-end tests account for the new interop feature-set.162-162: Verify that the
InteropTime
method is correctly calculating the Interop hard fork time based on theL2GenesisInteropTimeOffset
and that theL1GenesisBlockTimestamp
is the intended reference timestamp for this calculation.op-e2e/setup.go (1)
- 434-437: The summary states that the
InteropTime
field was added to theSystemConfig
struct, but the hunk shows it being added to therollup.Config
within themakeRollupConfig
function. Please verify if the summary should be updated to reflect this, or if the code should be modified to match the summary.op-node/rollup/types.go (4)
86-88: The addition of the
InteropTime
field to theConfig
struct aligns with the summary and pull request description. This field is used to determine the activation time of the experimental feature-set, similar to a hardfork.288-291: The
IsInterop
method correctly checks if the Interop hardfork is active based on the given timestamp. This method is consistent with the other hardfork activation methods in theConfig
struct.319-322: The
Description
method has been updated to include the Interop time in the banner, which is consistent with the summary and pull request description.347-350: The
LogDescription
method has been updated to log the Interop time, ensuring that logs reflect the new configuration as described in the summary and pull request description.
…op_time rollup config
0c89106
to
dee66db
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files ignored due to filter (2)
- go.mod
- go.sum
Files selected for processing (5)
- op-chain-ops/genesis/config.go (3 hunks)
- op-chain-ops/genesis/genesis.go (1 hunks)
- op-e2e/e2eutils/setup.go (1 hunks)
- op-e2e/setup.go (1 hunks)
- op-node/rollup/types.go (4 hunks)
Files skipped from review due to trivial changes (1)
- op-chain-ops/genesis/genesis.go
Additional comments: 9
op-chain-ops/genesis/config.go (3)
115-120: The addition of
L2GenesisInteropTimeOffset
to theDeployConfig
struct is consistent with the summary and allows for configuration of the Interop hard fork activation time.480-488: The
InteropTime
method correctly calculates the Interop activation time based on the genesis time and theL2GenesisInteropTimeOffset
. This method will be used to determine the activation time for the Interop hard fork.527-531: The
RollupConfig
method has been successfully updated to include theInteropTime
in therollup.Config
it returns. This ensures that the Interop activation time is correctly propagated through the system.op-e2e/e2eutils/setup.go (1)
- 159-162: The addition of the
InteropTime
field to therollupCfg
struct and its initialization usingdeployConf.InteropTime
method is correct and aligns with the summary provided. Ensure that theInteropTime
field is being used correctly whereverrollupCfg
is utilized in the codebase.op-e2e/setup.go (1)
- 434-437: The summary states that
InteropTime
was added to theSystemConfig
struct, but the hunk shows it being added to therollup.Config
struct. Please verify the accuracy of the summary or update the code to reflect the summary accurately.op-node/rollup/types.go (4)
83-92: The addition of the
InteropTime
field to theConfig
struct is consistent with the summary and follows the pattern of other similar fields for network upgrades.285-291: The
IsInterop
method is correctly implemented and follows the established pattern for checking the activation of network upgrades based on timestamps.319-325: The
Description
method has been correctly updated to include theInteropTime
in the banner, enhancing the visibility of the Interop activation status.347-352: The
LogDescription
method has been correctly updated to include theInteropTime
in the log output, which is consistent with the summary and improves observability.
Description
interopTime
l2GenesisInteropTimeOffset
to deploy-configinterop_time
to rollup-configMetadata
Fix https://github.com/ethereum-optimism/interop/issues/24
Summary by CodeRabbit
New Features
InteropTime
).Enhancements
InteropTime
field for better control over feature activation.InteropTime
for increased transparency and easier debugging.Documentation
InteropTime
field and its impact on the system's operation in relevant sections.