code: async def close(self) -> None:
          
  
          LOGGER.debug('HolderProver.close >>>')
  
          if self.cfg.get('archive-cache-on-close', False):
              await self.load_cache(True)
              Caches.purge_archives(self.dir_cache, True)
  
          await super().close()
          for path_rr_id in Tails.links(self._dir_tails):
              rr_id = basename(path_rr_id)
              try:
                  await self._sync_revoc(rr_id)
              except ClosedPool:
                  LOGGER.warning('HolderProver sync-revoc on close required ledger for %s but pool was closed', rr_id)
  
          LOGGER.debug('HolderProver.close <<<')
docs: Explicit exit. If so configured, populate cache to prove all creds in
          wallet offline if need be, archive cache, and purge prior cache archives.
  
          :return: current object