def set_pinserver(self, urlA=None, urlB=None, pubkey=None, cert=None):
        """
        RPC call to explicitly set (override) the details of the blind pinserver used to
        authenticate the PIN entered on the Jade unit.
        This data is recorded in the hw flash, and returned to the caller when authenticating
        (in auth_user(), below).

        Parameters
        ----------
        urlA : str, optional
            The primary url of the pinserver to use.

        urlB : str, optional
            Any secondary url of the pinserver to use.

        pubkey : bytes, optional
            The public key used to verify pinserver signed payloads.

        cert : bytes, optional
            Any additional certificate required to verify the pinserver identity.

        Returns
        -------
        bool
            True on success.
        """
        params = {}
        if urlA is not None or urlB is not None:
            params['urlA'] = urlA
            params['urlB'] = urlB
        if pubkey is not None:
            params['pubkey'] = pubkey
        if cert is not None:
            params['certificate'] = cert
        return self._jadeRpc('update_pinserver', params)

        RPC call to explicitly set (override) the details of the blind pinserver used to
        authenticate the PIN entered on the Jade unit.
        This data is recorded in the hw flash, and returned to the caller when authenticating
        (in auth_user(), below).

        Parameters
        ----------
        urlA : str, optional
            The primary url of the pinserver to use.

        urlB : str, optional
            Any secondary url of the pinserver to use.

        pubkey : bytes, optional
            The public key used to verify pinserver signed payloads.

        cert : bytes, optional
            Any additional certificate required to verify the pinserver identity.

        Returns
        -------
        bool
            True on success.
        
electrum/plugins/jade/jadepy/jade.py