Documentation ¶
Index ¶
- func GenerateResultApproval(me module.Local, approvalHasher hash.Hasher, spockHasher hash.Hasher, ...) (*flow.ResultApproval, error)
- func VerifyLastKHeight(k uint64, chainID flow.ChainID, protocolDataDir string, ...) error
- func VerifyRange(from, to uint64, chainID flow.ChainID, protocolDataDir string, ...) error
- type Engine
- func (e *Engine) Done() <-chan struct{}
- func (e *Engine) Process(channel channels.Channel, originID flow.Identifier, event interface{}) error
- func (e *Engine) ProcessLocal(event interface{}) error
- func (e *Engine) Ready() <-chan struct{}
- func (e *Engine) Submit(channel channels.Channel, originID flow.Identifier, event interface{})
- func (e *Engine) SubmitLocal(event interface{})
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateResultApproval ¶ added in v0.26.1
func GenerateResultApproval( me module.Local, approvalHasher hash.Hasher, spockHasher hash.Hasher, attestation *flow.Attestation, spockSecret []byte, ) (*flow.ResultApproval, error)
GenerateResultApproval generates result approval for specific chunk of an execution receipt.
func VerifyLastKHeight ¶
func VerifyLastKHeight(k uint64, chainID flow.ChainID, protocolDataDir string, chunkDataPackDir string) error
VerifyLastKHeight verifies the last k sealed blocks by verifying all chunks in the results. It assumes the latest sealed block has been executed, and the chunk data packs have not been pruned.
Types ¶
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine (verifier engine) verifies chunks, generates result approvals or raises challenges. as input it accepts verifiable chunks (chunk + all data needed) and perform verification by constructing a partial trie, executing transactions and check the final state commitment and other chunk meta data (e.g. tx count)
func New ¶
func New( log zerolog.Logger, metrics module.VerificationMetrics, tracer module.Tracer, net network.EngineRegistry, state protocol.State, me module.Local, chVerif module.ChunkVerifier, approvals storage.ResultApprovals, ) (*Engine, error)
New creates and returns a new instance of a verifier engine.
func (*Engine) Done ¶
func (e *Engine) Done() <-chan struct{}
Done returns a channel that is closed when the verifier engine is done.
func (*Engine) Process ¶
func (e *Engine) Process(channel channels.Channel, originID flow.Identifier, event interface{}) error
Process processes the given event from the node with the given origin ID in a blocking manner. It returns the potential processing error when done.
func (*Engine) ProcessLocal ¶
ProcessLocal processes an event originating on the local node.
func (*Engine) Ready ¶
func (e *Engine) Ready() <-chan struct{}
Ready returns a channel that is closed when the verifier engine is ready.
func (*Engine) Submit ¶
func (e *Engine) Submit(channel channels.Channel, originID flow.Identifier, event interface{})
Submit submits the given event from the node with the given origin ID for processing in a non-blocking manner. It returns instantly and logs a potential processing error internally when done.
func (*Engine) SubmitLocal ¶
func (e *Engine) SubmitLocal(event interface{})
SubmitLocal submits an event originating on the local node.