async def reset_wallet(self, seed: str = None) -> Wallet:
        """
        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. Raise WalletState if the wallet is closed.

        :param seed: seed to use for new wallet (default random)
        :return: replacement wallet
        """

        LOGGER.debug('HolderProver.reset_wallet >>>')

        self.wallet = await WalletManager().reset(self.wallet, seed)

        rv = self.wallet
        LOGGER.debug('HolderProver.reset_wallet <<< %s', rv)
        return rv