Normal behavior: The fund_investor() function allows users to invest ETH in exchange for shares. The function calculates the company's net worth and share price to determine how many shares the investor receives.
Problem: The function contains the check assert (self.company_balance > self.holding_debt), "Company is insolvent!!!". When company_balance is exactly equal to holding_debt, this assertion fails. This can occur naturally when the company has zero net profit, effectively blocking all future investor funding even though the system is economically sound.
Likelihood:
During normal operation when all previous revenues and debts balance exactly, producing company_balance == holding_debt.
After multiple share redemptions or debt payments, the company's balance can equal its total outstanding obligations.
Impact:
Investors cannot fund the company until the owner injects more ETH, leading to a potential DoS on funding.
Share issuance logic may be blocked, freezing growth and participation even though no economic loss has occurred.
Relax the strict inequality to allow equality and preserve natural liveness:
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.