Description
The contract incorrectly uses a hardcoded string "version" instead of the stored _poolVersion state variable when creating new pools. This breaks the version control system's ability to track different deployed contract versions.
Impact
All deployed pools will have "version" as their version instead of the actual version number
Makes tracking and managing different versions of deployed contracts impossible
Breaks core versioning functionality that was explicitly designed into the system
Violates the IPoolVersion interface implementation expectations
Proof of Concept
The contract:
Implements IPoolVersion interface
Has proper version storage in _poolVersion state variable
Constructor takes and stores poolVersion parameter
Has getPoolVersion() function that returns _poolVersion
But in pool creation:
Recommended Mitigation
Replace the hardcoded "version" string with the stored version:
This ensures proper version tracking of deployed pools and maintains the integrity of the versioning system as designed.
Version is immutable as specified in Version.sol and can be what the developer wants. It is hardcoded and will be changed by the admin for every deployment. No real impact here.
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.