code: def stop(self):
          
          if self.stop_event.ready():  # not started
              return
  
          # Needs to come before any greenlets joining
          self.stop_event.set()
  
          # Filters must be uninstalled after the alarm task has stopped. Since
          # the events are polled by an alarm task callback, if the filters are
          # uninstalled before the alarm task is fully stopped the callback
          # `poll_blockchain_events` will fail.
          #
          # We need a timeout to prevent an endless loop from trying to
          # contact the disconnected client
          self.transport.stop()
          self.alarm.stop()
  
          self.transport.join()
          self.alarm.join()
  
          self.blockchain_events.uninstall_all_event_listeners()
  
          # Close storage DB to release internal DB lock
          self.wal.storage.conn.close()
  
          if self.db_lock is not None:
              self.db_lock.release()
  
          log.debug('Raiden Service stopped', node=pex(self.address))
docs: Stop the node gracefully. Raise if any stop-time error occurred on any subtask