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
		
	
	
		
			510 B
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			510 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
 | 
						|
// ----
 | 
						|
// ParserError 5568: (101-111): Cannot use builtin function name "difficulty" as identifier name.
 |