1use crate::{cdk::types::Cycles, dto::prelude::*};
2
3#[derive(CandidType, Deserialize)]
8pub struct CycleTrackerEntry {
9 pub timestamp_secs: u64,
10 pub cycles: Cycles,
11}
12
13#[derive(CandidType, Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
18#[remain::sorted]
19pub enum CycleTopupEventStatus {
20 RequestErr,
21 RequestOk,
22 RequestScheduled,
23}
24
25#[derive(CandidType, Deserialize)]
30pub struct CycleTopupEvent {
31 pub timestamp_secs: u64,
32 pub sequence: u32,
33 pub requested_cycles: Cycles,
34 pub transferred_cycles: Option<Cycles>,
35 pub status: CycleTopupEventStatus,
36 pub error: Option<String>,
37}