solidity/test/libsolidity/smtCheckerTests/blockchain_state/balance_receive_4.sol

24 lines
1.2 KiB
Solidity
Raw Normal View History

2021-08-20 16:47:38 +00:00
contract C {
uint c;
function f() public payable {
require(msg.value > 10);
++c;
}
function inv() public view {
2021-08-23 09:30:12 +00:00
assert(address(this).balance >= c * 11); // should hold
2021-08-20 16:47:38 +00:00
assert(address(this).balance >= c * 12); // should fail
}
}
// ====
// SMTEngine: all
2021-11-24 10:38:22 +00:00
// SMTIgnoreOS: macos
2021-08-20 16:47:38 +00:00
// ----
// 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.
2021-11-23 17:08:36 +00:00
// Warning 6328: (180-219): CHC: Assertion violation happens here.\nCounterexample:\nc = 1\n\nTransaction trace:\nC.constructor()\nState: c = 0\nC.f(){ msg.value: 11 }\nState: c = 1\nC.inv()
2021-10-06 09:53:03 +00:00
// Info 1180: Contract invariant(s) for :C:\n(((11 * c) + ((- 1) * (:var 1).balances[address(this)])) <= 0)\n
2021-08-20 16:47:38 +00:00
// 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.