node/ledger/
ledger_actions.rs

1use serde::{Deserialize, Serialize};
2
3use super::{read::LedgerReadAction, write::LedgerWriteAction};
4
5pub type LedgerActionWithMetaRef<'a> = redux::ActionWithMeta<&'a LedgerAction>;
6
7#[derive(Serialize, Deserialize, derive_more::From, Debug, Clone)]
8pub enum LedgerAction {
9    Write(LedgerWriteAction),
10    Read(LedgerReadAction),
11}
12
13impl redux::EnablingCondition<crate::State> for LedgerAction {
14    fn is_enabled(&self, state: &crate::State, time: redux::Timestamp) -> bool {
15        match self {
16            LedgerAction::Write(action) => action.is_enabled(state, time),
17            LedgerAction::Read(action) => action.is_enabled(state, time),
18        }
19    }
20}