node/ledger_effectful/
ledger_effectful_actions.rs

1use crate::ledger::{
2    read::{LedgerReadIdType, LedgerReadInitCallback, LedgerReadRequest},
3    write::LedgerWriteRequest,
4};
5use openmina_core::requests::RequestId;
6use redux::Callback;
7use serde::{Deserialize, Serialize};
8
9#[derive(Serialize, Deserialize, Debug, Clone)]
10pub enum LedgerEffectfulAction {
11    WriteInit {
12        request: LedgerWriteRequest,
13        on_init: Callback<LedgerWriteRequest>,
14    },
15    ReadInit {
16        request: LedgerReadRequest,
17        callback: LedgerReadInitCallback,
18        id: RequestId<LedgerReadIdType>,
19    },
20}
21
22impl redux::EnablingCondition<crate::State> for LedgerEffectfulAction {
23    fn is_enabled(&self, _state: &crate::State, _time: redux::Timestamp) -> bool {
24        true
25    }
26}