use steel::*;
use super::{position_pda, StreakAccount};
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct Position {
pub authority: Pubkey,
pub series_id: u16,
pub _pad_series: [u8; 6],
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 const STATE_COMMITTED_PREOPEN: u8 = 3;
pub const STATE_COMMIT_REFUNDED: u8 = 4;
pub fn pda(series_id: u16, period: u64, authority: Pubkey) -> (Pubkey, u8) {
position_pda(series_id, period, authority)
}
}
account!(StreakAccount, Position);