From e6288f95f7f814328123fce64edf29b18a533337 Mon Sep 17 00:00:00 2001 From: terence tsao Date: Wed, 15 Jan 2025 14:56:28 -0800 Subject: [PATCH] Truncate ExtraData to 32 bytes for to satisfy SSZ marshal --- changelog/tt_fix_generate_genesis.md | 3 +++ runtime/interop/premine-state.go | 10 +++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 changelog/tt_fix_generate_genesis.md diff --git a/changelog/tt_fix_generate_genesis.md b/changelog/tt_fix_generate_genesis.md new file mode 100644 index 000000000000..132daf5aa873 --- /dev/null +++ b/changelog/tt_fix_generate_genesis.md @@ -0,0 +1,3 @@ +### Fixed + +- Prysmctl generate genesis state: fix truncation of ExtraData to 32 bytes to satisfy SSZ marshaling diff --git a/runtime/interop/premine-state.go b/runtime/interop/premine-state.go index 0caaf33c00e4..af24453d18f0 100644 --- a/runtime/interop/premine-state.go +++ b/runtime/interop/premine-state.go @@ -621,6 +621,10 @@ func (s *PremineGenesisConfig) setLatestBlockHeader(g state.BeaconState) error { func (s *PremineGenesisConfig) setExecutionPayload(g state.BeaconState) error { gb := s.GB + extraData := gb.Extra() + if len(extraData) > 32 { + extraData = extraData[:32] + } if s.Version >= version.Deneb { payload := &enginev1.ExecutionPayloadDeneb{ @@ -634,7 +638,7 @@ func (s *PremineGenesisConfig) setExecutionPayload(g state.BeaconState) error { GasLimit: gb.GasLimit(), GasUsed: gb.GasUsed(), Timestamp: gb.Time(), - ExtraData: gb.Extra(), + ExtraData: extraData, BaseFeePerGas: bytesutil.PadTo(bytesutil.ReverseByteOrder(gb.BaseFee().Bytes()), fieldparams.RootLength), BlockHash: gb.Hash().Bytes(), Transactions: make([][]byte, 0), @@ -673,7 +677,7 @@ func (s *PremineGenesisConfig) setExecutionPayload(g state.BeaconState) error { GasLimit: gb.GasLimit(), GasUsed: gb.GasUsed(), Timestamp: gb.Time(), - ExtraData: gb.Extra(), + ExtraData: extraData, BaseFeePerGas: bytesutil.PadTo(bytesutil.ReverseByteOrder(gb.BaseFee().Bytes()), fieldparams.RootLength), BlockHash: gb.Hash().Bytes(), Transactions: make([][]byte, 0), @@ -709,7 +713,7 @@ func (s *PremineGenesisConfig) setExecutionPayload(g state.BeaconState) error { GasLimit: gb.GasLimit(), GasUsed: gb.GasUsed(), Timestamp: gb.Time(), - ExtraData: gb.Extra(), + ExtraData: extraData, BaseFeePerGas: bytesutil.PadTo(bytesutil.ReverseByteOrder(gb.BaseFee().Bytes()), fieldparams.RootLength), BlockHash: gb.Hash().Bytes(), Transactions: make([][]byte, 0),