bad-raffle-649 0.0.2

Standalone Raffle 649 Sysvar module for Badchain
Documentation
#![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,
}