·
We continued the Panoptic contest on Code4rena.
Lesson Summary:
- Entry point for UniswapV4 is the `unlock` function(call unlock and it callbacks you)
- NonZeroDeltaCount must be 0 after every UniV4 pool swap
- UniV4 callback implementation should always check if the msg.sender is the pool
- UniV4 delta could be positive or negative - depends if you send funds to UniV4 or UniV4 sends funds to you
- sync needs to be called before settles in UniV4
- Transfer `delta` to the UniV4 pool first, then you .mint 1-1 the delta you transferred
- Check if .symbol can revert before going to the catch(like in Sukukfi)
- Check how uniV4 delta works - when's the delta negative/positive(on send or on receive)? Negative - Pool manager is owed tokens, positive - user is owed tokens
- Check why aren't they calling `sync` in one of the branches in `unlockCallback` - ОК
- Check if tokens with Reentrancy are in-scope
- What happens if the delta is type(int256).min and I negate it?