2018-10-18 13:03:52 +00:00
|
|
|
pragma experimental SMTChecker;
|
|
|
|
|
|
|
|
contract C
|
|
|
|
{
|
2018-10-25 14:00:09 +00:00
|
|
|
function f(uint x) public payable {
|
|
|
|
assert(blockhash(x) > 0);
|
2018-10-18 13:03:52 +00:00
|
|
|
assert(blockhash(2) > 0);
|
2018-10-25 14:00:09 +00:00
|
|
|
uint y = x;
|
|
|
|
assert(blockhash(x) == blockhash(y));
|
2018-10-18 13:03:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
// ----
|
2021-01-21 18:04:34 +00:00
|
|
|
// Warning 6328: (85-109): CHC: Assertion violation happens here.\nCounterexample:\n\nx = 38\ny = 0\n\nTransaction trace:\nC.constructor()\nC.f(38){ value: 8365 }
|
|
|
|
// Warning 6328: (113-137): CHC: Assertion violation happens here.\nCounterexample:\n\nx = 38\ny = 0\n\nTransaction trace:\nC.constructor()\nC.f(38){ value: 32285 }
|