Fee initialization logic unnecessarily scales a fee value that's already in correct precision units (e.g., wei
), leading to massively inflated fees
The contract accepts a _buyFee
value as input during deployment:
It is assumed that _buyFee
is already provided in wei
precision format, such as 0.03 ether
for a 3% fee. However, multiplying it again by PRECISION
(commonly 1e18
) causes a second scaling, pushing the fee to unrealistic and dangerous levels.
Example:
Deployer passes _buyFee = 0.03 ether
(i.e., 3 * 10^16
)
Contract does: s_buyFee = 0.03 ether * 1e18 = 3 * 10^34
Likelihood:
Any deployment that uses correct wei
precision gets punished with extreme fees.
Impact:
Fees could consume entire user balances.
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.