hotshot_task_impls/lib.rs
1// Copyright (c) 2021-2024 Espresso Systems (espressosys.com)
2// This file is part of the HotShot repository.
3
4// You should have received a copy of the MIT License
5// along with the HotShot repository. If not, see <https://mit-license.org/>.
6
7//! The consensus layer for hotshot. This currently implements sequencing
8//! consensus in an event driven way
9
10/// The task which implements the core state logic of consensus.
11pub mod consensus;
12
13/// The task which handles the logic for the quorum vote.
14pub mod quorum_vote;
15
16/// The task which implements the main parts of data availability.
17pub mod da;
18
19/// The task which implements all transaction handling
20pub mod transactions;
21
22/// Defines the events passed between tasks
23pub mod events;
24
25/// The task which implements the network.
26pub mod network;
27
28/// Defines the types to run unit tests for a task.
29pub mod harness;
30
31/// The task which implements view synchronization
32pub mod view_sync;
33
34/// The task which implements verifiable information dispersal
35pub mod vid;
36
37/// Generic task for collecting votes
38pub mod vote_collection;
39
40/// Task for handling upgrades
41pub mod upgrade;
42
43/// Implementations for builder client
44/// Should contain builder task in the future
45pub mod builder;
46
47/// Helper functions used by any task
48pub mod helpers;
49
50/// Task which responses to requests from the network
51pub mod response;
52
53/// Task for requesting the network for things
54pub mod request;
55
56/// Task for handling logic for quorum proposals
57pub mod quorum_proposal;
58
59/// Task for handling QuorumProposalRecv events
60pub mod quorum_proposal_recv;
61
62/// Task for storing and replaying all received tasks by a node
63pub mod rewind;