Skip to content
RED SAGSkills
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);
    }
}
Choose one answer