Аудит «Neuromachine Eternal»
Contract:NRM
Address Ethereum Mainnet:
0x000000085824F23a070c2474442ED014c0e46B58
Результат Аудита:
Критические уязвимости: 0
Ошибки способные привести к потере средств, а также проблемы нарушающие обязательный функционал
контрактов
Ошибки и проблемы: 0
Проблемы логики и функционала контрактов, не приводящие к потере средств.
Возможности оптимизации: 1
Возможности снизить стоимость транзакций и уменьшить количество строк кода.
Примечания и рекомендации: 1
Советы и рекомендации, а также ошибки, не влияющие на функционал смарт контракта.
Возможности оптимизации:
В коде наблюдается повторение строк кода при осуществляемом трансфере токенов (строки 110-112, 160-162, 221-224).
Можно сократить код если вынести данные строки в internal функцию _transfer и обращаться к ней из public функций.
На функционал данное примечание никак не влияет.
Пример:
function _transfer(address from, address to, uint256 value) internal { require(to != address(0)); _balances[from] = _balances[from].sub(value); _balances[to] = _balances[to].add(value); emit Transfer(from, to, value); } … _transfer(msg.sender, to, tokens); …
Примечания:
Известные проблемы стандарта ERC20: отсутствие механизма обработки трансферов и потенциальная возможность атаки двойной траты. (Подробнее)
Описание контракта:
Контракт представляет собой токен стандарта ERC20.
Название: «Neuromachine Eternal».
Сокращение: «NRM».
Количество знаков после запятой: 18.
Первоначальная эмиссия: 4 958 333 333 токенов.
Дальнейший довыпуск токенов невозможен.
Имплементирована функция сжигания токенов со своего адреса.
30% (1 487 499 999,9 токенов) замораживаются на адресе 0x0000000000000000000000000000000000000007 и доступны к выводу для владельца после 28 Jan 2020 00:00:00 GMT.
Также для владельца имплементирован следующий функции:
— Вывод любых ERC20 токенов с адреса Смарт-Контракта.
— Рассылка токенов группе адресов (не более 100) со своего кошелька.
— ApproveAndCall для взаимодействия со СмартКонтрактами. (Подробнее)
— Передача права владения (следующий владелец должен принять право для успешной передачи).
Заключение:
В контракте NRM не было обнаружено уязвимостей и бэкдоров, контракт соответствует всем стандартам и безопасен для использования в основной сети Ethereum.
Данный аудит не является призывом к участию в проекте и относится только к коду Смарт-Контракта на указанном адресе.
Если у вас остались вопросы или вас интересует разработка/аудит Смарт-Контрактов, свяжитесь с нами и мы проконсультируем вас по всем моментам.