DG
mload(add(array, index))
, то есть загружаем слот по адресу, который есть сумма array + index, где array = msg.data,
index = msg.data.length
Size: a a a
DG
mload(add(array, index))
, то есть загружаем слот по адресу, который есть сумма array + index, где DG
MD
DG
abi.encodePacked(functionSignature, userAddress)
по второй ссылке, создает такой массив в msg.data
, длинна которого = длинна только functionSignature
. Но о таком извращении даже думать не хочетсяDG
_data
прибавляют 1 слот (20 байт), что бы обойти длинну массива (длинна хранится в первом слоте)MD
DG
i
на 20 (длинна слота в байнах)DG
MD
MM
DG
MD
DG
MM
DG
DG
N
N
DG