code: func PackWithSignature(msg []byte, key *ecdsa.PrivateKey) ([]byte, error) {
  	sig, err := signature(key, msg)
  	if err != nil {
  		return nil, err
  	}
  
  	return packSignature(msg, sig), nil
  }
docs: // PackWithSignature packs message with signature.