solidity/test/libsolidity/smtCheckerTests/blockchain_state/balance_receive_4.sol
2021-08-25 21:10:43 +02:00

22 lines
1.0 KiB
Solidity

contract C {
uint c;
function f() public payable {
require(msg.value > 10);
++c;
}
function inv() public view {
assert(address(this).balance >= c * 11); // should hold
assert(address(this).balance >= c * 12); // should fail
}
}
// ====
// SMTEngine: all
// ----
// Warning 4984: (82-85): CHC: Overflow (resulting value larger than 2**256 - 1) might happen here.
// Warning 4984: (154-160): CHC: Overflow (resulting value larger than 2**256 - 1) might happen here.
// Warning 4984: (212-218): CHC: Overflow (resulting value larger than 2**256 - 1) might happen here.
// Warning 6328: (180-219): CHC: Assertion violation happens here.\nCounterexample:\nc = 1\n\nTransaction trace:\nC.constructor()\nState: c = 0\nC.f(){ value: 11 }\nState: c = 1\nC.inv()
// Warning 2661: (82-85): BMC: Overflow (resulting value larger than 2**256 - 1) happens here.
// Warning 2661: (154-160): BMC: Overflow (resulting value larger than 2**256 - 1) happens here.
// Warning 2661: (212-218): BMC: Overflow (resulting value larger than 2**256 - 1) happens here.