code: def exchange(self, pubkey):
          '''
          Perform a ECDH key exchange with a public key.
  
          Args:
              pubkey (PubKey): A PubKey to perform the ECDH with.
  
          Returns:
              bytes: The ECDH bytes. This is deterministic for a given pubkey
              and private key.
          '''
          try:
              return self.priv.exchange(c_ec.ECDH(), pubkey.publ)
          except ValueError as e:
              raise s_exc.BadEccExchange(mesg=str(e)f exchange(self, pubkey):
          '''
          Perform a ECDH key exchange with a public key.
  
          Args:
              pubkey (PubKey): A PubKey to perform the ECDH with.
  
          Returns:
              bytes: The ECDH bytes. This is deterministic for a given pubkey
              and private key.
          '''
          try:
              return self.priv.exchange(c_ec.ECDH(), pubkey.publ)
          except ValueError as e:
              raise s_exc.BadEccExchange(mesg=str(e))
docs: Perform a ECDH key exchange with a public key.
  
          Args:
              pubkey (PubKey): A PubKey to perform the ECDH with.
  
          Returns:
              bytes: The ECDH bytes. This is deterministic for a given pubkey
              and private key.