extern crate self as hpl_compression;
pub use borsh::{self, BorshDeserialize, BorshSerialize};
pub use hpl_attribute_event::event;
pub use solana_program::{
self, account_info::AccountInfo, entrypoint::ProgramResult, program::invoke, pubkey::Pubkey,
};
pub use spl_noop;
// #[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)]
// pub enum Event {
// OK,
// }
// impl Event {
// pub fn wrap<'info>(&self, noop_program: AccountInfo<'info>, program: Pubkey) -> ProgramResult {
// invoke(
// &spl_noop::instruction(
// vec![program.try_to_vec().unwrap(), self.try_to_vec().unwrap()].concat(),
// ),
// &[noop_program],
// )
// }
// }