code: def on_view_change_complete(self):
          
  
          self.future_primaries_handler.set_node_state()
  
          if not self.replicas.all_instances_have_primary:
              raise LogicError(
                  "{} Not all replicas have "
                  "primaries: {}".format(self, self.replicas.primary_name_by_inst_id)
              )
  
          self._cancel(self._check_view_change_completed)
  
          for replica in self.replicas.values():
              replica.on_view_change_done()
          self.view_changer.last_completed_view_no = self.view_changer.view_no
          # Remove already ordered requests from requests list after view change
          # If view change happen when one half of nodes ordered on master
          # instance and backup but other only on master then we need to clear
          # requests list.  We do this to stop transactions ordering  on backup
          # replicas that have already been ordered on master.
          # Test for this case in plenum/test/view_change/
          # test_no_propagate_request_on_different_last_ordered_before_vc.py
          for replica in self.replicas.values():
              replica.clear_requests_and_fix_last_ordered()
          self.monitor.reset()
docs: View change completes for a replica when it has been decided which was
          the last ppSeqNo and state and txn root for previous view