In the constructor, if initialSwapTaxRate
or initialBurnTaxRate
is set to 0
, the contract forces a default value (100
for swap tax and 50
for burn tax). However, in _setTaxRate()
, the function allows setting both tax rates to 0
. This creates an inconsistency where the tax rate cannot be initially set to 0, but can later be changed to 0.
As seen above, the constructor enforces a minimum swap tax of 1%
and a burn tax of 0.5%
if 0
is provided.
However, _setTaxRate()
allows setting these values to 0
, meaning the tax can be removed later.
Inconsistency in tax logic: There's no technical vulnerability, but the logic is not uniform across the contract.
manual
Maintain the consistency in tax logic.
Allow setting 0
in the constructor or Disallow 0
in _setTaxRate()
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.