code: async def reset_wallet(self) -> str:
          
  
          LOGGER.debug('HolderProver.reset_wallet >>>')
  
          self._assert_link_secret('reset_wallet')
  
          seed = self.wallet._seed
          wallet_name = self.wallet.name
          wallet_cfg = self.wallet.cfg
          wallet_xtype = self.wallet.xtype
          wallet_access_creds = self.wallet.access_creds
  
          await self.wallet.close()
          await self.wallet.remove()
          self.wallet = await Wallet(
              seed,
              wallet_name,
              wallet_xtype,
              wallet_cfg,
              wallet_access_creds).create()
          await self.wallet.open()
  
          await self.create_link_secret(self._link_secret)  # carry over link secret to new wallet
  
          rv = self.wallet.name
          LOGGER.debug('HolderProver.reset_wallet <<< %s', rv)
          return rv
docs: Close and delete HolderProver wallet, then create and open a replacement on prior link secret.
          Note that this operation effectively destroys private keys for credential definitions. Its
          intended use is primarily for testing and demonstration.
  
          Raise AbsentLinkSecret if link secret not set.
  
          :return: wallet name