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

[DO NOT MERGE] 2.61 vs 2.60 #12479

Draft
wants to merge 81 commits into
base: release/2.60
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
0291417
params: version 2.61.0-dev (#12149)
yperbasis Oct 1, 2024
5c833c3
Turn NoPruneContracts into DepositContract (#12150)
yperbasis Oct 1, 2024
bf742a8
EIP-2935 Historical block hashes (#12152)
yperbasis Oct 1, 2024
51b869d
Implement EIP-7685 and EIP-6110 (#12153)
yperbasis Oct 1, 2024
ee01d5a
BLS: add more subgroup checks and finalized EIP-2537 tests (#12154)
yperbasis Oct 1, 2024
61fb230
add withdrawalRequests to execution payload (#12155)
yperbasis Oct 1, 2024
55e55db
add requests to grpc interfaces (#12156)
yperbasis Oct 1, 2024
7af0551
Add some missing EIP-7685 wirings (#12157)
yperbasis Oct 1, 2024
52685b4
Update EIP-2935: Adjust gas-costs for 2935 (#12158)
yperbasis Oct 1, 2024
9892c85
Implement and add changes for EIPs 7002, 6110, 7685 (#12159)
yperbasis Oct 1, 2024
02728ee
core: Rename Deposit to DepositRequest for EIP-6110 (#12160)
yperbasis Oct 1, 2024
2ce2204
tests: Add prague exec test fixtures and rename requests tests (#12161)
yperbasis Oct 1, 2024
98e72ff
Update EIP-2935 for Prague devnet1 (#12162)
yperbasis Oct 1, 2024
3a9f381
Add EIP-7251 consolidation requests support (#12163)
yperbasis Oct 1, 2024
2e8775b
tests: Undo skip EIP-7685 spec tests (#12164)
yperbasis Oct 1, 2024
e1eab09
Fix compilation (#12171)
yperbasis Oct 2, 2024
bc86e9f
engineapi: Add pectra engine api changes (#12172)
yperbasis Oct 2, 2024
1fbc2fc
rlp: disallow trailing bytes in transactions (#10296) (#12175)
yperbasis Oct 2, 2024
bc4bc69
Move bor_fee_log from core to polygon (#12176)
yperbasis Oct 2, 2024
27783b8
Implement EIP-7702: set code tx (#12178)
yperbasis Oct 2, 2024
60684fe
execution spec tests update for devnet-1 (#12179)
yperbasis Oct 2, 2024
e5cc56f
engineapi: Fix req list check (#12180)
yperbasis Oct 2, 2024
6853eff
txpool changes for set_code_tx support (#12181)
yperbasis Oct 2, 2024
bc6cfb7
Wire OverridePragueTime into txpool (#12185)
yperbasis Oct 2, 2024
d0df1a2
Caplin: Added electra config support (#12186)
yperbasis Oct 2, 2024
92d3354
core/types: Fix JSON (un)marshalling of request types (#12187)
yperbasis Oct 2, 2024
e8f12eb
engineapi: Update interface and Rpc conversion for EIP-7685 Requests …
yperbasis Oct 2, 2024
107ca9b
Fix json name for deposit contract address (#12189)
yperbasis Oct 2, 2024
7418eef
engineapi: Only update req root for pectra+ (#12194)
yperbasis Oct 3, 2024
8ebcc8c
engineapi: Remove redundant nil check (#12195)
yperbasis Oct 3, 2024
771bd47
engineapi: Send status SYNCING for fcu when busy (#12196)
yperbasis Oct 3, 2024
edd42a2
el-consensus: Add 2935 condition to fail silently if no code in Histo…
yperbasis Oct 3, 2024
eb2a2ff
7702 latest spec update (#12198)
yperbasis Oct 3, 2024
c19a0f0
modify EIP-3607 to accept tx type 4 (#12200)
yperbasis Oct 3, 2024
905283b
Stricter validation of EIP-7702 transactions (#12201)
yperbasis Oct 3, 2024
1b6822c
Update spec tests to [email protected] (#12203)
yperbasis Oct 3, 2024
147e26c
Update EIP-7702: simpler transaction validity (#12212)
yperbasis Oct 4, 2024
226b926
Update EIP-7251 address (#12213)
yperbasis Oct 4, 2024
8d66803
Revert changes to non-Prague execution spec tests (#12214)
yperbasis Oct 4, 2024
b481789
qa-tests: use rpcdaemon for rpc tests (Erigon 2) (#12193)
mriccobene Oct 8, 2024
d33a84a
Preserve requests nil-ness in (un)marshalling (#12221)
yperbasis Oct 9, 2024
5ce1d85
e2: Fix state root calculation for EIP-7702 accounts with storage (#1…
yperbasis Oct 9, 2024
870b3d9
qa-tests: Gnosis Tip-Tracking Test - use v2 pre-built database on rel…
mriccobene Oct 16, 2024
4493088
Known cfg 2 61 (#12351)
JkLondon Oct 17, 2024
f05d17a
e2: rpcd to not open file before download complete (#12373)
AskAlexSharov Oct 19, 2024
470b822
e2: don't reopen files when new created (#12375)
AskAlexSharov Oct 20, 2024
c09a3bc
e2: up `bls` dep to support clang16 (#12374)
AskAlexSharov Oct 21, 2024
1f336a7
BodyDownload: differentiate between empty vs nil withdrawals/requests…
yperbasis Oct 23, 2024
837391d
Revert ethereum/tests to 13.1 (#12431)
yperbasis Oct 23, 2024
81ab987
Disable antiquation (#12442)
yperbasis Oct 24, 2024
1ca1a7c
Type of error field in structlog logger differs from geth, alloy (#1…
yperbasis Oct 24, 2024
8fa8ab6
deps: bump libp2p to v0.34.0 (#12445)
yperbasis Oct 24, 2024
f3dfa6d
Bump gqlparser to 2.5.16 in the release/2.60 branch (#12446)
yperbasis Oct 24, 2024
8b3a532
Add early return in `ComputeTxEnv` for state sync transactions (#12447)
yperbasis Oct 24, 2024
1b49666
Removing gasPrice check in UnmarshalJson of dynamicFeeTx (#12448)
yperbasis Oct 24, 2024
8de7eae
Rework release workflow for release/2.60 branch (#12449)
yperbasis Oct 24, 2024
db1a157
rpcdaemon: Only allow large txIndex for state sync transactions (#12450)
yperbasis Oct 24, 2024
c2a332d
rpcdaemon: Add missing flag (#12451)
yperbasis Oct 24, 2024
c5b89b4
e2: port salt assert logic (#12452)
yperbasis Oct 24, 2024
9020781
dbg: env var for heap profile output file path (#12453)
yperbasis Oct 24, 2024
ab5af9f
headerdownload: fix OOM due to inifinitely growing children in link (…
yperbasis Oct 24, 2024
42c0d13
Added Changelog (#12455)
yperbasis Oct 24, 2024
c9954b5
Flatten EIP-7002 withdrawal requests encoding (#12456)
yperbasis Oct 24, 2024
ecf5a1a
Flatten EIP-7251 Consolidation Requests encoding (#12457)
yperbasis Oct 24, 2024
4a2b0b5
tests: Add pectra-devnet-4 tests (All Spec tests Disabled) (#12458)
yperbasis Oct 24, 2024
34d42e1
Rename requestsRoot to requestsHash in block header (#12460)
yperbasis Oct 24, 2024
7a65be6
Block: use generic atomics (#12461)
yperbasis Oct 24, 2024
1502825
Move atomic hash from Block to Header (#12462)
yperbasis Oct 24, 2024
24d8d9b
Merge MiningResultPOSCh with MiningResultCh (#12463)
yperbasis Oct 24, 2024
b37c6d4
Remove EIP-7685 requests from body, block and exeution payload (#12467)
yperbasis Oct 24, 2024
2342e39
Engine API and type changes for flat requests in Pectra (#12468)
yperbasis Oct 25, 2024
b3b915d
Don't pass requests to consensus Finalize (#12474)
yperbasis Oct 25, 2024
6d92c11
Remove remnants of requests from block body downloader (#12475)
yperbasis Oct 25, 2024
3ba3e0a
Simplify EIP-6110 Deposit requests (#12476)
yperbasis Oct 25, 2024
a96cbd5
Modify EIP-7702 Txn impl per pectra-devnet-4 specs (#12478)
yperbasis Oct 25, 2024
9638341
engineapi: Fix json unmarshal issue (#12482)
yperbasis Oct 25, 2024
9490e10
Merge branch 'release/2.60' into release/2.61
yperbasis Oct 25, 2024
223137e
Merge branch 'release/2.60' into release/2.61
yperbasis Oct 25, 2024
b6ef47d
engine: Remove engine_getPayloadBodiesBy{Hash|Range}V2 (#12494)
yperbasis Oct 28, 2024
9599956
params: Update depositContractAddress field in json's (#12528)
yperbasis Oct 29, 2024
edf4149
Update dockerfile to golang 1.22 (#12543)
somnathb1 Oct 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/workflows/qa-rpc-integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- 'release/2.*'
- qa_tests_rpc_with_rpcdaemon # only to debug the workflow
pull_request:
branches:
- 'release/2.*'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/qa-tip-tracking-gnosis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,4 +122,4 @@ jobs:
if: steps.test_step.outputs.TEST_RESULT != 'success'
run: |
echo "::error::Error detected during tests"
exit 1
exit 1
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# syntax = docker/dockerfile:1.2
FROM docker.io/library/golang:1.21-alpine3.17 AS builder
FROM docker.io/library/golang:1.22-alpine3.19 AS builder

RUN apk --no-cache add build-base linux-headers git bash ca-certificates libstdc++

Expand All @@ -18,7 +18,7 @@ RUN --mount=type=cache,target=/root/.cache \
make BUILD_TAGS=nosqlite,noboltdb,nosilkworm all


FROM docker.io/library/golang:1.21-alpine3.17 AS tools-builder
FROM docker.io/library/golang:1.22-alpine3.19 AS tools-builder
RUN apk --no-cache add build-base linux-headers git bash ca-certificates libstdc++
WORKDIR /app

Expand All @@ -36,7 +36,7 @@ RUN --mount=type=cache,target=/root/.cache \
--mount=type=cache,target=/go/pkg/mod \
make db-tools

FROM docker.io/library/alpine:3.17
FROM docker.io/library/alpine:3.19

# install required runtime libs, along with some helpers for debugging
RUN apk add --no-cache ca-certificates libstdc++ tzdata
Expand Down
34 changes: 18 additions & 16 deletions accounts/abi/bind/backends/simulated.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ import (
"github.com/ledgerwatch/erigon/core/state"
"github.com/ledgerwatch/erigon/core/types"
"github.com/ledgerwatch/erigon/core/vm"
"github.com/ledgerwatch/erigon/core/vm/evmtypes"
"github.com/ledgerwatch/erigon/event"
"github.com/ledgerwatch/erigon/params"
"github.com/ledgerwatch/erigon/turbo/services"
Expand Down Expand Up @@ -510,7 +511,7 @@ func (b *SimulatedBackend) PendingCodeAt(ctx context.Context, contract libcommon
return b.pendingState.GetCode(contract), nil
}

func newRevertError(result *core.ExecutionResult) *revertError {
func newRevertError(result *evmtypes.ExecutionResult) *revertError {
reason, errUnpack := abi.UnpackRevert(result.Revert())
err := errors.New("execution reverted")
if errUnpack == nil {
Expand Down Expand Up @@ -548,7 +549,7 @@ func (b *SimulatedBackend) CallContract(ctx context.Context, call ethereum.CallM
if blockNumber != nil && blockNumber.Cmp(b.pendingBlock.Number()) != 0 {
return nil, errBlockNumberUnsupported
}
var res *core.ExecutionResult
var res *evmtypes.ExecutionResult
if err := b.m.DB.View(context.Background(), func(tx kv.Tx) (err error) {
s := state.New(b.m.NewStateReader(tx))
res, err = b.callContract(ctx, call, b.pendingBlock, s)
Expand Down Expand Up @@ -640,7 +641,7 @@ func (b *SimulatedBackend) EstimateGas(ctx context.Context, call ethereum.CallMs
b.pendingState.SetTxContext(libcommon.Hash{}, libcommon.Hash{}, len(b.pendingBlock.Transactions()))

// Create a helper to check if a gas allowance results in an executable transaction
executable := func(gas uint64) (bool, *core.ExecutionResult, error) {
executable := func(gas uint64) (bool, *evmtypes.ExecutionResult, error) {
call.Gas = gas

snapshot := b.pendingState.Snapshot()
Expand Down Expand Up @@ -694,7 +695,7 @@ func (b *SimulatedBackend) EstimateGas(ctx context.Context, call ethereum.CallMs

// callContract implements common code between normal and pending contract calls.
// state is modified during execution, make sure to copy it if necessary.
func (b *SimulatedBackend) callContract(_ context.Context, call ethereum.CallMsg, block *types.Block, statedb *state.IntraBlockState) (*core.ExecutionResult, error) {
func (b *SimulatedBackend) callContract(_ context.Context, call ethereum.CallMsg, block *types.Block, statedb *state.IntraBlockState) (*evmtypes.ExecutionResult, error) {
const baseFeeUpperLimit = 880000000
// Ensure message is initialized properly.
if call.GasPrice == nil {
Expand Down Expand Up @@ -823,18 +824,19 @@ type callMsg struct {
ethereum.CallMsg
}

func (m callMsg) From() libcommon.Address { return m.CallMsg.From }
func (m callMsg) Nonce() uint64 { return 0 }
func (m callMsg) CheckNonce() bool { return false }
func (m callMsg) To() *libcommon.Address { return m.CallMsg.To }
func (m callMsg) GasPrice() *uint256.Int { return m.CallMsg.GasPrice }
func (m callMsg) FeeCap() *uint256.Int { return m.CallMsg.FeeCap }
func (m callMsg) Tip() *uint256.Int { return m.CallMsg.Tip }
func (m callMsg) Gas() uint64 { return m.CallMsg.Gas }
func (m callMsg) Value() *uint256.Int { return m.CallMsg.Value }
func (m callMsg) Data() []byte { return m.CallMsg.Data }
func (m callMsg) AccessList() types2.AccessList { return m.CallMsg.AccessList }
func (m callMsg) IsFree() bool { return false }
func (m callMsg) From() libcommon.Address { return m.CallMsg.From }
func (m callMsg) Nonce() uint64 { return 0 }
func (m callMsg) CheckNonce() bool { return false }
func (m callMsg) To() *libcommon.Address { return m.CallMsg.To }
func (m callMsg) GasPrice() *uint256.Int { return m.CallMsg.GasPrice }
func (m callMsg) FeeCap() *uint256.Int { return m.CallMsg.FeeCap }
func (m callMsg) Tip() *uint256.Int { return m.CallMsg.Tip }
func (m callMsg) Gas() uint64 { return m.CallMsg.Gas }
func (m callMsg) Value() *uint256.Int { return m.CallMsg.Value }
func (m callMsg) Data() []byte { return m.CallMsg.Data }
func (m callMsg) AccessList() types2.AccessList { return m.CallMsg.AccessList }
func (m callMsg) Authorizations() []types.Authorization { return m.CallMsg.Authorizations }
func (m callMsg) IsFree() bool { return false }

func (m callMsg) BlobGas() uint64 { return misc.GetBlobGasUsed(len(m.CallMsg.BlobHashes)) }
func (m callMsg) MaxFeePerBlobGas() *uint256.Int { return m.CallMsg.MaxFeePerBlobGas }
Expand Down
40 changes: 40 additions & 0 deletions cl/clparams/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -446,6 +446,8 @@ type BeaconChainConfig struct {
CapellaForkEpoch uint64 `yaml:"CAPELLA_FORK_EPOCH" spec:"true" json:"CAPELLA_FORK_EPOCH,string"` // CapellaForkEpoch is used to represent the assigned fork epoch for Capella.
DenebForkVersion ConfigForkVersion `yaml:"DENEB_FORK_VERSION" spec:"true" json:"DENEB_FORK_VERSION"` // DenebForkVersion is used to represent the fork version for Deneb.
DenebForkEpoch uint64 `yaml:"DENEB_FORK_EPOCH" spec:"true" json:"DENEB_FORK_EPOCH,string"` // DenebForkEpoch is used to represent the assigned fork epoch for Deneb.
ElectraForkVersion ConfigForkVersion `yaml:"ELECTRA_FORK_VERSION" spec:"true" json:"ELECTRA_FORK_VERSION"` // ElectraForkVersion is used to represent the fork version for Electra.
ElectraForkEpoch uint64 `yaml:"ELECTRA_FORK_EPOCH" spec:"true" json:"ELECTRA_FORK_EPOCH,string"` // ElectraForkEpoch is used to represent the assigned fork epoch for Electra.

ForkVersionSchedule map[libcommon.Bytes4]uint64 `json:"-"` // Schedule of fork epochs by version.
ForkVersionNames map[libcommon.Bytes4]string `json:"-"` // Human-readable names of fork versions.
Expand Down Expand Up @@ -499,6 +501,22 @@ type BeaconChainConfig struct {

MaxBlobGasPerBlock uint64 `yaml:"MAX_BLOB_GAS_PER_BLOCK" json:"MAX_BLOB_GAS_PER_BLOCK,string"` // MaxBlobGasPerBlock defines the maximum gas limit for blob sidecar per block.
MaxBlobsPerBlock uint64 `yaml:"MAX_BLOBS_PER_BLOCK" json:"MAX_BLOBS_PER_BLOCK,string"` // MaxBlobsPerBlock defines the maximum number of blobs per block.
// Whisk
WhiskEpochsPerShufflingPhase uint64 `yaml:"WHISK_EPOCHS_PER_SHUFFLING_PHASE" spec:"true" json:"WHISK_EPOCHS_PER_SHUFFLING_PHASE,string"` // WhiskEpochsPerShufflingPhase defines the number of epochs per shuffling phase.
WhiskProposerSelectionGap uint64 `yaml:"WHISK_PROPOSER_SELECTION_GAP" spec:"true" json:"WHISK_PROPOSER_SELECTION_GAP,string"` // WhiskProposerSelectionGap defines the proposer selection gap.

// EIP7594
NumberOfColumns uint64 `yaml:"NUMBER_OF_COLUMNS" spec:"true" json:"NUMBER_OF_COLUMNS,string"` // NumberOfColumns defines the number of columns in the extended matrix.
MaxCellsInExtendedMatrix uint64 `yaml:"MAX_CELLS_IN_EXTENDED_MATRIX" spec:"true" json:"MAX_CELLS_IN_EXTENDED_MATRIX,string"` // MaxCellsInExtendedMatrix defines the maximum number of cells in the extended matrix.
DataColumnSidecarSubnetCount uint64 `yaml:"DATA_COLUMN_SIDECAR_SUBNET_COUNT" spec:"true" json:"DATA_COLUMN_SIDECAR_SUBNET_COUNT,string"` // DataColumnSidecarSubnetCount defines the number of sidecars in the data column subnet.
MaxRequestDataColumnSidecars uint64 `yaml:"MAX_REQUEST_DATA_COLUMN_SIDECARS" spec:"true" json:"MAX_REQUEST_DATA_COLUMN_SIDECARS,string"` // MaxRequestDataColumnSidecars defines the maximum number of data column sidecars that can be requested.
SamplesPerSlot uint64 `yaml:"SAMPLES_PER_SLOT" spec:"true" json:"SAMPLES_PER_SLOT,string"` // SamplesPerSlot defines the number of samples per slot.
CustodyRequirement uint64 `yaml:"CUSTODY_REQUIREMENT" spec:"true" json:"CUSTODY_REQUIREMENT,string"` // CustodyRequirement defines the custody requirement.
TargetNumberOfPeers uint64 `yaml:"TARGET_NUMBER_OF_PEERS" spec:"true" json:"TARGET_NUMBER_OF_PEERS,string"` // TargetNumberOfPeers defines the target number of peers.

// Electra
MinPerEpochChurnLimitElectra uint64 `yaml:"MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA" spec:"true" json:"MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA,string"` // MinPerEpochChurnLimitElectra defines the minimum per epoch churn limit for Electra.
MaxPerEpochActivationExitChurnLimit uint64 `yaml:"MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT" spec:"true" json:"MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT,string"` // MaxPerEpochActivationExitChurnLimit defines the maximum per epoch activation exit churn limit for Electra.
}

func (b *BeaconChainConfig) RoundSlotToEpoch(slot uint64) uint64 {
Expand Down Expand Up @@ -544,6 +562,7 @@ func configForkSchedule(b *BeaconChainConfig) map[libcommon.Bytes4]uint64 {
fvs[utils.Uint32ToBytes4(uint32(b.BellatrixForkVersion))] = b.BellatrixForkEpoch
fvs[utils.Uint32ToBytes4(uint32(b.CapellaForkVersion))] = b.CapellaForkEpoch
fvs[utils.Uint32ToBytes4(uint32(b.DenebForkVersion))] = b.DenebForkEpoch
fvs[utils.Uint32ToBytes4(uint32(b.ElectraForkVersion))] = b.ElectraForkEpoch
return fvs
}

Expand All @@ -554,6 +573,7 @@ func configForkNames(b *BeaconChainConfig) map[libcommon.Bytes4]string {
fvn[utils.Uint32ToBytes4(uint32(b.BellatrixForkVersion))] = "bellatrix"
fvn[utils.Uint32ToBytes4(uint32(b.CapellaForkVersion))] = "capella"
fvn[utils.Uint32ToBytes4(uint32(b.DenebForkVersion))] = "deneb"
fvn[utils.Uint32ToBytes4(uint32(b.ElectraForkVersion))] = "electra"
return fvn
}

Expand Down Expand Up @@ -691,6 +711,8 @@ var MainnetBeaconConfig BeaconChainConfig = BeaconChainConfig{
CapellaForkEpoch: 194048,
DenebForkVersion: 0x04000000,
DenebForkEpoch: 269568,
// ElectraForkVersion: Not Set,
ElectraForkEpoch: math.MaxUint64,

// New values introduced in Altair hard fork 1.
// Participation flag indices.
Expand Down Expand Up @@ -739,6 +761,20 @@ var MainnetBeaconConfig BeaconChainConfig = BeaconChainConfig{

MaxBlobGasPerBlock: 786432,
MaxBlobsPerBlock: 6,

WhiskEpochsPerShufflingPhase: 256,
WhiskProposerSelectionGap: 2,

NumberOfColumns: 128,
MaxCellsInExtendedMatrix: 768,
DataColumnSidecarSubnetCount: 32,
MaxRequestDataColumnSidecars: 16384,
SamplesPerSlot: 8,
CustodyRequirement: 1,
TargetNumberOfPeers: 70,

MinPerEpochChurnLimitElectra: 128000000000,
MaxPerEpochActivationExitChurnLimit: 256000000000,
}

func mainnetConfig() BeaconChainConfig {
Expand Down Expand Up @@ -987,6 +1023,8 @@ func (b *BeaconChainConfig) GetForkVersionByVersion(v StateVersion) uint32 {
return uint32(b.CapellaForkVersion)
case DenebVersion:
return uint32(b.DenebForkVersion)
case ElectraVersion:
return uint32(b.ElectraForkVersion)
}
panic("invalid version")
}
Expand All @@ -1003,6 +1041,8 @@ func (b *BeaconChainConfig) GetForkEpochByVersion(v StateVersion) uint64 {
return b.CapellaForkEpoch
case DenebVersion:
return b.DenebForkEpoch
case ElectraVersion:
return b.ElectraForkEpoch
}
panic("invalid version")
}
Expand Down
5 changes: 5 additions & 0 deletions cl/clparams/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ const (
BellatrixVersion StateVersion = 2
CapellaVersion StateVersion = 3
DenebVersion StateVersion = 4
ElectraVersion StateVersion = 5
)

// stringToClVersion converts the string to the current state version.
Expand All @@ -25,6 +26,8 @@ func StringToClVersion(s string) (StateVersion, error) {
return CapellaVersion, nil
case "deneb":
return DenebVersion, nil
case "electra":
return ElectraVersion, nil
default:
return 0, fmt.Errorf("unsupported fork version %s", s)
}
Expand All @@ -42,6 +45,8 @@ func ClVersionToString(s StateVersion) string {
return "capella"
case DenebVersion:
return "deneb"
case ElectraVersion:
return "electra"
default:
panic("unsupported fork version")
}
Expand Down
4 changes: 2 additions & 2 deletions cl/phase1/execution_client/execution_client_rpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ func (cc *ExecutionClientRpc) Ready(ctx context.Context) (bool, error) {

// GetBodiesByRange gets block bodies in given block range
func (cc *ExecutionClientRpc) GetBodiesByRange(ctx context.Context, start, count uint64) ([]*types.RawBody, error) {
result := []*engine_types.ExecutionPayloadBodyV1{}
result := []*engine_types.ExecutionPayloadBody{}

if err := cc.client.CallContext(ctx, &result, rpc_helper.GetPayloadBodiesByRangeV1, hexutil.Uint64(start), hexutil.Uint64(count)); err != nil {
return nil, err
Expand All @@ -223,7 +223,7 @@ func (cc *ExecutionClientRpc) GetBodiesByRange(ctx context.Context, start, count

// GetBodiesByHashes gets block bodies with given hashes
func (cc *ExecutionClientRpc) GetBodiesByHashes(ctx context.Context, hashes []libcommon.Hash) ([]*types.RawBody, error) {
result := []*engine_types.ExecutionPayloadBodyV1{}
result := []*engine_types.ExecutionPayloadBody{}

if err := cc.client.CallContext(ctx, &result, rpc_helper.GetPayloadBodiesByHashV1, hashes); err != nil {
return nil, err
Expand Down
4 changes: 2 additions & 2 deletions cmd/devnet/blocks/waiter.go
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ func BlockWaiter(ctx context.Context, handler BlockHandler) (Waiter, context.Can

var err error

headers := make(chan types.Header)
headers := make(chan *types.Header)
waiter.headersSub, err = node.Subscribe(ctx, requests.Methods.ETHNewHeads, headers)

if err != nil {
Expand All @@ -117,7 +117,7 @@ func BlockWaiter(ctx context.Context, handler BlockHandler) (Waiter, context.Can
return wait{waiter}, cancel
}

func (c *blockWaiter) receive(ctx context.Context, node devnet.Node, headers chan types.Header) {
func (c *blockWaiter) receive(ctx context.Context, node devnet.Node, headers chan *types.Header) {
blockMap := map[libcommon.Hash]*requests.Block{}

defer close(c.result)
Expand Down
1 change: 1 addition & 0 deletions cmd/evm/internal/t8ntool/execution.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ type stEnv struct {
UncleHash libcommon.Hash `json:"uncleHash,omitempty"`
Withdrawals []*types.Withdrawal `json:"withdrawals,omitempty"`
WithdrawalsHash *libcommon.Hash `json:"withdrawalsRoot,omitempty"`
RequestsHash *libcommon.Hash `json:"requestsHash,omitempty"`
}

type stEnvMarshaling struct {
Expand Down
Loading
Loading