This repository houses course resources and discussions for the course.
Please refer to this for an in-depth explanation of the content:
- Website - Join Cyfrin Updraft and enjoy 50+ hours of smart contract development courses
- Twitter - Stay updated with the latest course releases
- LinkedIn - Add Updraft to your learning experiences
- Discord - Join a community of 3000+ developers and auditors
- Codehawks - Smart contracts auditing competitions to help secure web3
- Currency
- Pool key and pool id
- Lock
- Transient storage
- Currency reserves
- Swap contract calls
- Reading data
- Application - swap router
- Key concepts
- External contract calls before and after pool operations such as swap and liquidity modifications
- Hooks are part of the derivation for
PoolId
- How are hook flags encoded into the hooks address?
- Bottom 14 bits
HookMiner
- Access msg.sender inside a hooks contract
- Exercise - counter hook
- Application - limit order
- Key concepts
PositionManager- Entry point
- Mint, burn, increase / decrease liquidty and collecct fees
permit2
- Exercise - position manager
- Exercise - subscriber
- Application - reposition liquidity
UniversalRouter- How it works
- UniversalRouter and Permit2
- Exercise - execute UniversalRouter commands
- V3 to V4 Multi hop swap
- Exercise - Multi hop swap on V3 and then V4
- Exercise - Quoter
- Application - liquidation
- Uniswap V4
- Uniswap V4 pools
- Uniswap V4 docs
- GitHub - v4-core
- GitHub - v4-periphery
- GitHub - universal-router
- GitHub - v4-template
- GitHub - permit2
- GitHub - mixed-quoter
- YouTube - Uniswap v4 on Unichain
- Cyfrin - Uniswap V4 Swap: Deep Dive Into Execution and Accounting
- PoolManager - storage layout
- Dune - How to get PoolKey from PoolId
- Uniswap v4 by Example
- Bunni
- Damian Rusinek - Secrets of Uniswap V4: A Deep Dive into Hooks Security
BaseHookLimitOrder- Permit2
- How to swap from V3 to V4 using
UniversalRouter


