Merge pull request #17982 from holiman/polish_contantinople_extcodehash
core/vm: check empty in extcodehash
This commit is contained in:
		
						commit
						d0675e9d9c
					
				| @ -544,7 +544,12 @@ func opExtCodeCopy(pc *uint64, interpreter *EVMInterpreter, contract *Contract, | |||||||
| // this account should be regarded as a non-existent account and zero should be returned.
 | // this account should be regarded as a non-existent account and zero should be returned.
 | ||||||
| func opExtCodeHash(pc *uint64, interpreter *EVMInterpreter, contract *Contract, memory *Memory, stack *Stack) ([]byte, error) { | func opExtCodeHash(pc *uint64, interpreter *EVMInterpreter, contract *Contract, memory *Memory, stack *Stack) ([]byte, error) { | ||||||
| 	slot := stack.peek() | 	slot := stack.peek() | ||||||
| 	slot.SetBytes(interpreter.evm.StateDB.GetCodeHash(common.BigToAddress(slot)).Bytes()) | 	address := common.BigToAddress(slot) | ||||||
|  | 	if interpreter.evm.StateDB.Empty(address) { | ||||||
|  | 		slot.SetUint64(0) | ||||||
|  | 	} else { | ||||||
|  | 		slot.SetBytes(interpreter.evm.StateDB.GetCodeHash(address).Bytes()) | ||||||
|  | 	} | ||||||
| 	return nil, nil | 	return nil, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user