Submitted by 0Kage
https://github.com/code-423n4/2023-01-timeswap/blob/ef4c84fb8535aad8abd6b67cc45d994337ec4514/packages/v2-pool/src/structs/Pool.sol#L302 
https://github.com/code-423n4/2023-01-timeswap/blob/ef4c84fb8535aad8abd6b67cc45d994337ec4514/packages/v2-pool/src/structs/LiquidityPosition.sol#L60
When a LP mints V2 Pool tokens, mint function in PoolLibrary gets called. Inside this function updateDurationWeightBeforeMaturity updates global short, long0 and long1 fee growth.
Change in global fee growth necessitates an update to LiquidityPosition state of caller (specifically updating fees & fee growth rates) when there are state changes made to that position (in this case, increasing liquidity). This principle is followed in functions such as burn, transferLiquidity, transferFees. However when calling mint, this update is missing. As a result, growth & fee levels in liquidity position of caller are inconsistent with global fee growth rates.
Inconsistent state leads to incorrect calculations of long0/long1 and short fees of LP holders which in turn can lead to loss of fees. Since this impacts actual rewards for users, Ive marked it as MEDIUM risk.
Lets say, Bob has following sequence of events
Bob could collect a lower fees because of this state inconsistency.
Update the liquidity position state right before minting.
After line 302 of Pool.sol, update the LiquidityPosition by adding
vhawk19 (Timeswap) confirmed
For this contest, 36 reports were submitted by wardens detailing low risk and non-critical issues. The report highlighted below by rbserver received the top score from the judge.
The following wardens also submitted reports: ddimitrov22,
Udsen,
Breeje,
matrix_0wl,
hansfriese,
0xAgro,
Josiah,
luxartvinsec,
Diana,
tnevler,
delfin454000,
Awesome,
mookimgo,
cryptonue,
shark,
IllIllI,
0x1f8b,
fatherOfBlocks,
0xSmartContract,
brgltd,
oberon,
lukris02,
Viktor_Cortess,
Moksha,
DadeKuma,
0xGusMcCrae,
popular00,
chaduke,
georgits,
descharre,
martin,
RaymondFam,
btk,
Rolezn, and
SaeedAlipoor01988
.
