code: func (e *Envelope) Hash() common.Hash {
  	if (e.hash == common.Hash{}) {
  		encoded, _ := rlp.EncodeToBytes(e)
  		e.hash = crypto.Keccak256Hash(encoded)
  	}
  	return e.hash
  }
docs: // Hash returns the SHA3 hash of the envelope, calculating it if not yet done.