The QuantAMMWeightedPool factory implements IPoolVersion, which specifies that pool version information should contain "name, version number and task ID" in JSON format. However, the current implementation fails to fulfill this interface contract by passing a hardcoded "version" string during pool creation:
This implementation not only ignores the _poolVersion state variable but also violates the interface's explicit requirement for structured version information. According to the interface, _poolVersion should contain JSON-formatted data with specific fields, but pools are being created with a non-conformant simple string.
The impact is more severe than just version mismatch - it breaks interoperability with subsystems that expect valid JSON version data as specified in the interface documentation. The interface comment explicitly states this is "useful in complex Pool deployment schemes, where multiple subsystems need to know about each other", indicating this version information is critical for cross-system coordination.
First, ensure _poolVersion contains properly formatted JSON data during factory construction:
Then use this validated version data during pool creation:
Consider adding a helper function to validate JSON version format:
This ensures compliance with the IPoolVersion interface specification and maintains proper version information flow through the protocol's subsystems.
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.