Аудит кода смарт контракта на токен сейл.

1. [КРИТИЧНЫЕ]
— не выявлено
2. [СЕРЬЕЗНЫЕ]
— не выявлено
3. [ПРЕДУПРЕЖДЕНИЯ]
— не выявлено
4. [ЗАМЕЧАНИЯ]
4.1. Классы из библиотеки openzeppelin-solidity не самой последней версии
Изменения в новых версиях:
— незначительные оптимизации библиотеки SafeMath
— изменена проверка баланса пользователя при отправке токенов — теперь при ошибочном указании неправильного баланса не сжигается весь газ транзакции4.2 Событие Transfer при создании токенов
Согласно стандарту при создании новых токенов следует вызывать метод Transfer с отправителем равным адресу 0x0
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md#transfer
> A token contract which creates new tokens SHOULD trigger a Transfer event with the _from address set to 0x0 when tokens are created.
4.3. Событие Transfer при сжигании токенов
По аналогии предыдущим пунктом в функции `burn` можно добавить вызов события Transfer с адресом назначения, равным address(0).В библиотеке openzeppelin-solidity сделано именно так: https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/token/ERC20/BurnableToken.sol#L43
4.4 Тип decimals
Согласно стандарту тип для `decimals` должен быть uint8: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md#decimals4.5 Запись больших чисел
Для наглядности и уменьшения риска ошибиться большие числа можно записывать так:
1925000000000000000000000000 = 1925000000 * 10**18
Как мы делаем.
Код контракта просматривается вручную на наличие известных уязвимостей, ошибок в логике, соответствие WhitePaper. При необходимости на сомнительные моменты пишутся юнит тесты.
Font différence amoureuse ordonnance péroné métatarse tarse. Cialis Generique Livraison Rapide Il y a une vente libre dans notre magasin. cialispascherfr24.com Le but principal du Générique Cialis est le traitement de la dysfonction érectile Dans ce cas le Viagra ne peut être remplacé.