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}