-
Notifications
You must be signed in to change notification settings - Fork 21.1k
consensus/misc/eip4844: use blob parameters of current header #32424
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
This changes the implementation to resolve the blob parameters according to the current header timestamp. This matters for EIP-7918, where we would previously resolve the UpdateFraction according to the parent header fork, leading to a confusing situation at the fork transition block.
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
consensus/misc/eip4844/eip4844.go
Outdated
var ( | ||
baseCost = big.NewInt(params.BlobBaseCost) | ||
reservePrice = baseCost.Mul(baseCost, parent.BaseFee) | ||
blobPrice = bcfg.blobPrice(excessBlobGas) |
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.
blobPrice = bcfg.blobPrice(excessBlobGas) | |
blobPrice = bcfg.blobPrice(parentExcessBlobGas) |
I believe this was the issue Marius found and fixed here: https://github.com/fjl/go-ethereum/compare/eip4844-transition-updatefraction...MariusVanDerWijden:go-ethereum:eip4844-transition-updatefraction?expand=1
Wait I broke something with the submodule edit: okay fixed, I hate git |
2d526d2
to
af45e2e
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.
LGTM
* master: (57 commits) core/vm: fix EIP-7823 modexp input length check (ethereum#32363) rlp: remove workaround for Value.Bytes (ethereum#32433) consensus/misc/eip4844: use blob parameters of current header (ethereum#32424) crypto/bn256: refactor to use bitutil.TestBytes (ethereum#32435) core/vm: refactor to use bitutil.TestBytes (ethereum#32434) cmd/evm: use PathScheme in blockrunner (ethereum#32444) trie, core/state: add the transition tree (verkle transition part 2) (ethereum#32366) build: remove unused functions (ethereum#32393) crypto/secp256k1: use ReadBits from common/math (ethereum#32430) build: upgrade -dlgo version to Go 1.25.0 (ethereum#32412) .github: upgrade workflows to Go 1.25 (ethereum#32425) p2p: refactor to use time.Now().UnixMilli() in golang std lib (ethereum#32402) eth/syncer: fix typo (ethereum#32427) eth/tracers: Adds codeHash to prestateTracer's response (ethereum#32391) rlp: optimize intsize (ethereum#32421) node: remove unused err var (ethereum#32398) eth: abort `requiredBlocks` check if peer handler terminated (ethereum#32413) cmd: fix inconsistent function name in comment (ethereum#32411) trie: refactor to use slices.Concat (ethereum#32401) consensus: fix ambiguous invalid gas limit error (ethereum#32405) ...
This changes the implementation to resolve the blob parameters according to the current header timestamp. This matters for EIP-7918, where we would previously resolve the UpdateFraction according to the parent header fork, leading to a confusing situation at the fork transition block.