Внимание на decimals в аудитах
Короткий пост для привлечения внимания разработчиков и аудиторов к проблеме decimals в Solidity и расчетах.
Очень и очень часто встречаются ошибки, в которых разработчики учитывали только 18 (WETH) или 6 (USDT) decimals в токенах. При этом их количество в разных токенах варьируется от 1 до 20 (максимальный, который я встречал), но, вполне вероятно, что может быть и больше.
Поэтому, если вы не ограничиваете работу своего смарт контракта whitelist токенами с конкретным значением decimals, то следует учитывать и другие варианты.
Вот один из примеров такого бага в контракте.
#decimals #audit
Post #617
307