Skip to content

Commit

Permalink
core: do not hash header if header is still changing
Browse files Browse the repository at this point in the history
  • Loading branch information
protolambda committed Jan 12, 2025
1 parent 58aed22 commit e680441
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion core/state_processor.go
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,11 @@ func ApplyTransactionExtended(config *params.ChainConfig, bc ChainContext, autho
blockContext := NewEVMBlockContext(header, bc, author, config, statedb)
txContext := NewEVMTxContext(msg)
vmenv := vm.NewEVM(blockContext, txContext, statedb, config, cfg)
return ApplyTransactionWithEVM(msg, config, gp, statedb, header.Number, header.Hash(), tx, usedGas, vmenv)
blockHash := common.Hash{}
if header.Root != (common.Hash{}) { // if the header is sealed, then hydrate the receipt with it. If not, then blockhash is still changing, not worth computing.
blockHash = header.Hash()
}
return ApplyTransactionWithEVM(msg, config, gp, statedb, header.Number, blockHash, tx, usedGas, vmenv)
}

// ProcessBeaconBlockRoot applies the EIP-4788 system call to the beacon block root
Expand Down

0 comments on commit e680441

Please sign in to comment.