In MartenitsaEvent, users can join an event to get temporary producer permission in contract MartenitsaToken. isProducer in MartenitsaToken isn't modified after joining event.
According to document description and BaseTest.t.sol file, smart contract MartenitsaToken and MartenitsaEvent are two smart contracts. Smart contract MartenitsaToken will mint/transfer NFT Tokens and also set producers. When users join an event in smart contract MartenitsaEvent, MartenitsaEvent will update MartenitsaToken's isproducer variable. In this case, users can get temporary permission to producer. However, in current implementation, MartenitsaEvent update its own isproducer, not MartenitsaToken's isproducer.
And the test result shows bob doesn't become one producer in martenitsaToken.
Users who join an event cannot become actual producer to create some NFTs in contract martenitsaToken.
Manual & Foundry
When one user joins the event, contract MartenitsaEvent should update contract MartenitsaToken's isproducer.
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.