Documentation
¶
Index ¶
- Constants
- func CallbackContext(vmCtx fvm.Context, metrics module.ExecutionMetrics) fvm.Context
- func GenerateExecutionReceipt(signer module.Local, receiptHasher hash.Hasher, result *flow.ExecutionResult, ...) (*flow.ExecutionReceipt, error)
- func SystemChunkContext(vmCtx fvm.Context, metrics module.ExecutionMetrics) fvm.Context
- type BlockComputer
- type TransactionRequest
- type TransactionWriteBehindLogger
- type ViewCommitter
Constants ¶
View Source
const (
SystemChunkEventCollectionMaxSize = 256_000_000 // ~256MB
)
Variables ¶
This section is empty.
Functions ¶
func CallbackContext ¶ added in v0.43.0
CallbackContext is the context for the scheduled callback transactions.
func GenerateExecutionReceipt ¶ added in v0.30.0
func SystemChunkContext ¶ added in v0.21.1
SystemChunkContext is the context for the system chunk transaction.
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.SnapshotExecutionSubsetProvider, 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
Click to show internal directories.
Click to hide internal directories.