fetch account code in extcodehash to ensure account leaf appears in the witness

This commit is contained in:
Jared Wasinger 2023-12-06 19:56:16 +08:00
parent 168245aa7e
commit e06a4e0c5c

View file

@ -422,6 +422,7 @@ func opExtCodeHash(pc *uint64, interpreter *EVMInterpreter, scope *ScopeContext)
if interpreter.evm.StateDB.Empty(address) { if interpreter.evm.StateDB.Empty(address) {
slot.Clear() slot.Clear()
} else { } else {
_ = interpreter.evm.StateDB.GetCode(address) // ensure the account leaf is fetched and included in the witnessgi
interpreter.evm.StateDB.GetWitness().AddCodeHash(interpreter.evm.StateDB.GetCodeHash(address)) interpreter.evm.StateDB.GetWitness().AddCodeHash(interpreter.evm.StateDB.GetCodeHash(address))
slot.SetBytes(interpreter.evm.StateDB.GetCodeHash(address).Bytes()) slot.SetBytes(interpreter.evm.StateDB.GetCodeHash(address).Bytes())
} }