    usdcBalances[usdc1] = 1000
    usdcBalances[usdc2] = 500
    asdUSDC total supply = 1500
    function withdraw(address _usdcVersion, uint256 _amount) external returns (uint256) {
        // check whitelist
>>      require(whitelistedUSDCVersions[_usdcVersion], "ASDUSDC: USDC version not whitelisted");
        // burn tokens
        _burn(msg.sender, _amount);
        // calculate amount to withdraw
        uint256 amountToWithdraw = _amount / (10 ** (this.decimals() - ERC20(_usdcVersion).decimals()));
        // check balance
        require(usdcBalances[_usdcVersion] >= amountToWithdraw, "ASDUSDC: Not enough USDC balance");
        // transfer USDC
        usdcBalances[_usdcVersion] -= amountToWithdraw;
        SafeERC20.safeTransfer(ERC20(_usdcVersion), msg.sender, amountToWithdraw);
        emit Withdrawal(_usdcVersion, amountToWithdraw);
        return amountToWithdraw;
    }
- require(whitelistedUSDCVersions[_usdcVersion], "ASDUSDC: USDC version not whitelisted");
