code: def addNewRole(self, txn):
          
          # If the client authenticator is a simple authenticator then add verkey.
          #  For a custom authenticator, handle appropriately.
          # NOTE: The following code should not be used in production
          if isinstance(self.clientAuthNr.core_authenticator, SimpleAuthNr):
              txn_data = get_payload_data(txn)
              identifier = txn_data[TARGET_NYM]
              verkey = txn_data.get(VERKEY)
              v = DidVerifier(verkey, identifier=identifier)
              if identifier not in self.clientAuthNr.core_authenticator.clients:
                  role = txn_data.get(ROLE)
                  if role not in (STEWARD, TRUSTEE, None):
                      logger.debug("Role if present must be {} and not {}".
                                   format(Roles.STEWARD.name, role))
                      return
                  self.clientAuthNr.core_authenticator.addIdr(identifier,
                                                              verkey=v.verkey,
                                                              role=role)
docs: Adds a new client or steward to this node based on transaction type.