use crate::types::Field;
use crate::types::Target;
use carbon_core::borsh;
use solana_pubkey::Pubkey;
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Debug, Clone, borsh::BorshSerialize, borsh::BorshDeserialize, PartialEq, Eq, Hash)]
pub struct MakeEvent {
pub maker: Pubkey,
pub bid_id: Option<Pubkey>,
pub target: Target,
pub target_id: Pubkey,
pub field: Option<Field>,
pub field_id: Option<Pubkey>,
pub amount: u64,
pub quantity: u32,
pub currency: Option<Pubkey>,
pub expiry: i64,
pub private_taker: Option<Pubkey>,
pub asset_id: Option<Pubkey>,
}