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>
19 lines
311 B
Solidity
19 lines
311 B
Solidity
// SPDX-License-Identifier: GPL-3.0
|
|
pragma solidity >=0.0.0;
|
|
|
|
contract C {
|
|
constructor() payable {
|
|
uint256 x = block.prevrandao;
|
|
assembly {
|
|
sstore(0, x)
|
|
stop()
|
|
}
|
|
}
|
|
|
|
fallback() external payable {
|
|
assembly {
|
|
stop()
|
|
}
|
|
}
|
|
}
|