Normal behaviour - As stated in the docs, when users are selling eth for Refi buy fees should be applied which can be zero.
Issue- Instead of the buy fees being applied, the sell fees will be applied instead causing a serious logical issue charging users the wrong amount
Likelihood:
Likelihood - High. It is going to occur everytime a user wants to swap eth for ReFi.
Impact:
Wrongly fees are applied. Buy fees can be really small or 0 while sell fees could be higher. In that scenario user that is supposed to have buy fees considered he will have to pay the sell fees instead which results in a big logical issue.
Owner deploys the Eth/ReFi pool and initializes it
Some liquidity is being provided
Users start using the pool for swaps and want to swap eth for ReFi
They pay the wrong fee since the protocol's issue
One solution is just to remove the bool zeroForOne parameter in the _isReFiBuyfunction and consider a different approach . The condition can be changed to the following:
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.