ore_boost_api/state/
boost.rs

1use steel::*;
2
3use super::BoostAccount;
4
5/// Boost tracks the priority, deposits, and rewards of a staking incentive.
6#[repr(C)]
7#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
8pub struct Boost {
9    /// The unix timestamp this boost expires.
10    pub expires_at: i64,
11
12    /// The mint address of the token associated with this boost.
13    pub mint: Pubkey,
14
15    /// The rewards multiplier (priority) associated with this boost.
16    pub multiplier: u64,
17
18    /// The cumulative rewards collected by this boost, divided by the total deposits at the time of collection.
19    pub rewards_factor: Numeric,
20
21    /// The total amount of stake deposited in this boost.
22    pub total_deposits: u64,
23
24    /// The number of stakers in this boost.
25    pub total_stakers: u64,
26
27    /// A protocol fee charged for withdrawing from this boost (in basis points).
28    pub withdraw_fee: u64,
29}
30
31account!(BoostAccount, Boost);