Casting msg.sender as the CharityRegistry contract address breaks the functionality of the GivingThanks contract. Since msg.sender is not a CharityRegistry contract, the GivingThanks contract cannot access necessary functionalities such as verifying the registration and verification of charity organizations.
https://github.com/Cyfrin/2024-11-giving-thanks/blob/main/src/GivingThanks.sol#L16
Constructor incorrectly casts msg.sender as the CharityRegistry contract. Therefore breaking the functionality of GivingThanks contract
This is a test to show that the donate function will fail.
Copy the following function into GivingThanks.t.sol
This incorrect casting renders the GivingThanks contract unusable for its intended purpose.
Manual Review
Update the constructor to correctly initialize the registry with the address of an existing CharityRegistry contract passed as _registry
Likelyhood: High, the parameter is not well used and won't be set. Impact: Low, can be changed with the setter and no one will be able to donate to malicious charity.
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.