mod.rs

Overview

The mod.rs file serves as the primary module declaration and re-export hub within its directory. It organizes and exposes key components related to block production and verification, as well as builder, processing, and WebAssembly functionalities. This file acts as a centralized access point for submodules and their main types or constants, facilitating modular usage and clear separation of concerns within the block production and verification domain.

Modules and Public Interfaces

Submodules

Re-exported Entities

Detailed Descriptions

BlockProducer (from single_block_producer)

TVMBlockProducer (from single_block_producer)

DEFAULT_VERIFY_COMPLEXITY (from single_block_producer)

BlockVerifier (from single_block_verifier)

TVMBlockVerifier (from single_block_verifier)

ProducerService (from producer_service)

builder Module

process Module

wasm Module

errors Module

execution_time Module

producer_stub Module (Test-only)

Interactions and Relationships

Mermaid Diagram: Module Structure and Relationships

flowchart TD
A[mod.rs] --> B[single_block_producer]
A --> C[single_block_verifier]
A --> D[builder]
A --> E[process]
A --> F[wasm]
A --> G[errors]
A --> H[execution_time]
A --> I[producer_service]
A --> J["producer_stub (test only)"]
B --> B1[BlockProducer]
B --> B2[TVMBlockProducer]
B --> B3[DEFAULT_VERIFY_COMPLEXITY]
C --> C1[BlockVerifier]
C --> C2[TVMBlockVerifier]
I --> I1[ProducerService]

This diagram illustrates the main module (mod.rs) at the top, branching out to its submodules. Key structs and constants are shown as child nodes of their respective modules, highlighting the re-exported entities made available at the top level. The producer_stub module is marked as test-only and supports testing workflows.