node/ledger/
ledger_actions.rs1use 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}