GivingThanks.sol
and CharityRegistry.sol
, use the floating pragma version ^0.8.0
, which allows for any version of Solidity starting from 0.8.0
to the next breaking change (e.g., 0.9.0
). This can lead to unexpected issues if a new Solidity version introduces breaking changes that are not backward-compatible with the current contract. It is recommended to use a specific stable version, such as 0.8.18, 0.8.19 , 0.8.20 ................
, to ensure compatibility and avoid potential issues caused by unexpected updates.^
) symbol means "compatible with version 0.8.0
and any newer version until the next breaking change" (e.g., 0.9.0
). This introduces risks because:Solidity may introduce breaking changes that are not backward compatible, causing unexpected behavior or vulnerabilities in the contract.
It can result in unpredictable results during contract deployment, especially when the compiler is updated or changes between patch or minor versions.
0.8.19
, the contract will always compile with the same version, ensuring that no future compiler changes cause issues.Manual code review
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.