mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
ef6ff2f055
Deprecates `block.difficulty` and disallow `difficulty()` in inline assembly for EVM versions >= paris. The change is due to the renaming introduced by EIP-4399 (see: https://eips.ethereum.org/EIPS/eip-4399). Introduces `block.prevrandao` in Solidity and `prevrandao()` in inline assembly for EVM versions >= paris. Co-authored-by: Alex Beregszaszi <alex@rtfs.hu> Co-authored-by: Daniel <daniel@ekpyron.org> Co-authored-by: matheusaaguiar <95899911+matheusaaguiar@users.noreply.github.com> Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
23 lines
609 B
Solidity
23 lines
609 B
Solidity
contract C {
|
|
function f() public view returns (uint256 ret) {
|
|
assembly {
|
|
let difficulty := sload(0)
|
|
ret := difficulty
|
|
}
|
|
}
|
|
|
|
function g() public pure returns (uint256 ret) {
|
|
assembly {
|
|
function difficulty() -> r {
|
|
r := 1000
|
|
}
|
|
ret := difficulty()
|
|
}
|
|
}
|
|
}
|
|
// ====
|
|
// EVMVersion: >=paris
|
|
// ----
|
|
// DeclarationError 5017: (101-111): The identifier "difficulty" is reserved and can not be used.
|
|
// DeclarationError 5017: (255-323): The identifier "difficulty" is reserved and can not be used.
|