The create()
and createWithoutArgs()
functions in QuantAMMWeightedPoolFactory
passes a hardcoded "version" string instead of using the stored _poolVersion
variable when creating new pools, breaking version control and traceability in the Balancer V3 ecosystem.
Key issues:
Hardcoded "version" string ignores the contract's _poolVersion
state variable
Breaks Balancer V3's versioning system for pool tracking
Makes it impossible to track different pool versions on-chain
Complicates protocol upgrades and maintenance
Breaks version control system
Makes pool version tracking impossible
Affects protocol integration capabilities
Manual code review
Use the stored version variable:
Add version management functions:
This enables:
Proper version tracking
Compatibility with Balancer V3 standards
Better protocol maintenance
Improved upgrade management
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.
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.