When user transfer his NFT LP position to another wallet, the new upliftFeeBps is registered to poolsFeeData of the to, this contradict the intended design to have no retroactive upliftFeeBps applied to already open position and also opens an attack surface to dodge the old high fees for the current smaller ones
NOTE!: its worth mentioning that this is a different bug from the bug that talks about complete dodging of UpLift fees through
lpTokenDepositValueoverriding
When user adds liquidity, the upliftFeeBps is registered in his poolsFeeData so that any future change doesn't apply to his position retroactively
But the problem is that in afterUpdate hook that is triggered on NFT transfers, the upliftFeeBps of poolsFeeData of to is set to the current upliftFeeBps
this causes two problems:
New fees are applied retroactively, which is not the intention of the protocol (Broken functionality)
There can be scenarios where upliftFeeBps was set by the admin to lower values than the ones the user initially deposited at (ie, events of lower fees, or simply the admin wants to do it due to increased competition in the field that provided less fees, etc)
When that happens, the user can transfer the NFT to other wallet of his own so that the upliftFeeBps variable gets overridden by the new one
Non intended design
User can decide to override their upliftFeeBps when they see it less costly to pay (overall profitable to them)
Leading to loss of funds (Fees) to the Quant Admin and LP providers (since there should have been larger fees donated to their pool)
Manual review
Don't override that variable, simply remove Line 611
Likelihood: High, any transfer will trigger the bug. Impact: Low, will update upliftFeeBps to the new current value which will increase or decrease the fees, but at the moment there is no setter for upliftFeeBps ! So it won't change anything (but this setter should exists according the sponsor)
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.