|
|
|
@ -410,13 +410,20 @@ func (api *ConsensusAPI) getPayload(payloadID engine.PayloadID) (*engine.Executi |
|
|
|
|
// NewPayloadV1 creates an Eth1 block, inserts it in the chain, and returns the status of the chain.
|
|
|
|
|
func (api *ConsensusAPI) NewPayloadV1(params engine.ExecutableData) (engine.PayloadStatusV1, error) { |
|
|
|
|
if params.Withdrawals != nil { |
|
|
|
|
return engine.PayloadStatusV1{Status: engine.INVALID}, fmt.Errorf("withdrawals not supported in V1") |
|
|
|
|
return engine.PayloadStatusV1{Status: engine.INVALID}, engine.InvalidParams.With(fmt.Errorf("withdrawals not supported in V1")) |
|
|
|
|
} |
|
|
|
|
return api.newPayload(params) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// NewPayloadV2 creates an Eth1 block, inserts it in the chain, and returns the status of the chain.
|
|
|
|
|
func (api *ConsensusAPI) NewPayloadV2(params engine.ExecutableData) (engine.PayloadStatusV1, error) { |
|
|
|
|
if api.eth.BlockChain().Config().IsShanghai(params.Timestamp) { |
|
|
|
|
if params.Withdrawals == nil { |
|
|
|
|
return engine.PayloadStatusV1{Status: engine.INVALID}, engine.InvalidParams.With(fmt.Errorf("nil withdrawals post-shanghai")) |
|
|
|
|
} |
|
|
|
|
} else if params.Withdrawals != nil { |
|
|
|
|
return engine.PayloadStatusV1{Status: engine.INVALID}, engine.InvalidParams.With(fmt.Errorf("non-nil withdrawals pre-shanghai")) |
|
|
|
|
} |
|
|
|
|
return api.newPayload(params) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|