Wrong inheritance method used in MartenitsaEvent
contract which leads to DOS of MartenitsaMarketplace
In MartenitsaEvent
contract, isProducer
and producers
variable are different from already the variable present in the existing MartenitsaToken
contract as MartenitsaEvent
contract is inheriting from MartenitsaToken
contract and it does not point or refer or link to the existing MartenitsaToken
contract.
That means, all the state variables referring to MartenitsaToken
contract and all the MartenitsaToken
contract's state variables used in MartenitsaEvent
contract are different from the already existing MartenitsaToken
contract.
This also means that all the variables in MartenitsaEvent
contract will have different states from the existing MartenitsaToken
contract.
Here are the 2 major impacts:
Users cannot use any of the functions and features of MartenitsaMarketplace
contract.
Due to the difference in the state variables in the existing MartenitsaToken
contract and the one in MartenitsaEvent
contract, malicious actors who are producers in the existing MartenitsaToken
contract can become producer again in MartenitsaEvent
contract using joinEvent
function which is not intended by the protocol.
Manual Review
Add code in MartenitsaEvent
contract:
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.