1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
use anchor_lang::{
prelude::*,
solana_program::{entrypoint::ProgramResult, instruction::Instruction, program::invoke},
};
use hpl_events::event;
#[event]
pub enum Event {
NewProject {
address: Pubkey,
state: Vec<u8>,
},
UpdateProject {
address: Pubkey,
state: Vec<u8>,
},
AddAddressContainerToProject {
project: Pubkey,
container: Pubkey,
state: Vec<u8>,
container_no: u8,
},
UpdateAddressContainer {
address: Pubkey,
state: Vec<u8>,
},
NewDelegateAuthority {
address: Pubkey,
state: Vec<u8>,
},
UpdateDelegateAuthority {
address: Pubkey,
state: Vec<u8>,
},
NewUser {
address: Pubkey,
state: Vec<u8>,
},
UpdateUser {
address: Pubkey,
state: Vec<u8>,
},
NewProfile {
address: Pubkey,
state: Vec<u8>,
},
UpdateProfile {
address: Pubkey,
state: Vec<u8>,
},
}
// impl Event {
// pub fn new_project(address: Pubkey, state: &Project, clock: &Clock) -> Self {
// Self::NewProject {
// address,
// state: state.try_to_vec().unwrap(),
// timestamp: clock.unix_timestamp,
// }
// }
// pub fn update_project(address: Pubkey, state: &Project, clock: &Clock) -> Self {
// Self::UpdateProject {
// address,
// state: state.try_to_vec().unwrap(),
// timestamp: clock.unix_timestamp,
// }
// }
// pub fn add_address_container_to_project(
// project: Pubkey,
// container: Pubkey,
// state: &AddressContainer,
// container_no: u8,
// clock: &Clock,
// ) -> Self {
// Self::AddAddressContainerToProject {
// project,
// container,
// state: state.try_to_vec().unwrap(),
// container_no,
// timestamp: clock.unix_timestamp,
// }
// }
// pub fn update_address_container(
// address: Pubkey,
// state: &AddressContainer,
// clock: &Clock,
// ) -> Self {
// Self::UpdateAddressContainer {
// address,
// state: state.try_to_vec().unwrap(),
// timestamp: clock.unix_timestamp,
// }
// }
// pub fn new_delegate_authority(
// address: Pubkey,
// state: &DelegateAuthority,
// clock: &Clock,
// ) -> Self {
// Self::NewDelegateAuthority {
// address,
// state: state.try_to_vec().unwrap(),
// timestamp: clock.unix_timestamp,
// }
// }
// pub fn update_delegate_authority(
// address: Pubkey,
// state: &DelegateAuthority,
// clock: &Clock,
// ) -> Self {
// Self::UpdateDelegateAuthority {
// address,
// state: state.try_to_vec().unwrap(),
// timestamp: clock.unix_timestamp,
// }
// }
// pub fn new_user(address: Pubkey, state: &User, clock: &Clock) -> Self {
// Self::NewUser {
// address,
// state: state.try_to_vec().unwrap(),
// timestamp: clock.unix_timestamp,
// }
// }
// pub fn update_user(address: Pubkey, state: &User, clock: &Clock) -> Self {
// Self::UpdateUser {
// address,
// state: state.try_to_vec().unwrap(),
// timestamp: clock.unix_timestamp,
// }
// }
// pub fn new_profile(address: Pubkey, state: &Profile, clock: &Clock) -> Self {
// Self::NewProfile {
// address,
// state: state.try_to_vec().unwrap(),
// timestamp: clock.unix_timestamp,
// }
// }
// pub fn update_profile(address: Pubkey, state: &Profile, clock: &Clock) -> Self {
// Self::UpdateProfile {
// address,
// state: state.try_to_vec().unwrap(),
// timestamp: clock.unix_timestamp,
// }
// }
// }