πWeb3 Security Research Trivia
Table of contents
β
ABI Encoding behaves differently in memory and calldata
β
ecrecover needs zero address check because of geth implementation instead of the precompile
β
Large uint casts to int -> overflow

β
Solidity' return is different from Yul's return
β
bytes is different from bytes32
β
return; is equivalent to STOP opcode
β
create2 precomputing address should consider constructor's input parameters
β
Huff __FUNC_SIG() is done during the compilation phase
β
msg.sender in forge script
β
SELFDESTRUCT deletes bytecode at the very end of tx
β
bytes32 pads 0's on the right


β
UDMV
β
vm.startPrank() can set both msg.sender and tx.origin

β
One way to silence linter on unused variable

β
msg.sender when calling external function using this keyword
this keywordβ
selfdestruct after Pectra update -> EIP-6780
Last updated
