The assetToPay variable is globally shared across all NFTs, causing later NFTs to overwrite previous payment token settings.
In createEstateNFT, assetToPay is updated for every NFT creation. This means only the last NFT’s payment token is retained, rendering earlier NFTs’ assetToPay values invalid.
Beneficiaries purchasing earlier NFTs will use the wrong token, leading to failed transactions or unintended token transfers.
Manual review.
Convert assetToPay into a mapping: mapping(uint256 => address) assetToPay. Update setAssetToPay to accept an NFT ID parameter.
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.