use steel::*;
use super::{position_pda, StreakAccount};
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct Position {
pub authority: Pubkey,
pub period: u64,
pub stake: u64,
pub side: u8,
pub state: u8,
pub _pad: [u8; 6],
}
impl Position {
pub const STATE_PENDING: u8 = 0;
pub const STATE_CLAIMED_WIN: u8 = 1;
pub const STATE_FINALIZED_LOSS: u8 = 2;
pub fn pda(period: u64, authority: Pubkey) -> (Pubkey, u8) {
position_pda(period, authority)
}
}
account!(StreakAccount, Position);