Iran vows to avenge Haniyeh's death