1use anchor_lang::{prelude::*, solana_program::pubkey::PUBKEY_BYTES};
2
3#[account]
4#[derive(Copy, Debug, Default)]
5pub struct Electorate {
6 pub bump: u8,
8 pub base: Pubkey,
10 pub governor: Pubkey,
12 pub gov_token_mint: Pubkey,
14 pub proposal_threshold: u64,
16}
17
18impl Electorate {
19 pub const LEN: usize = 1 + PUBKEY_BYTES * 3 + 8;
20}
21
22#[account]
23#[derive(Copy, Debug, Default)]
24pub struct TokenRecord {
25 pub bump: u8,
27 pub authority: Pubkey,
29 pub electorate: Pubkey,
31 pub token_vault_key: Pubkey,
33 pub balance: u64,
35 pub unfinalized_votes: u64,
37}
38
39impl TokenRecord {
40 pub const LEN: usize = 1 + PUBKEY_BYTES * 3 + 8 + 8;
41}