@@ -162,7 +162,7 @@ func (s *Merge) Finalize(config *chain.Config, header *types.Header, state *stat
162162
163163 var rs types.FlatRequests
164164 if config .IsPrague (header .Time ) {
165- rs = make (types.FlatRequests , len ( types . KnownRequestTypes ) )
165+ rs = make (types.FlatRequests , 0 )
166166 allLogs := make (types.Logs , 0 )
167167 for _ , rec := range receipts {
168168 allLogs = append (allLogs , rec .Logs ... )
@@ -171,11 +171,17 @@ func (s *Merge) Finalize(config *chain.Config, header *types.Header, state *stat
171171 if err != nil {
172172 return nil , nil , nil , fmt .Errorf ("error: could not parse requests logs: %v" , err )
173173 }
174- rs [0 ] = * depositReqs
174+ if depositReqs != nil {
175+ rs = append (rs , * depositReqs )
176+ }
175177 withdrawalReq := misc .DequeueWithdrawalRequests7002 (syscall )
176- rs [1 ] = * withdrawalReq
178+ if withdrawalReq != nil {
179+ rs = append (rs , * withdrawalReq )
180+ }
177181 consolidations := misc .DequeueConsolidationRequests7251 (syscall )
178- rs [2 ] = * consolidations
182+ if consolidations != nil {
183+ rs = append (rs , * consolidations )
184+ }
179185 if header .RequestsHash != nil {
180186 rh := rs .Hash ()
181187 if * header .RequestsHash != * rh {
@@ -194,15 +200,15 @@ func (s *Merge) FinalizeAndAssemble(config *chain.Config, header *types.Header,
194200 return s .eth1Engine .FinalizeAndAssemble (config , header , state , txs , uncles , receipts , withdrawals , chain , syscall , call , logger )
195201 }
196202 header .RequestsHash = nil
197- outTxs , outReceipts , rs , err := s .Finalize (config , header , state , txs , uncles , receipts , withdrawals , chain , syscall , logger )
203+ outTxs , outReceipts , outRequests , err := s .Finalize (config , header , state , txs , uncles , receipts , withdrawals , chain , syscall , logger )
198204
199205 if err != nil {
200206 return nil , nil , nil , nil , err
201207 }
202208 if config .IsPrague (header .Time ) {
203- header .RequestsHash = rs .Hash ()
209+ header .RequestsHash = outRequests .Hash ()
204210 }
205- return types .NewBlockForAsembling (header , outTxs , uncles , outReceipts , withdrawals ), outTxs , outReceipts , rs , nil
211+ return types .NewBlockForAsembling (header , outTxs , uncles , outReceipts , withdrawals ), outTxs , outReceipts , outRequests , nil
206212}
207213
208214func (s * Merge ) SealHash (header * types.Header ) (hash libcommon.Hash ) {
0 commit comments