All functions in the contract work on i_tokenContract.balanceOf(address(this)) instead of i_price, because i_price and actual balance can be slightly different OR so much different because of some Tokens which modify balances outside transfer operations like UBI, AMPL, or aTokens from AAVE. It is better to return i_tokenContract.balanceOf(address(this))
and as i_price is useless, delete i_price.
As price affects sellers to do auditing, getting a different price from the actual price, affects their decisions.
manual review
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.