2019-04-11 16:14:48 +00:00
|
|
|
pragma experimental SMTChecker;
|
|
|
|
|
|
|
|
contract C
|
|
|
|
{
|
|
|
|
function f(uint x, address payable a, address payable b) public {
|
|
|
|
require(a != b);
|
|
|
|
require(x == 100);
|
|
|
|
require(x == a.balance);
|
|
|
|
require(a.balance == b.balance);
|
|
|
|
a.transfer(600);
|
|
|
|
b.transfer(100);
|
|
|
|
// Fails since a == this is possible.
|
|
|
|
assert(a.balance > b.balance);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// ----
|
2020-07-13 18:48:00 +00:00
|
|
|
// Warning 6328: (295-324): Assertion violation happens here
|
2020-06-19 00:26:46 +00:00
|
|
|
// Warning 1236: (217-232): Insufficient funds happens here
|
|
|
|
// Warning 1236: (236-251): Insufficient funds happens here
|