A user can stake THEO and claim sTHEO tokens, and then calls function forfeit( ) and retrieve these staked THEO.
By repeating the process above, the user can gain tons of free sTHEO tokens, and the function circulatingSupply( )
will get the incorrect return, which is used in the calculation of many functions.
Auditor Recommendation
Reconsider the logic of function forfeit( )
Billing/Time-Tracking/Access
Harvest Codes Theopetra | post audit | include ticket number
Audit Issue Description
Issue Location: Theopetra/Staking.col: 193
A user can stake THEO and claim sTHEO tokens, and then calls function
forfeit( )
and retrieve these staked THEO.By repeating the process above, the user can gain tons of free sTHEO tokens, and the function
circulatingSupply( )
will get the incorrect return, which is used in the calculation of many functions.Auditor Recommendation
Reconsider the logic of function
forfeit( )
Billing/Time-Tracking/Access