code: func (msg *ReceivedMessage) hash() []byte {
  	if isMessageSigned(msg.Raw[0]) {
  		sz := len(msg.Raw) - signatureLength
  		return crypto.Keccak256(msg.Raw[:sz])
  	}
  	return crypto.Keccak256(msg.Raw)
  }
docs: // hash calculates the SHA3 checksum of the message flags, payload size field, payload and padding.