computer

package
v0.38.0-preview.0.0.4 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2024 License: AGPL-3.0 Imports: 31 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 SystemChunkContext added in v0.21.1

func SystemChunkContext(vmCtx fvm.Context, metrics module.ExecutionMetrics) 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,
	state protocol.State,
	maxConcurrency int,
) (BlockComputer, error)

NewBlockComputer creates a new block executor.

type TransactionRequest added in v0.32.0

type TransactionRequest struct {
	*fvm.TransactionProcedure
	// contains filtered or unexported fields
}

type TransactionWriteBehindLogger added in v0.32.0

type TransactionWriteBehindLogger interface {
	AddTransactionResult(
		txn TransactionRequest,
		snapshot *snapshot.ExecutionSnapshot,
		output fvm.ProcedureOutput,
		timeSpent time.Duration,
		numTxnConflictRetries int,
	)
}

type ViewCommitter added in v0.16.0

type ViewCommitter interface {
	// CommitView commits an execution snapshot and collects proofs
	CommitView(
		*snapshot.ExecutionSnapshot,
		execution.ExtendableStorageSnapshot,
	) (
		flow.StateCommitment,
		[]byte,
		*ledger.TrieUpdate,
		execution.ExtendableStorageSnapshot,
		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