diff --git a/core/types/transaction_marshalling.go b/core/types/transaction_marshalling.go index 1bbb97a3ec..e7033feb83 100644 --- a/core/types/transaction_marshalling.go +++ b/core/types/transaction_marshalling.go @@ -514,6 +514,11 @@ func (tx *Transaction) UnmarshalJSON(input []byte) error { // Now set the inner transaction. tx.setDecoded(inner, 0) - // TODO: check hash here? + if dec.Hash != (common.Hash{}) { + computedHash := tx.Hash() + if computedHash != dec.Hash { + return errors.New("transaction hash mismatch") + } + } return nil }