Getting User Balance

Given that each IdleToken is an ERC20, the simplest way to track the balance of a user in underlying terms (eg. in DAI) is to get the IdleToken balanceOf the user and multiply it by the current IdleToken price:

idleDAI = IdleToken.at(<address_of_IdleDAI>);
userBalance = idleDAI.balanceOf(<address_of_user>) * idleDAI.tokenPrice();