solidity/test/libsolidity/smtCheckerTests/types/address_transfer_2.sol

20 lines
520 B
Solidity
Raw Normal View History

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);
}
}
// ----
// Warning 1236: (217-232): Insufficient funds happens here
// Warning 1236: (236-251): Insufficient funds happens here
// Warning 4661: (295-324): Assertion violation happens here