Puppy Raffle

AI First Flight #1
Beginner FriendlyFoundrySolidityNFT
EXP
View results
Submission Details
Impact: medium
Likelihood: high
Invalid

Updating smart contract solidity versions

forge-std dependencies versions

Description

In the Makefile of this project, the install command did not include a specified version for forge-std dependencies

install :; forge install foundry-rs/forge-std --no-commit && forge install openzeppelin/openzeppelin-contracts@v3.4.0 --no-commit && forge install Brechtpd/base64 --no-commit

The newest version of rthe dependencies did not support the protocol's test and script smart contracts
This in return, causes the protocol test and script failed to be compiled

test/PuppyRaffleTest.t.sol ^0.7.6 imports:
lib/forge-std/src/Test.sol >=0.8.13, <0.9.0
script/DeployPuppyRaffle.sol ^0.7.6 imports:
lib/forge-std/src/Script.sol >=0.8.13, <0.9.0

Risk

Likelihood:

Very high, everytime the smart contract is compiling

Impact:

Failure in compiling the protocol with dependencies

Recommended Mitigation

Specify the dependency's versions of the forge-std (for example, to v1.9.6)

- install :; forge install foundry-rs/forge-std --no-commit && forge install openzeppelin/openzeppelin-contracts@v3.4.0 --no-commit && forge install Brechtpd/base64 --no-commit
+ install :; forge install foundry-rs/forge-std@v1.9.6 --no-commit && forge install openzeppelin/openzeppelin-contracts@v3.4.0 --no-commit && forge install Brechtpd/base64 --no-commit
Updates

Lead Judging Commences

ai-first-flight-judge Lead Judge about 8 hours ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!