if (...) {
FishingAttempt storage newAttempt = pendingFishing[randomHashes[hashesUsed]];
break;
}
...;
}
newAttempt.fisher = msg.sender;
Вне цикла происходит обращение к локальной переменной newAttempt, которая объявлена внутри цикла.
Это вообще законно?
При объявлении переменной используется ключевое слово storage, которое кладет переменную не на стек, а в storage контракта Переменные из хранилища, очевидно, доступны где угодно :)
Обсуждают сегодня