1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Copyright (c) 2023 MASSA LABS <info@massa.net>

use crate::types::SlotExecutionOutput;

#[cfg(feature = "execution-trace")]
use crate::types_trace_info::SlotAbiCallStack;

/// channels used by the execution worker
#[derive(Clone)]
pub struct ExecutionChannels {
    /// Broadcast channel for new slot execution outputs
    pub slot_execution_output_sender: tokio::sync::broadcast::Sender<SlotExecutionOutput>,
    #[cfg(feature = "execution-trace")]
    /// Broadcast channel for execution traces (abi call stacks, boolean true if the slot is finalized, false otherwise)
    pub slot_execution_traces_sender: tokio::sync::broadcast::Sender<(SlotAbiCallStack, bool)>,
}