the price of is either decreasing or increasing and the user wan't not to miss the opportunity however he can't change his possition as multiplier is 0
During the initialization of the pool initial weights is being set with initial values for both
lastPossibleInterpolationTime
lastUpdateIntervalTime
to block.timestamp
This is the apply in _setInitialWeights called from initialize
So initial multiplier is zero
Updating weights might be 1 hour or 1 day depends on updateInterval value
during that time weights move according to multiplier and time since lastupdate in the initial state till the update it will always be zero
during this time there is a severe issue where any swaps from or to the pool weights won't change causing loss of opportunity to LPs
Assume pool with of 2 tokens USDC and WETH with weights:
WETH = 6.97e17
USDC = 3.03e17
A huge drop of eth price happen in the time between initialization and update
the eth price became 1300 no reflection happens to the weights in the pool users can't swap nor add or remove liquidity due static weights losing opportunity for users
The time of impact depends on updateInterval value.
Loss of opportunity as weights won't get changed in this period
Manual review
Apply this change in _setInitialWeights function
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.