Repository navigation
feat: support EIP-8261 gas limit schedule - #9808
Conversation
Performance Report✔️ no performance regression detected Full benchmark results
|
|
ethereum/EIPs#12142 to align the EIP with our implementation |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 372bef369b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
merged into |
spiral-ladder
left a comment
There was a problem hiding this comment.
do we need to update keyManager's getGasLimit as well?
| continue; | ||
| } | ||
|
|
||
| if (key === "BLOB_SCHEDULE") { |
There was a problem hiding this comment.
we validate BLOB_SCHEDULE, should we validate GAS_LIMIT_SCHEDULE?
There was a problem hiding this comment.
for the blob schedule we wanna make sure that beacon node <> validator client have same config, however the gas limit schedule is only relevant for the validator client as the beacon node doesn't do anything with this config other than return it via config/spec endpoint, that's why I set GAS_LIMIT_SCHEDULE: false further below
we could still do it if we really wanted to but I am thinking this could cause more headaches than provide actual value if clients have config mismatches for some reason
doesn't |
we don't pass |
ah this is a good catch, we should probably just default to current slot if queried via keymanager api |
| private readonly config: BeaconConfig; | ||
| private readonly api: ApiClient; | ||
| private readonly clock: IClock; | ||
| readonly clock: IClock; |
There was a problem hiding this comment.
not so happy about that but was cleanest way to access current slot in keymanager api
|
keeping this open, there will be a decision on ACDE today whether or not clients should adopt this |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## unstable #9808 +/- ##
============================================
+ Coverage 52.46% 52.59% +0.13%
============================================
Files 848 848
Lines 62953 59989 -2964
Branches 4658 4416 -242
============================================
- Hits 33030 31554 -1476
+ Misses 29855 28376 -1479
+ Partials 68 59 -9 🚀 New features to boost your workflow:
|
| throw Error(`Invalid GAS_LIMIT_SCHEDULE value ${input} expected array`); | ||
| } | ||
|
|
||
| const gasLimitSchedule = input.map((entry, i) => { |
There was a problem hiding this comment.
maybe we can check here if any epoch is < GLOAS_FORK_EPOCH but I don't think that's possible
There was a problem hiding this comment.
this was kinda simple so I added that sanity check here e65c5fa
matthewkeil
left a comment
There was a problem hiding this comment.
LGTM!! 🎸
Sent some feedback via DM and all were resolved
|
🎉 This PR is included in v1.47.0 🎉 |
Implements EIP-8261 as an advisory epoch-based gas limit schedule
GAS_LIMIT_SCHEDULEconfig parsing, serialization, validation and epoch lookupSee ethereum/consensus-specs#5533