use crate::state::{Namespace, ReactionType};
use anchor_lang::prelude::*;
#[event]
pub struct UserNew {
pub user: Pubkey,
pub random_hash: [u8; 32],
pub authority: Pubkey,
pub timestamp: i64,
}
#[event]
pub struct UserAuthorityChanged {
pub user: Pubkey,
pub new_authority: Pubkey,
pub old_authority: Pubkey,
pub timestamp: i64,
}
#[event]
pub struct UserDeleted {
pub user: Pubkey,
pub authority: Pubkey,
pub timestamp: i64,
}
#[event]
pub struct ProfileNew {
pub profile: Pubkey,
pub user: Pubkey,
pub namespace: Namespace,
pub timestamp: i64,
}
#[event]
pub struct ProfileDeleted {
pub profile: Pubkey,
pub user: Pubkey,
pub namespace: Namespace,
pub timestamp: i64,
}
#[event]
pub struct PostNew {
pub post: Pubkey,
pub profile: Pubkey,
pub user: Pubkey,
pub random_hash: [u8; 32],
pub metadata_uri: String,
pub timestamp: i64,
}
#[event]
pub struct PostUpdated {
pub post: Pubkey,
pub profile: Pubkey,
pub user: Pubkey,
pub metadata_uri: String,
pub timestamp: i64,
}
#[event]
pub struct PostDeleted {
pub post: Pubkey,
pub profile: Pubkey,
pub user: Pubkey,
pub timestamp: i64,
}
#[event]
pub struct PostCommentNew {
pub post: Pubkey,
pub profile: Pubkey,
pub user: Pubkey,
pub random_hash: [u8; 32],
pub metadata_uri: String,
pub reply_to: Pubkey,
pub timestamp: i64,
}
#[event]
pub struct ConnectionNew {
pub connection: Pubkey,
pub user: Pubkey,
pub from_profile: Pubkey,
pub to_profile: Pubkey,
pub timestamp: i64,
}
#[event]
pub struct ConnectionDeleted {
pub connection: Pubkey,
pub user: Pubkey,
pub from_profile: Pubkey,
pub to_profile: Pubkey,
pub timestamp: i64,
}
#[event]
pub struct ReactionNew {
pub reaction: Pubkey,
pub reaction_type: ReactionType,
pub user: Pubkey,
pub from_profile: Pubkey,
pub to_post: Pubkey,
pub timestamp: i64,
}
#[event]
pub struct ReactionDeleted {
pub reaction: Pubkey,
pub reaction_type: ReactionType,
pub user: Pubkey,
pub from_profile: Pubkey,
pub to_post: Pubkey,
pub timestamp: i64,
}
#[event]
pub struct ProfileMetadataNew {
pub profile_metadata: Pubkey,
pub profile: Pubkey,
pub user: Pubkey,
pub metadata_uri: String,
pub timestamp: i64,
}
#[event]
pub struct ProfileMetadataUpdated {
pub profile_metadata: Pubkey,
pub profile: Pubkey,
pub user: Pubkey,
pub metadata_uri: String,
pub timestamp: i64,
}
#[event]
pub struct ProfileMetadataDeleted {
pub profile_metadata: Pubkey,
pub profile: Pubkey,
pub user: Pubkey,
pub timestamp: i64,
}