hard20 pts · first answer countssmart-contract-securityevm-fundamentals
msg.value inside a multicall
A payable deposit() credits balances[msg.sender] += msg.value. The contract also has the multicall below. What can an attacker do?
function multicall(bytes[] calldata calls) external payable {
for (uint256 i = 0; i < calls.length; i++) {
(bool ok, ) = address(this).delegatecall(calls[i]);
require(ok);
}
}