`transferAccruedDust` internally calls `calculateDust` function to transfer Dust amounts,however `calculateDust` has a math error that results in returning dust amount as always zero.
totalSupply()
function already returns totalSupply normalized by interest accrual.
In totalRealBalance
calculation, applying `rayMul` again with the normalized income index inflates the value.
Due to double multiplication, contractBalance will always be <= totalRealBalance
, resulting in dust amount as zero.
This leads to dust accumulation in the contract, cannot withdraw dust anymore,
Manual Review
remove the second rayMul opereation in totalRealBalance calculation.
set totalRealBalance variable to currentTotalSupply.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.