```\n/// @notice Returns the total balance (in asset tokens). This includes the deposits and interest.\n/// @return The underlying balance of asset tokens\nfunction balanceOfToken(address addr) public override returns (uint256) {\n    if (balances[addr] == 0) return 0;\n    ISushiBar bar = ISushiBar(sushiBar);\n\n    uint256 shares = bar.balanceOf(address(this));\n    uint256 totalShares = bar.totalSupply();\n\n    uint256 sushiBalance =\n        shares.mul(ISushi(sushiAddr).balanceOf(address(sushiBar))).div(\n            totalShares\n        );\n    uint256 sourceShares = bar.balanceOf(address(this));\n\n    return (balances[addr].mul(sushiBalance).div(sourceShares));\n}\n```\n