code: async def genKeys(self, schemaId: ID, p_prime=None, q_prime=None) -> (
              PublicKey, RevocationPublicKey):
          
          pk, sk = await self._primaryIssuer.genKeys(schemaId, p_prime, q_prime)
          pkR, skR = await self._nonRevocationIssuer.genRevocationKeys()
          pk = await self.wallet.submitPublicKeys(schemaId=schemaId, pk=pk,
                                                  pkR=pkR)
          pkR = await self.wallet.submitSecretKeys(schemaId=schemaId, sk=sk,
                                                   skR=skR)
          return pk, pkR
docs: Generates and submits keys (both public and secret, primary and
          non-revocation).
  
          :param schemaId: The schema ID (reference to claim
          definition schema)
          :param p_prime: optional p_prime parameter
          :param q_prime: optional q_prime parameter
          :return: Submitted Public keys (both primary and non-revocation)