@@ -166,10 +166,10 @@ func (api *ConsensusAPI) ForkchoiceUpdatedV1(update beacon.ForkchoiceStateV1, pa
166
166
finalBlock := api .eth .BlockChain ().GetBlockByHash (update .FinalizedBlockHash )
167
167
if finalBlock == nil {
168
168
log .Warn ("Final block not available in database" , "hash" , update .FinalizedBlockHash )
169
- return beacon .STATUS_INVALID , & beacon .InvalidForkChoiceState
169
+ return beacon .STATUS_INVALID , beacon .InvalidForkChoiceState . With ( errors . New ( "final block not available in database" ))
170
170
} else if rawdb .ReadCanonicalHash (api .eth .ChainDb (), finalBlock .NumberU64 ()) != update .FinalizedBlockHash {
171
171
log .Warn ("Final block not in canonical chain" , "number" , block .NumberU64 (), "hash" , update .HeadBlockHash )
172
- return beacon .STATUS_INVALID , & beacon .InvalidForkChoiceState
172
+ return beacon .STATUS_INVALID , beacon .InvalidForkChoiceState . With ( errors . New ( "final block not in canonical chain" ))
173
173
}
174
174
// Set the finalized block
175
175
api .eth .BlockChain ().SetFinalized (finalBlock )
@@ -179,21 +179,19 @@ func (api *ConsensusAPI) ForkchoiceUpdatedV1(update beacon.ForkchoiceStateV1, pa
179
179
safeBlock := api .eth .BlockChain ().GetBlockByHash (update .SafeBlockHash )
180
180
if safeBlock == nil {
181
181
log .Warn ("Safe block not available in database" )
182
- return beacon .STATUS_INVALID , & beacon .InvalidForkChoiceState
182
+ return beacon .STATUS_INVALID , beacon .InvalidForkChoiceState . With ( errors . New ( "safe block not available in database" ))
183
183
}
184
184
if rawdb .ReadCanonicalHash (api .eth .ChainDb (), safeBlock .NumberU64 ()) != update .SafeBlockHash {
185
185
log .Warn ("Safe block not in canonical chain" )
186
- return beacon .STATUS_INVALID , & beacon .InvalidForkChoiceState
186
+ return beacon .STATUS_INVALID , beacon .InvalidForkChoiceState . With ( errors . New ( "safe block not in canonical chain" ))
187
187
}
188
188
}
189
-
190
189
valid := func (id * beacon.PayloadID ) beacon.ForkChoiceResponse {
191
190
return beacon.ForkChoiceResponse {
192
191
PayloadStatus : beacon.PayloadStatusV1 {Status : beacon .VALID , LatestValidHash : & update .HeadBlockHash },
193
192
PayloadID : id ,
194
193
}
195
194
}
196
-
197
195
// If payload generation was requested, create a new block to be potentially
198
196
// sealed by the beacon client. The payload will be requested later, and we
199
197
// might replace it arbitrarily many times in between.
@@ -202,14 +200,14 @@ func (api *ConsensusAPI) ForkchoiceUpdatedV1(update beacon.ForkchoiceStateV1, pa
202
200
empty , err := api .eth .Miner ().GetSealingBlockSync (update .HeadBlockHash , payloadAttributes .Timestamp , payloadAttributes .SuggestedFeeRecipient , payloadAttributes .Random , true )
203
201
if err != nil {
204
202
log .Error ("Failed to create empty sealing payload" , "err" , err )
205
- return valid (nil ), & beacon .InvalidPayloadAttributes
203
+ return valid (nil ), beacon .InvalidPayloadAttributes . With ( err )
206
204
}
207
205
// Send a request to generate a full block in the background.
208
206
// The result can be obtained via the returned channel.
209
207
resCh , err := api .eth .Miner ().GetSealingBlockAsync (update .HeadBlockHash , payloadAttributes .Timestamp , payloadAttributes .SuggestedFeeRecipient , payloadAttributes .Random , false )
210
208
if err != nil {
211
209
log .Error ("Failed to create async sealing payload" , "err" , err )
212
- return valid (nil ), & beacon .InvalidPayloadAttributes
210
+ return valid (nil ), beacon .InvalidPayloadAttributes . With ( err )
213
211
}
214
212
id := computePayloadId (update .HeadBlockHash , payloadAttributes )
215
213
api .localBlocks .put (id , & payload {empty : empty , result : resCh })
@@ -248,7 +246,7 @@ func (api *ConsensusAPI) GetPayloadV1(payloadID beacon.PayloadID) (*beacon.Execu
248
246
log .Trace ("Engine API request received" , "method" , "GetPayload" , "id" , payloadID )
249
247
data := api .localBlocks .get (payloadID )
250
248
if data == nil {
251
- return nil , & beacon .UnknownPayload
249
+ return nil , beacon .UnknownPayload
252
250
}
253
251
return data , nil
254
252
}
0 commit comments