ore_boost_api/state/reservation.rs
1use steel::*;
2
3use super::BoostAccount;
4
5/// Reservation tracks the current boost that a miner is allowed to use.
6#[repr(C)]
7#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
8pub struct Reservation {
9 /// The proof account associated with this reservation.
10 pub authority: Pubkey,
11
12 /// The boost this miner is allowed to use.
13 pub boost: Pubkey,
14
15 /// Random hash used to sample noise for the boost rotations.
16 pub noise: [u8; 32],
17
18 /// A timestamp to ensure only one rotation is executed per solution.
19 pub ts: i64,
20}
21
22account!(BoostAccount, Reservation);