Skip to content
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

Merge/v1.13.12 #159

Merged
merged 34 commits into from
Feb 19, 2024
Merged
Changes from 1 commit
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
cd0770e
params: begin v.1.13.12 release cycle
holiman Jan 24, 2024
bc0b87c
internal/flags: fix typo (#28876)
bodhi-crypo Jan 26, 2024
2e947b7
core/types: fix and test handling of faulty nil-returning signer (#28…
protolambda Jan 27, 2024
db98cc4
README.md: fix travis badge (#28889)
keienWang Jan 29, 2024
e2778cd
eth/catalyst: allow payload attributes v1 in fcu v2 (#28882)
lightclient Jan 29, 2024
fc380f5
docs/postmortems: fix outdated link (#28893)
keienWang Jan 29, 2024
eaac53e
core: reset tx lookup cache if necessary (#28865)
rjl493456442 Jan 30, 2024
3adf1ce
build: fix problem with windows line-endings in CI download (#28900)
holiman Jan 31, 2024
5c67066
eth/downloader: fix skeleton cleanup (#28581)
rjl493456442 Jan 31, 2024
06a8711
deps: update memsize (#28916)
holiman Feb 2, 2024
62affdc
core/txpool/blobpool: post-crash cleanup and addition/removal metrics…
karalabe Feb 2, 2024
47d76c5
core/txpool: don't inject lazy resolved transactions into the contain…
karalabe Feb 2, 2024
253447a
core/types: fix typo (#28922)
zoereco Feb 4, 2024
19af900
p2p: fix accidental termination of portMappingLoop (#28911)
ziogaschr Feb 5, 2024
8ec638d
internal/flags: fix --miner.gasprice default listing (#28932)
karalabe Feb 5, 2024
8fd43c8
all: fix typos in comments (#28881)
rex4539 Feb 5, 2024
99e9c07
Makefile: add help target to display available targets (#28845)
Halimao Feb 5, 2024
0b5d8d2
core: cache transaction indexing tail in memory (#28908)
rjl493456442 Feb 6, 2024
16ce7bf
eth, miner: fix enforcing the minimum miner tip (#28933)
karalabe Feb 6, 2024
199e0c9
core/state, core/vm: minor uint256 related perf improvements (#28944)
lmittmann Feb 7, 2024
1f50aa7
cmd,internal/era: implement `export-history` subcommand (#26621)
lightclient Feb 7, 2024
449d3f0
core,params: add holesky to default genesis function (#28903)
lightclient Feb 7, 2024
69f5d5b
node, rpc: add configurable HTTP request limit (#28948)
fjl Feb 7, 2024
2ab365f
all: fix docstring names (#28923)
zoereco Feb 7, 2024
2dc33d4
ethclient/simulated: fix typo (#28952)
bodhi-crypo Feb 8, 2024
ae3b7a0
eth/gasprice: fix percentile validation in eth_feeHistory (#28954)
fjl Feb 8, 2024
8a76a81
cmd/devp2p, eth: drop support for eth/67 (#28956)
karalabe Feb 8, 2024
2732fb1
params, core/forkid: add mainnet timestamp for Cancun (#28958)
lightclient Feb 8, 2024
ac5aa67
internal/ethapi: add support for blobs in eth_fillTransaction (#28839)
s1na Feb 8, 2024
85938dd
internal/era: update block index format to be based on record offset …
lightclient Feb 9, 2024
8facf44
params: go-ethereum v1.13.12 stable
holiman Feb 9, 2024
02eb36a
all: release go-ethereum v1.13.12 (#28961)
holiman Feb 9, 2024
e9717aa
Merge tag 'v1.13.12' into merge/v1.13.12
Feb 16, 2024
758d579
Merge remote-tracking branch 'origin/mempool-feed-stage' into merge/v…
Feb 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
eth/catalyst: allow payload attributes v1 in fcu v2 (ethereum#28882)
At some point, `ForkchoiceUpdatedV2` stopped working for `PayloadAttributesV1` while `paris` was active. This was causing a few failures in hive. This PR fixes that, and also adds a gate in `ForkchoiceUpdatedV1` to disallow `PayloadAttributesV3`.
  • Loading branch information
lightclient authored Jan 29, 2024
commit e2778cd59f04f7587c9aa5983282074026ff6684
26 changes: 17 additions & 9 deletions eth/catalyst/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -173,8 +173,8 @@ func newConsensusAPIWithoutHeartbeat(eth *eth.Ethereum) *ConsensusAPI {
// and return its payloadID.
func (api *ConsensusAPI) ForkchoiceUpdatedV1(update engine.ForkchoiceStateV1, payloadAttributes *engine.PayloadAttributes) (engine.ForkChoiceResponse, error) {
if payloadAttributes != nil {
if payloadAttributes.Withdrawals != nil {
return engine.STATUS_INVALID, engine.InvalidParams.With(errors.New("withdrawals not supported in V1"))
if payloadAttributes.Withdrawals != nil || payloadAttributes.BeaconRoot != nil {
return engine.STATUS_INVALID, engine.InvalidParams.With(errors.New("withdrawals and beacon root not supported in V1"))
}
if api.eth.BlockChain().Config().IsShanghai(api.eth.BlockChain().Config().LondonBlock, payloadAttributes.Timestamp) {
return engine.STATUS_INVALID, engine.InvalidParams.With(errors.New("forkChoiceUpdateV1 called post-shanghai"))
Expand All @@ -183,23 +183,31 @@ func (api *ConsensusAPI) ForkchoiceUpdatedV1(update engine.ForkchoiceStateV1, pa
return api.forkchoiceUpdated(update, payloadAttributes, engine.PayloadV1, false)
}

// ForkchoiceUpdatedV2 is equivalent to V1 with the addition of withdrawals in the payload attributes.
// ForkchoiceUpdatedV2 is equivalent to V1 with the addition of withdrawals in the payload
// attributes. It supports both PayloadAttributesV1 and PayloadAttributesV2.
func (api *ConsensusAPI) ForkchoiceUpdatedV2(update engine.ForkchoiceStateV1, params *engine.PayloadAttributes) (engine.ForkChoiceResponse, error) {
if params != nil {
if params.Withdrawals == nil {
return engine.STATUS_INVALID, engine.InvalidParams.With(errors.New("missing withdrawals"))
switch api.eth.BlockChain().Config().LatestFork(params.Timestamp) {
case forks.Paris:
if params.Withdrawals != nil {
return engine.STATUS_INVALID, engine.InvalidParams.With(errors.New("withdrawals before shanghai"))
}
case forks.Shanghai:
if params.Withdrawals == nil {
return engine.STATUS_INVALID, engine.InvalidParams.With(errors.New("missing withdrawals"))
}
default:
return engine.STATUS_INVALID, engine.UnsupportedFork.With(errors.New("forkchoiceUpdatedV2 must only be called with paris and shanghai payloads"))
}
if params.BeaconRoot != nil {
return engine.STATUS_INVALID, engine.InvalidParams.With(errors.New("unexpected beacon root"))
}
if api.eth.BlockChain().Config().LatestFork(params.Timestamp) != forks.Shanghai {
return engine.STATUS_INVALID, engine.UnsupportedFork.With(errors.New("forkchoiceUpdatedV2 must only be called for shanghai payloads"))
}
}
return api.forkchoiceUpdated(update, params, engine.PayloadV2, false)
}

// ForkchoiceUpdatedV3 is equivalent to V2 with the addition of parent beacon block root in the payload attributes.
// ForkchoiceUpdatedV3 is equivalent to V2 with the addition of parent beacon block root
// in the payload attributes. It supports only PayloadAttributesV3.
func (api *ConsensusAPI) ForkchoiceUpdatedV3(update engine.ForkchoiceStateV1, params *engine.PayloadAttributes) (engine.ForkChoiceResponse, error) {
if params != nil {
// TODO(matt): according to https://github.com/ethereum/execution-apis/pull/498,
Expand Down