Комментарии 26
На днях kickico выпустили обновленную версию токена, в которой, кроме прочего, был исправлен эпик критикал баг, который не увидел ни я до ICO, ни сторонние аудиторы.
Есть детали?
Метод специально разрешено вызывать всем, чтобы любой мог начислить дивиденды, если владелец вдруг решит не начислять.
Обновляется currentDividendIndex и при следующем вызове будут начисляться уже следующие по очереди дивиденды.
Safeadd добавлен в новой версии, но баг не в этом
И да, каждый transfer считает текущие дивиденды для отправителя и получателя.
>можно завести на биржу, поторговать, вернуть, начислилить дивиденты и назад на биржу
Как уже сказал при переводе считаются за счет переводящего
если вызвать функцию еще раз, то дивиденды начислятся еще раз.Мне казалось, что функция начисления дивидендов — одна из базовых и ошибку при работе с ней легко мог найти тестировщик. Или у них нет тестировщика? Они же всё таки по-сути банковское ПО пишут. Странно просить аудиторов проверять на наличие элементарных багов. Обычная схема:
написание кода -> автотесты -> ревью -> тестирование -> аудирование, а здесь:
написание кода -> аудированиеИли там всё гораздо лучше, а это просто я не разобрался? У них на сайте в разделе «команда» нашёл только разработчиков.
В функции accountBalance
небезопасно вычитается agingBalanceOf[_address][0]
из balances[_address]
. Если в какой-то момент agingBalanceOf[_address][0]
станет больше balances[_address]
, произойдет переполнение и balances[_address]
станет близким к 2**256.
По коду видно, что agingBalanceOf не может быть больше основного баланса.
Хоть в новом версии и добавили везде safemath, но эпик ошибка не связана с переполнением.
Тогда предположу, что функция transfer перестанет работать после 30.09.2019 09:00:00, так как в dividends не будет 25го элемента.
Бинго!
Напишите ваш адрес кошелька в эфире, вам перешлют 500 kick.
Лучше здесь, в комментариях. Чтобы было все прозрачно :) Можете для этого новый кошелек создать
Спасибо!
0x3dA04a48CF4647c1916A9C9b1cB87D83A5118dA7
Добавили в общую таблицу на выплату баунти. В раздел code audit.
Выплаты ожидаются на следующей неделе. https://docs.google.com/spreadsheets/d/1KaRoVNYeNcKky_fy8lGTf_Idh-P8BloPOpQFT3lAUoQ/htmlview#
https://etherscan.io/address/0x3dA04a48CF4647c1916A9C9b1cB87D83A5118dA7
Разослали. Тк это переводили из фонда для bounty, токены заморожены на счете до 26 ноября
механизм обновления кода без смены адреса
Идея "код это закон" полностью провалилась. Вряд ли кому интересен закон, который можно поменять вечером в пятницу и который сразу вступает в силу.
Но как механизм автоматизации — удобно. Выплаты по расписанию и все такое.
Метод специально разрешено вызывать всем, чтобы любой мог начислить дивиденды, если владелец вдруг решит не начислять.если владелец вдруг захочет всех кинуть, то он просто сделает update кода. Либо обновит код, но допустит в нём труднозаметную ошибку, и сам же ей воспользуется, и никто не докажет, что это он всё украл
Как я искал (и нашел!) баги в смартконтракте проекта kickico