use crate::*;
#[event]
pub struct GovernorCreateEvent {
#[index]
pub governor: Pubkey,
pub electorate: Pubkey,
pub smart_wallet: Pubkey,
pub parameters: GovernanceParameters,
}
#[event]
pub struct ProposalCreateEvent {
#[index]
pub governor: Pubkey,
#[index]
pub proposal: Pubkey,
pub index: u64,
pub instructions: Vec<ProposalInstruction>,
}
#[event]
pub struct ProposalActivateEvent {
#[index]
pub governor: Pubkey,
#[index]
pub proposal: Pubkey,
pub voting_ends_at: i64,
}
#[event]
pub struct ProposalCancelEvent {
#[index]
pub governor: Pubkey,
#[index]
pub proposal: Pubkey,
}
#[event]
pub struct ProposalQueueEvent {
#[index]
pub governor: Pubkey,
#[index]
pub proposal: Pubkey,
#[index]
pub transaction: Pubkey,
}
#[event]
pub struct VoteSetEvent {
#[index]
pub governor: Pubkey,
#[index]
pub proposal: Pubkey,
#[index]
pub voter: Pubkey,
#[index]
pub vote: Pubkey,
#[index]
pub side: u8,
pub weight: u64,
}
#[event]
pub struct ProposalMetaCreateEvent {
#[index]
pub governor: Pubkey,
#[index]
pub proposal: Pubkey,
pub title: String,
pub description_link: String,
}
#[event]
pub struct GovernorSetParamsEvent {
#[index]
pub governor: Pubkey,
pub prev_params: GovernanceParameters,
pub params: GovernanceParameters,
}
#[event]
pub struct GovernorSetElectorateEvent {
#[index]
pub governor: Pubkey,
pub prev_electorate: Pubkey,
pub new_electorate: Pubkey,
}