coal_api/state/
proof_v2.rs1use bytemuck::{Pod, Zeroable};
2use solana_program::pubkey::Pubkey;
3
4
5use crate::utils::{impl_account_from_bytes, impl_to_bytes, Discriminator};
6
7
8use super::AccountDiscriminator;
9
10
11#[repr(C)]
12#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
13pub struct ProofV2 {
14 pub resource: Pubkey,
16
17 pub authority: Pubkey,
19
20 pub balance: u64,
22
23 pub challenge: [u8; 32],
25
26 pub last_hash: [u8; 32],
28
29 pub last_hash_at: i64,
31
32 pub last_stake_at: i64,
34
35 pub miner: Pubkey,
37
38 pub total_hashes: u64,
40
41 pub total_rewards: u64,
43
44 pub equipped_tool: Pubkey,
46}
47
48impl Discriminator for ProofV2 {
49 fn discriminator() -> u8 {
50 AccountDiscriminator::ProofV2.into()
51 }
52}
53
54impl_to_bytes!(ProofV2);
55impl_account_from_bytes!(ProofV2);