pub fn perp_place_order_v2(
    ctx: Context<'_, '_, '_, '_, PerpPlaceOrder<'_>>,
    side: Side,
    price_lots: i64,
    max_base_lots: i64,
    max_quote_lots: i64,
    client_order_id: u64,
    order_type: PlaceOrderType,
    self_trade_behavior: SelfTradeBehavior,
    reduce_only: bool,
    expiry_timestamp: u64,
    limit: u8
) -> Result<Option<u128>>