The MartenitsaToken
contract inherits the ERC721
standard to manage the ownership of NFTs. By using the ERC721::transferFrom
function, a user can transfer an NFT to another user. However, in this way, the user's martenitsa count is not updated correctly in the contract, leading to inconsistencies in the contract state.
As a result of transfering NFTs using the transferFrom
function, the user's martenitsa count is not updated correctly, leading to inconsistencies in the contract state.
Manual Review
Add this test to MartenitsaToken.t.sol
:
From the logs of this test we can see that Bob can transfer his NFT to Jack. The ownership of the NFT is correct, but the MartenitsaToken::getCountMartenitsaTokensOwner
mapping is not updated correctly.
Consider overriding the transferFrom
function in the MartenitsaToken
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.