Skip to main content

ore_api/state/
treasury.rs

1use serde::{Deserialize, Serialize};
2use steel::*;
3
4use super::OreAccount;
5
6/// Treasury is a singleton account which is the mint authority for the ORE token and the authority of
7/// the program's global token account.
8#[repr(C)]
9#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable, Serialize, Deserialize)]
10pub struct Treasury {
11    // The amount of SOL collected for buy-bury operations.
12    pub balance: u64,
13
14    /// Buffer a (placeholder)
15    pub buffer_a: u64,
16
17    /// The amount of ORE in the motherlode rewards pool.
18    pub motherlode: u64,
19
20    /// The cumulative ORE distributed to miners, divided by the total unclaimed ORE at the time of distribution.
21    pub miner_rewards_factor: Numeric,
22
23    /// The cumulative ORE distributed to stakers, divided by the total stake at the time of distribution.
24    #[deprecated(since = "3.8.0", note = "Staking has moved to ore-stake program")]
25    pub stake_rewards_factor: Numeric,
26
27    /// Buffer b (placeholder)
28    pub buffer_b: u64,
29
30    /// The current total amount of refined ORE mining rewards.
31    pub total_refined: u64,
32
33    /// The current total amount of ORE staking deposits.
34    #[deprecated(since = "3.8.0", note = "Staking has moved to ore-stake program")]
35    pub total_staked: u64,
36
37    /// The current total amount of unclaimed ORE mining rewards.
38    pub total_unclaimed: u64,
39}
40
41account!(OreAccount, Treasury);