This is my issue. In case if Furnace.setRatio is called, when frozen state, that means that melt function will revert and as result variables will not be updated using previous rate. So when system will be unfrozen, then new ratio will be used for previous period of time.
How it was fixed
As was proposed, reserve team updated lastPayout and lastPayoutBal variables inside catch block, which will update variables even in frozen state of system, which fixes issue.
Lines of code
Vulnerability details
This issue is mitigated.
Explanation of found problem
This is my issue. In case if
Furnace.setRatio
is called, when frozen state, that means thatmelt
function will revert and as result variables will not be updated using previous rate. So when system will be unfrozen, then new ratio will be used for previous period of time.How it was fixed
As was proposed, reserve team updated
lastPayout
andlastPayoutBal
variables inside catch block, which will update variables even in frozen state of system, which fixes issue.