QuantAMM

QuantAMM
49,600 OP
View results
Submission Details
Severity: medium
Invalid

wrong implement of '_getWeights'

Summary

i donot know why we are looping through for newShortMovingAverages.length.

Vulnerability Details

function _getWeights(
int256[] calldata _prevWeights,
int256[] memory _data,
int256[][] calldata _parameters,
QuantAMMPoolParameters memory _poolParameters
) internal override returns (int256[] memory newWeightsConverted) {
QuantAMMDifferenceMomentumLocals memory locals;
locals.kappaStore = _parameters[0];
_poolParameters.numberOfAssets = _prevWeights.length;
int128[] memory lambdaShort = new int128;
for (locals.i; locals.i < lambdaShort.length; ) {
lambdaShort[locals.i] = int128(_parameters[1][locals.i]);
unchecked {
++locals.i;
}
}

int256[] memory currentShortMovingAverages = _quantAMMUnpack128Array(
shortMovingAverages[_poolParameters.pool],
_poolParameters.numberOfAssets
);
int256[] memory newShortMovingAverages = _calculateQuantAMMMovingAverage(
currentShortMovingAverages,
_data,
lambdaShort,
_poolParameters.numberOfAssets
);
shortMovingAverages[_poolParameters.pool] = _quantAMMPack128Array(newShortMovingAverages);
@>> for (uint i; i < newShortMovingAverages.length; ) {
unchecked {
++i;
}
}
locals.prevWeightLength = _prevWeights.length;

Impact

wrong implement of _getWeights.

Tools Used

Recommendations

Updates

Lead Judging Commences

n0kto Lead Judge 7 months ago
Submission Judgement Published
Invalidated
Reason: Lack of quality

Support

FAQs

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