Description: This contract provides a marketplace where users can buy and sell martenitsa tokens, with additional functionality for making presents, collecting rewards and managing listings. All users can participate in buying and collecting rewards, but only producers can list their tokens for sale and then sell them. MartenitsaMarketplace::collectReward allows users to collect HealthTokens as a reward based on the number of MartenitsaTokens they own. For every 3 different MartenitsaTokens, you receive 1 HealthToken. However, MartenitsaMarketplace::collectReward doesn't check that the martenitsaToken is different or not.
Impact: Malicious users can easily collect the HealthTokens without having three different tokens.
Proof Of Concept: Paste this test to your test folder and run the test.
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.