interface IAaveAToken {

    /**
     * @notice Non-standard ERC20 function to redeem an _amount of aTokens for the underlying
     * asset, burning the aTokens during the process.
     * @param _amount Amount of aTokens
     */
    function redeem(uint256 _amount) external;

    /**
     * @notice returns the current total aToken balance of _user all interest collected included.
     * To obtain the user asset principal balance with interests excluded , ERC20 non-standard
     * method principalBalanceOf() can be used.
     */
    function balanceOf(address _user) external view returns(uint256);
}
function redeem(uint256 _amount) external;

/**
 * @notice Non-standard ERC20 function to redeem an _amount of aTokens for the underlying
 * asset, burning the aTokens during the process.
 * @param _amount Amount of aTokens
 */