verifier

package
v0.37.20-verify-execut... Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2024 License: AGPL-3.0 Imports: 31 Imported by: 4

Documentation

Index

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.

func VerifyRange

func VerifyRange(
	from, to uint64,
	chainID flow.ChainID,
	protocolDataDir string, chunkDataPackDir string,
) error

VerifyRange verifies all chunks in the results of the blocks in the given range.

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

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

func (e *Engine) ProcessLocal(event interface{}) error

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.

Jump to

Keyboard shortcuts

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