|
|
@ -132,7 +132,7 @@ func (v *BlockValidator) ValidateState(block *types.Block, statedb *state.StateD |
|
|
|
if rbloom != header.Bloom { |
|
|
|
if rbloom != header.Bloom { |
|
|
|
return fmt.Errorf("invalid bloom (remote: %x local: %x)", header.Bloom, rbloom) |
|
|
|
return fmt.Errorf("invalid bloom (remote: %x local: %x)", header.Bloom, rbloom) |
|
|
|
} |
|
|
|
} |
|
|
|
// Tre receipt Trie's root (R = (Tr [[H1, R1], ... [Hn, Rn]]))
|
|
|
|
// The receipt Trie's root (R = (Tr [[H1, R1], ... [Hn, Rn]]))
|
|
|
|
receiptSha := types.DeriveSha(receipts, trie.NewStackTrie(nil)) |
|
|
|
receiptSha := types.DeriveSha(receipts, trie.NewStackTrie(nil)) |
|
|
|
if receiptSha != header.ReceiptHash { |
|
|
|
if receiptSha != header.ReceiptHash { |
|
|
|
return fmt.Errorf("invalid receipt root hash (remote: %x local: %x)", header.ReceiptHash, receiptSha) |
|
|
|
return fmt.Errorf("invalid receipt root hash (remote: %x local: %x)", header.ReceiptHash, receiptSha) |
|
|
|