|
|
@ -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 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|