-
-
Notifications
You must be signed in to change notification settings - Fork 411
feat: fulu types #7774
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
feat: fulu types #7774
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## unstable #7774 +/- ##
============================================
+ Coverage 56.05% 56.08% +0.03%
============================================
Files 837 823 -14
Lines 57906 57961 +55
Branches 4450 4452 +2
============================================
+ Hits 32459 32508 +49
- Misses 25379 25385 +6
Partials 68 68 🚀 New features to boost your workflow:
|
Performance Report✔️ no performance regression detected Full benchmark results
|
| [ForkName.fulu]: {...phase0Ssz, ...altairSsz, ...bellatrixSsz, ...capellaSsz, ...denebSsz, ...electraSsz, ...fuluSsz}, | ||
| }; | ||
|
|
||
| // Export these types to ensure that each fork is a superset of the previous one (with overridden types obviously) |
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.
👍
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.
🚀
matthewkeil
left a comment
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.
A couple small nits but otherwise LGTM!!
| [ForkName.fulu]: {...phase0Ssz, ...altairSsz, ...bellatrixSsz, ...capellaSsz, ...denebSsz, ...electraSsz, ...fuluSsz}, | ||
| }; | ||
|
|
||
| // Export these types to ensure that each fork is a superset of the previous one (with overridden types obviously) |
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.
🚀
Co-authored-by: Nico Flaig <[email protected]> Co-authored-by: Matthew Keil <[email protected]>
nflaig
left a comment
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.
LGTM
packages/params/src/forkName.ts
Outdated
| export type ForkPreBlobs = ForkPreDeneb; | ||
| export type ForkPostBlobs = ForkPostFulu; | ||
| export type ForkBlobs = ForkName.deneb | ForkName.electra; | ||
| export const forkBlobs = [ForkName.deneb, ForkName.electra]; | ||
| export function isForkBlobs(fork: ForkName): fork is ForkBlobs { | ||
| return fork === ForkName.deneb || fork === ForkName.electra; | ||
| } | ||
|
|
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.
This is something I feel very strongly about. They should be added back
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.
if you can properly articulate why this is needed I am fine with it but so far the arguments weren't even technically correct, especially adding those in this PR doesn't make any sense + they are technically also a breaking change, we had isForkBlobs already for 2 years, now we are rebranding it to something else
blobs vs. columns makes sense if you only look at sync + gossip but it doesn't if you look more holistically at the system as a whole, the EL still uses blobs, we even have an api that returns blobs, engine api returns blobs etc. etc. so claiming we remove blobs in Fulu also is not correct
the main argument was that we have to use 1 more function call
isForkPostDeneb && isForkPreFulu which stinks
why is this such a big deal? this is very explicit, or could even do fork >= ForkSeq.deneb && fork < ForkSeq.fulu maybe even better
when I first looked at the PR I didn't even get what isForkBlobs and was confused why we added it here, then I saw it just covered deneb and electra
there just so much wrong with this, I guess we have a stalemate here 😁
matthewkeil
left a comment
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.
LGTM!! Can add back forkBlobs if we find it important later
**Motivation** - continuation of #7734 and #7745 - dependent on #7774 **Description** - Add new `BlockInput` classes to eventually replace our block input functions - These classes track data availability per block root, with preDA, blobs, and columns DA implemented --------- Co-authored-by: matthewkeil <[email protected]>
|
🎉 This PR is included in v1.30.0 🎉 |
Motivation
Description
peerDASbranch