mirror of
https://github.com/d0zingcat/ore.git
synced 2026-05-14 07:26:51 +00:00
36 lines
773 B
Rust
36 lines
773 B
Rust
use steel::*;
|
|
|
|
use crate::state::miner_pda;
|
|
|
|
use super::OreAccount;
|
|
|
|
#[repr(C)]
|
|
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
|
|
pub struct Miner {
|
|
/// The authority of this miner account.
|
|
pub authority: Pubkey,
|
|
|
|
/// The ID of the last block this miner mined in.
|
|
pub block_id: u64,
|
|
|
|
/// The hash of the last block this miner mined in.
|
|
pub hash: [u8; 32],
|
|
|
|
/// The total number of hashes this miner has submitted.
|
|
pub total_hashes: u64,
|
|
|
|
/// The amount of ORE this miner has mined.
|
|
pub total_rewards: u64,
|
|
|
|
/// The number of winning hashes this miner has submitted.
|
|
pub winning_hashes: u64,
|
|
}
|
|
|
|
impl Miner {
|
|
pub fn pda(&self) -> (Pubkey, u8) {
|
|
miner_pda(self.authority)
|
|
}
|
|
}
|
|
|
|
account!(OreAccount, Miner);
|