GivingThanks is using floating pragma which introduces a range of security, compatibility, and maintenance risks. While it is commonly used for flexibility and ease during initial development, it is generally not recommended for production code.
Contracts should be deployed with the same compiler version and flags used during development and testing. Locking the pragma helps to ensure that contracts do not accidentally get deployed using another pragma. For example, an outdated pragma version might introduce bugs that affect the contract system negatively or recently released pragma versions may have unknown security vulnerabilities.
Reduced trust: It’s harder to verify that the deployed contract is the same one that was audited, especially if it is compiled with a newer version than the one used during the audit.
Loss of security guarantees: Changes in compiler behavior could negate the conclusions of a security audit, making your contracts less reliable.
manual
Consider locking the pragma
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.