solidity/test/libsolidity/semanticTests/payable/no_nonpayable_circumvention_by_modifier.sol
2021-04-28 16:19:05 +02:00

18 lines
403 B
Solidity

contract C {
modifier tryCircumvent {
if (false) _; // avoid the function, we should still not accept ether
}
function f() tryCircumvent public returns (uint) {
return msgvalue();
}
function msgvalue() internal returns (uint) {
return msg.value;
}
}
// ====
// compileViaYul: also
// compileToEwasm: also
// ----
// f(), 27 wei -> FAILURE
// balance -> 0