pub trait SchemaEvent: borsh::BorshSerialize + borsh::BorshDeserialize + borsh::BorshSchema {
fn generate_schema(self) -> Vec<u8>;
fn data(&self) -> Vec<u8>;
}
pub trait SchemaEventAnchor: borsh::BorshSchema {
fn generate_schema(self) -> Vec<u8>;
}
pub trait Discriminator {
const DISCRIMINATOR: [u8; 8];
fn discriminator() -> [u8; 8] {
Self::DISCRIMINATOR
}
}