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
Kontrol uses the symbolic variable TIMESTAMP_CELL to represent the value block.timestamp in Solidity, but it doesn't introduce range constraints for this variable (0 <=Int TIMESTAMP_CELL and TIMESTAMP_CELL <Int pow256). This means, for example, that the following test will fail in Kontrol:
function testTimestamp() public {
assertLe(block.timestamp, type(uint256).max);
}
It will also prevent expressions that use TIMESTAMP_CELL from simplifying. For example, #asWord ( #range ( #padToWidth ( 32 , #asByteStack ( TIMESTAMP_CELL:Int ) ) , 0 , 32 ) ) should simplify to just TIMESTAMP_CELL, but only if its range is constrained.
The text was updated successfully, but these errors were encountered:
Kontrol uses the symbolic variable
TIMESTAMP_CELL
to represent the valueblock.timestamp
in Solidity, but it doesn't introduce range constraints for this variable (0 <=Int TIMESTAMP_CELL
andTIMESTAMP_CELL <Int pow256
). This means, for example, that the following test will fail in Kontrol:It will also prevent expressions that use
TIMESTAMP_CELL
from simplifying. For example,#asWord ( #range ( #padToWidth ( 32 , #asByteStack ( TIMESTAMP_CELL:Int ) ) , 0 , 32 ) )
should simplify to justTIMESTAMP_CELL
, but only if its range is constrained.The text was updated successfully, but these errors were encountered: