massa_models/
execution.rs

1// Copyright (c) 2022 MASSA LABS <info@massa.net>
2
3use crate::{address::Address, operation::OperationId, slot::Slot};
4use serde::{Deserialize, Serialize};
5
6/// filter used when retrieving SC output events
7#[derive(Default, Debug, Deserialize, Clone, Serialize)]
8pub struct EventFilter {
9    /// optional start slot
10    pub start: Option<Slot>,
11    /// optional end slot
12    pub end: Option<Slot>,
13    /// optional emitter address
14    pub emitter_address: Option<Address>,
15    /// optional caller address
16    pub original_caller_address: Option<Address>,
17    /// optional operation id
18    pub original_operation_id: Option<OperationId>,
19    /// optional event status
20    ///
21    /// Some(true) means final
22    /// Some(false) means candidate
23    /// None means final _and_ candidate
24    pub is_final: Option<bool>,
25    /// optional execution status
26    ///
27    /// Some(true) means events coming from a failed sc execution
28    /// Some(false) means events coming from a succeeded sc execution
29    /// None means both
30    pub is_error: Option<bool>,
31}