You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
While calling the extcodehash on a concrete address (either eoa or contract), a concrete hash image would be expected. Instead, the returned value behave as a symbolic one.
To Reproduce
While running this code snippet as context, in a Counter example repo:
the following assertions produce these results: assert(firstHash == secondHash); fails assert(firstHash != secondHash); fails assert(firstHash == secondHash || firstHash != secondHash); passes
This same example can be reproduced with 2 EOA as well.
Environment:
OS: macOS
Python version: 3.10.4
Halmos and other dependency versions: 0.1.13
Additional context
This is relevant as extcodehash was used by OpenZeppelin isContract(address) in the Address lib (now removed, but some older repo still rely on it for, for instance, proxy implementation migration)
The text was updated successfully, but these errors were encountered:
Describe the bug
While calling the extcodehash on a concrete address (either eoa or contract), a concrete hash image would be expected. Instead, the returned value behave as a symbolic one.
To Reproduce
While running this code snippet as context, in a Counter example repo:
the following assertions produce these results:
assert(firstHash == secondHash);
failsassert(firstHash != secondHash);
failsassert(firstHash == secondHash || firstHash != secondHash);
passesThis same example can be reproduced with 2 EOA as well.
Environment:
Additional context
This is relevant as extcodehash was used by OpenZeppelin isContract(address) in the Address lib (now removed, but some older repo still rely on it for, for instance, proxy implementation migration)
The text was updated successfully, but these errors were encountered: