code: func (txEnv *Envelope) Validate() error {
  	if txEnv.Tx == nil {
  		return fmt.Errorf("transaction envelope contains no (successfully unmarshalled) transaction")
  	}
  	if len(txEnv.Signatories) == 0 {
  		return fmt.Errorf("transaction envelope contains no (successfully unmarshalled) signatories")
  	}
  	for i, sig := range txEnv.Signatories {
  		err := sig.Validate()
  		if err != nil {
  			return fmt.Errorf("Signatory %v is invalid: %v", i, err)
  		}
  	}
  	return nil
  }
docs: // Returns an error if Envelope has a nil transaction or zero signatures (and therefore could not possibly be valid)