1use serde::{Deserialize, Serialize};
2use steel::*;
3
4use crate::state::{board_pda, OreAccountOLD};
5
6use super::OreAccount;
7
8#[repr(C)]
9#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable, Serialize, Deserialize)]
10pub struct Board {
11 pub round_id: u64,
13
14 pub start_slot: u64,
16
17 pub end_slot: u64,
19
20 pub epoch_id: u64,
22}
23
24#[repr(C)]
25#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable, Serialize, Deserialize)]
26pub struct BoardOLD {
27 pub round_id: u64,
29
30 pub start_slot: u64,
32
33 pub end_slot: u64,
35}
36
37impl Board {
38 pub fn pda(&self) -> (Pubkey, u8) {
39 board_pda()
40 }
41}
42
43account!(OreAccount, Board);
44account!(OreAccountOLD, BoardOLD);