Docs/Smart contracts/Uniswap price and FDV states
Uniswap price and FDV states
How verified V2, V3, and V4 implementations authenticate pools and compare exact call-time price or fully diluted valuation.
Initialization#
| Field | Meaning |
|---|---|
pool | For V2/V3, a pair or pool authenticated by the constructor-bound canonical factory. |
currency0, currency1, fee, tickSpacing, hooks | For V4, the complete PoolKey whose hash identifies a pool in the canonical PoolManager and StateView. |
baseToken / quoteToken | Must be the pool tokens in either direct or inverse order. |
thresholdPriceX96 | Spot-price templates store quote per base encoded in Q96. |
thresholdQuoteAmount | FDV templates store the valuation threshold in raw quote-token units. |
operator | LT (Below) or GTE (At least) in the official creation flow. |
Price and FDV reads#
V2 reads getReserves(). V3 and V4 read the current sqrtPriceX96 from slot0. Full-precision math evaluates the exact quote-per-base ratio in either token direction. Spot-price templates compare the Q96 ratio directly; FDV templates multiply the raw base-token totalSupply() through that ratio and compare the resulting raw quote amount.