carbon_boop_decoder/events/
operators_added_event.rs1use solana_pubkey::Pubkey;
3
4#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
5#[derive(Debug, Clone, borsh::BorshSerialize, borsh::BorshDeserialize, PartialEq)]
6pub struct OperatorsAddedEventEvent {
7 pub operators: Vec<Pubkey>,
8}
9
10impl OperatorsAddedEventEvent {
11 pub fn decode(data: &[u8]) -> Option<Self> {
12 if data.len() < 8 {
13 return None;
14 }
15 let discriminator = &data[0..8];
16 if discriminator != [247, 58, 112, 56, 203, 186, 112, 152] {
17 return None;
18 }
19
20 let mut data_slice = data;
21
22 data_slice = &data_slice[8..];
23
24 borsh::BorshDeserialize::deserialize(&mut data_slice).ok()
25 }
26}