-
Notifications
You must be signed in to change notification settings - Fork 6
Making Maru work without an L2 EL node #451
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
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #451 +/- ##
============================================
+ Coverage 83.20% 83.39% +0.18%
- Complexity 978 1010 +32
============================================
Files 212 213 +1
Lines 7223 7328 +105
Branches 513 548 +35
============================================
+ Hits 6010 6111 +101
+ Misses 926 916 -10
- Partials 287 301 +14
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
|
@Filter94 please chek the regression tests |
|
@fluentcrafter The PR is not ready to merge yet |
| return ForksSchedule(chainId = 1337u, forks = listOf(pre, future)) | ||
| } | ||
|
|
||
| private fun forksScheduleWithoutFutureDifficultyAware(nowTs: ULong): ForksSchedule { |
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.
These 2 functions have a significant code duplication, can we improve that?
| ChainFork(ClFork.QBFT_PHASE0, ElFork.Prague), | ||
| ), | ||
| ) | ||
| val current = |
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.
Aslo it looks like we can avoid some suplication here...
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.
I made some improvements, please check
Fixes #442
Note
Allows Maru to operate without a local EL by making EL config optional, introducing
fork-transition.l2-eth-api-endpoint, and updating factories/sync to work when EL is absent, with new tests and Helm/docker configs.validatorElNodeoptional; addfork-transitionwithl2-eth-api-endpointandprotocol-transition-polling-interval.l1EthApiEndpointand add requiredl2EthApiEndpoint; DTO/back-compat and validations updated.apiPort(); close clients conditionally.NoOpLongRunningService.checkL2EthApiEndpointAndForksand wireforkTransitioninterval.DifficultyAwareQbftFactorytakes optional Web3j; require presence on create;ProtocolStarterusesonBeaconSyncComplete.SyncController.createrefactored to acceptelSyncServiceFactoryinstead of concrete handlers.QbftFollowerFactoryimports payload to EL only if client exists and validates conditionally.MaruFollowerNoElTestverifies block import without EL.[fork-transition]; removeeth-api-endpointfrom[payload-validator].docker/maru/config.dev.tomlaccordingly.app/build.gradle; fixp2ptestFixtures; bumpazure/setup-helmtov4.3.1.Written by Cursor Bugbot for commit edae720. This will update automatically on new commits. Configure here.