mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	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>
		
			
				
	
	
		
			22 lines
		
	
	
		
			511 B
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			511 B
		
	
	
	
		
			Solidity
		
	
	
	
	
	
| contract C {
 | |
|     function f() public view returns (uint256 ret) {
 | |
|         assembly {
 | |
|             let prevrandao := sload(0)
 | |
|             ret := prevrandao
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     function g() public pure returns (uint256 ret) {
 | |
|         assembly {
 | |
|             function prevrandao() -> r {
 | |
|                 r := 1000
 | |
|             }
 | |
|             ret := prevrandao()
 | |
|         }
 | |
|     }
 | |
| }
 | |
| // ====
 | |
| // EVMVersion: >=paris
 | |
| // ----
 | |
| // ParserError 5568: (101-111): Cannot use builtin function name "prevrandao" as identifier name.
 |