engine

package
v0.0.0-...-81c3603 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BlockStore

type BlockStore interface {
	store.BlockStoreReader
	UpdateLabel(label eth.BlockLabel, hash common.Hash) error
}

type EngineAPI

type EngineAPI struct {
	// contains filtered or unexported fields
}

EngineAPI implements the Engine API. It assumes it is the sole block proposer.

func NewEngineAPI

func NewEngineAPI(
	b *builder.Builder,
	txValidator TxValidator,
	blockStore BlockStore,
) *EngineAPI

func (*EngineAPI) ForkchoiceUpdatedV1

func (e *EngineAPI) ForkchoiceUpdatedV1(
	ctx context.Context,
	fcs eth.ForkchoiceState,
	pa *eth.PayloadAttributes,
) (*eth.ForkchoiceUpdatedResult, error)

func (*EngineAPI) ForkchoiceUpdatedV2

func (e *EngineAPI) ForkchoiceUpdatedV2(
	ctx context.Context,
	fcs eth.ForkchoiceState,
	pa *eth.PayloadAttributes,
) (*eth.ForkchoiceUpdatedResult, error)

func (*EngineAPI) ForkchoiceUpdatedV3

func (e *EngineAPI) ForkchoiceUpdatedV3(
	ctx context.Context,
	fcs eth.ForkchoiceState,
	pa *eth.PayloadAttributes,
) (*eth.ForkchoiceUpdatedResult, error)

func (*EngineAPI) GetPayloadV1

func (e *EngineAPI) GetPayloadV1(ctx context.Context, payloadID engine.PayloadID) (*eth.ExecutionPayloadEnvelope, error)

func (*EngineAPI) GetPayloadV2

func (e *EngineAPI) GetPayloadV2(ctx context.Context, payloadID engine.PayloadID) (*eth.ExecutionPayloadEnvelope, error)

func (*EngineAPI) GetPayloadV3

func (e *EngineAPI) GetPayloadV3(ctx context.Context, payloadID engine.PayloadID) (*eth.ExecutionPayloadEnvelope, error)

GetPayloadV3 seals a payload that is currently being built (i.e. was introduced in the PayloadAttributes from a previous ForkchoiceUpdated call).

func (*EngineAPI) NewPayloadV1

func (e *EngineAPI) NewPayloadV1(payload eth.ExecutionPayload) (*eth.PayloadStatusV1, error)

func (*EngineAPI) NewPayloadV2

func (e *EngineAPI) NewPayloadV2(payload eth.ExecutionPayload) (*eth.PayloadStatusV1, error)

func (*EngineAPI) NewPayloadV3

func (e *EngineAPI) NewPayloadV3(payload eth.ExecutionPayload) (*eth.PayloadStatusV1, error)

NewPayloadV3 ensures the payload's block hash is present in the block store. TODO will this ever be called if we are the sole block proposer?

type TxValidator

type TxValidator interface {
	CheckTx(context.Context, *abci.RequestCheckTx) (*abci.ResponseCheckTx, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL