Какой смысл проверять msg.sender ≠ 0?Есть ли случаи, когда msg.sender может быть нулевым? - PullRequest
0 голосов
/ 07 июня 2018

В контракте Tronix (большой ICO, перечисленный на многих биржах) лежит этот модификатор, который используется для всех передач токенов:

modifier validAddress {
    assert(0x0 != msg.sender);
    _;
}

Я понимаю, как контракт может писать напрямуюв регистр, что передача токена осуществляется с 0x0000000000000000000000000000000000000000, но в этом случае сообщение все еще привязано к существующему контракту или закрытому ключу.
Что это значит?Как msg.sender может быть равно 0 в добытой транзакции?(исключая гипотетический случай, когда обнаружено столкновение хеша keccak256)

Полный код контракта Tronix можно найти здесь: https://etherscan.io/address/0xf230b790e05390fc8295f4d3f60332c93bed42e2#code

...