Согласно анализу, проведенному командой безопасности Beosin, основной причиной атаки на проект JPEG была повторная атака, в результате которой потери составили не менее примерно 10 миллионов долларов США. Когда злоумышленник вызывает функцию remove_liquidity для удаления ликвидности, он добавляет ликвидность путем повторного ввода функции add_liquidity.Поскольку баланс обновляется до повторного входа в функцию add_liquidity, возникает ошибка при расчете цены.