code: func AgentSeal(msg, clientPub []byte, agentKey *ecdsa.PrivateKey) ([]byte, error) {
  	pubKey, err := ethcrypto.UnmarshalPubkey(clientPub)
  	if err != nil {
  		return nil, err
  	}
  
  	pub := ecies.ImportECDSAPublic(pubKey)
  	msgEncrypted, err := ecies.Encrypt(rand.Reader, pub, msg, nil, nil)
  	if err != nil {
  		return nil, err
  	}
  
  	return PackWithSignature(msgEncrypted, agentKey)
  }
docs: // AgentSeal encrypts message using client's public key and packs with
  // agent signature.