Help us shape the future of Go! Take the 2026 Go Developer Survey

computer

package
v0.31.12 Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2023 License: AGPL-3.0 Imports: 28 Imported by: 4

Documentation

Index

Constants

View Source
const (
	SystemChunkEventCollectionMaxSize = 256_000_000 // ~256MB
)

Variables

This section is empty.

Functions

func GenerateExecutionReceipt added in v0.30.0

func GenerateExecutionReceipt(
	signer module.Local,
	receiptHasher hash.Hasher,
	result *flow.ExecutionResult,
	spockSignatures []crypto.Signature,
) (
	*flow.ExecutionReceipt,
	error,
)

func SPOCKProve added in v0.29.0

func SPOCKProve(
	sk crypto.PrivateKey,
	data []byte,
	kmac hash.Hasher,
) (
	crypto.Signature,
	error,
)

This is a temporary wrapper that simulates a call to SPoCK prove, required for the emulator build. The function is never called by the emulator although it is required for a successful build.

TODO(tarak): remove once the crypto module properly implements a non-relic version of SPOCKProve.

func SystemChunkContext added in v0.21.1

func SystemChunkContext(vmCtx fvm.Context, logger zerolog.Logger) fvm.Context

Types

type BlockComputer

type BlockComputer interface {
	ExecuteBlock(
		ctx context.Context,
		parentBlockExecutionResultID flow.Identifier,
		block *entity.ExecutableBlock,
		snapshot snapshot.StorageSnapshot,
		derivedBlockData *derived.DerivedBlockData,
	) (
		*execution.ComputationResult,
		error,
	)
}

A BlockComputer executes the transactions in a block.

func NewBlockComputer

func NewBlockComputer(
	vm fvm.VM,
	vmCtx fvm.Context,
	metrics module.ExecutionMetrics,
	tracer module.Tracer,
	logger zerolog.Logger,
	committer ViewCommitter,
	signer module.Local,
	executionDataProvider *provider.Provider,
	colResCons []result.ExecutedCollectionConsumer,
) (BlockComputer, error)

NewBlockComputer creates a new block executor.

type ViewCommitter added in v0.16.0

type ViewCommitter interface {
	// CommitView commits an execution snapshot and collects proofs
	CommitView(
		*snapshot.ExecutionSnapshot,
		flow.StateCommitment,
	) (
		flow.StateCommitment,
		[]byte,
		*ledger.TrieUpdate,
		error,
	)
}

ViewCommitter commits execution snapshot to the ledger and collects the proofs

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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