Comments 4
А для сложных типов, например, массивов, используется хеширование.
Тут нужно уточнить, что только для динамических массивов. Массивы с фиксированной длиной будут раполагаться в storage последовательно. Этот кейс был использован в контракте Doug Hoyte на Underhanded Solidity Contest: https://github.com/Arachnid/uscc/tree/master/submissions-2017/doughoyte
Кстати, а почему "S in Ethereum stands for Security"? Ethereum же не аббревиатура :)
Когда увидел картинку к статье
Скрытый текст
ZOMG, Is this a m***ucking Evangelion reference?
Кажется, компилятор версии <2.5 (или 2.2) не вставлял проверку выхода за границу массива и функцию
function modify(uint index, uint value) можно было вызвать с любыми параметрами.
function modify(uint index, uint value) можно было вызвать с любыми параметрами.
Sign up to leave a comment.
Attention! S in Ethereum stands for Security. Part 2. EVM features