#![no_std]
#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
pub mod sysvar;
pub type RoundId = u64;
pub type DrawSlot = u64;
pub type PreviousRewardPool = u64;
pub type WinningNumber = [u8; 6];
pub type BonusNumber = u8;
pub type Entropy = [u8; 32];
pub type TotalRewardPool = u64;
pub type WinnerCounts = [u32; 6];
pub type TierRatios = [u16; 6];
#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub struct PreviousRaffle {
pub round: RoundId,
pub draw_slot: DrawSlot,
pub winning_numbers: WinningNumber,
pub total_reward_pool: TotalRewardPool,
pub tier_ratios: TierRatios,
pub previous_reward_pool: PreviousRewardPool,
}
#[repr(C)]
#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
pub struct Raffle {
pub current_round: RoundId,
pub draw_slot: DrawSlot,
pub winning_numbers: WinningNumber,
pub total_reward_pool: TotalRewardPool,
pub tier_ratios: TierRatios,
pub previous_reward_pool: PreviousRewardPool,
pub previous_raffle: PreviousRaffle,
}