The QuantAMMWeightedPoolFactory contract stores a pool version in a storage variable _poolVersion that is set during construction, but this version is never used. Instead, pool creation uses a hardcoded string "version", bypassing version control and making on-chain pool version tracking impossible.
The factory properly initializes version in constructor:
However, during pool creation, a hardcoded string is used instead:
The factory even implements IPoolVersion interface with unused getter:
Pool version tracking becomes unreliable
All pools report same hardcoded version regardless of actual implementation
Impossible to track pool versions for on-chain dynamic integration
Medium severity as it affects protocol maintenance but not direct functionality
Manual code review
Use the stored version instead of hardcoded string:
This ensures proper version tracking and maintains consistency with the IPoolVersion interface implementation.
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.