solidity/test/libsolidity/semanticTests/state/blockhash_basic.sol

25 lines
787 B
Solidity
Raw Normal View History

contract C {
bytes32 public genesisHash;
bytes32 public currentHash;
constructor() {
require(block.number == 1);
genesisHash = blockhash(0);
currentHash = blockhash(1);
}
function f(uint blockNumber) public returns (bytes32) {
return blockhash(blockNumber);
}
}
// ----
// constructor()
2022-05-23 10:54:18 +00:00
// gas irOptimized: 110504
2021-11-15 15:19:33 +00:00
// gas legacy: 155081
// gas legacyOptimized: 107997
// genesisHash() -> 0x3737373737373737373737373737373737373737373737373737373737373737
// currentHash() -> 0
// f(uint256): 0 -> 0x3737373737373737373737373737373737373737373737373737373737373737
// f(uint256): 1 -> 0x3737373737373737373737373737373737373737373737373737373737373738
// f(uint256): 255 -> 0x00
// f(uint256): 256 -> 0x00
// f(uint256): 257 -> 0x00