docs: def gen_txn_path(self, txn):
  
          """Return path to state as 'str' type or None"""
          txn_type = get_type(txn)
          if txn_type not in self.state_update_handlers:
              logger.error('Cannot generate id for txn of type {}'.format(txn_type))
              return None
  
          if txn_type == NYM:
              nym = get_payload_data(txn).get(TARGET_NYM)
              binary_digest = domain.make_state_path_for_nym(nym)
              return hexlify(binary_digest).decode()
          elif txn_type == ATTRIB:
              path = domain.prepare_attr_for_state(txn, path_only=True)
              return path.decode()
          elif txn_type == SCHEMA:
              path = domain.prepare_schema_for_state(txn, path_only=True)
              return path.decode()
          elif txn_type == CLAIM_DEF:
              path = domain.prepare_claim_def_for_state(txn, path_only=True)
              return path.decode()
          elif txn_type == REVOC_REG_DEF:
              path = domain.prepare_revoc_def_for_state(txn, path_only=True)
              return path.decode()
          elif txn_type == REVOC_REG_ENTRY:
              path = domain.prepare_revoc_reg_entry_for_state(txn, path_only=True)
              return path.decode()
  
          raise NotImplementedError("path construction is not implemented for type {}".format(txn_type))