    function approveSwap(address swapper) public onlyWhitelistAdmin {
        require(swapper != address(0), "approveSwap: invalid swapper address");
        uint256 balance = _oldToken.balanceOf(swapper);
        require(balance > 0, "approveSwap: the swapper token balance is zero");
        require(_infos[swapper].alreadyWhitelisted == false, "approveSwap: the user already swapped his tokens");
        _addWhitelisted(swapper);
        _infos[swapper] = SwapInfo({
            alreadyWhitelisted: true,
            availableTokens: balance,
            lastSwapTimestamp: 0
        });
        emit SwapApproved(swapper, balance);
    }