eth/catalyst: add `engine_updatePayloadWithInclusionListV1`

This commit is contained in:
Jihoon Song 2024-11-30 17:58:06 +09:00
parent 3d503ebc02
commit 0971596cc1
1 changed files with 17 additions and 0 deletions

View File

@ -96,6 +96,7 @@ var caps = []string{
"engine_getPayloadV4",
"engine_getBlobsV1",
"engine_getInclusionListV1",
"engine_updatePayloadWithInclusionListV1",
"engine_newPayloadV1",
"engine_newPayloadV2",
"engine_newPayloadV3",
@ -571,6 +572,22 @@ func (api *ConsensusAPI) GetInclusionListV1(parentHash common.Hash) (engine.Incl
return inclusionList, nil
}
func (api *ConsensusAPI) UpdatePayloadWithInclusionListV1(payloadID engine.PayloadID, inclusionList engine.InclusionList) (*engine.PayloadID, error) {
payload := api.localBlocks.peak(payloadID)
if payload == nil {
return nil, engine.UnknownPayload
}
inclusionListTxs, err := engine.InclusionListToTransactions(inclusionList)
if err != nil {
return nil, err
}
payload.UpdateWithInclusionList(inclusionListTxs)
return &payloadID, nil
}
// 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 {