use steel::*;
#[repr(C)]
#[derive(Clone, Copy, Debug, Pod, Zeroable)]
pub struct Initialize {}
#[repr(C)]
#[derive(Clone, Copy, Debug, Pod, Zeroable)]
pub struct Deposit {
pub amount: [u8; 8],
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Pod, Zeroable)]
pub struct AdminInstantSettlement {
pub series_id: [u8; 2],
pub _pad_ix: [u8; 6],
pub period: [u8; 8],
}
#[repr(C)]
#[derive(Clone, Copy, Debug, Pod, Zeroable)]
pub struct AdminPayout {
pub amount: [u8; 8],
pub series_id: [u8; 2],
pub _pad_ix: [u8; 6],
pub period: [u8; 8],
}
use num_enum::TryFromPrimitive;
#[repr(u8)]
#[derive(Clone, Copy, Debug, Eq, PartialEq, TryFromPrimitive)]
pub enum StreakInstruction {
Initialize = 0,
Deposit = 1,
AdminInstantSettlement = 2,
AdminPayout = 3,
}
instruction!(StreakInstruction, Initialize);
instruction!(StreakInstruction, Deposit);
instruction!(StreakInstruction, AdminInstantSettlement);
instruction!(StreakInstruction, AdminPayout);