Base & Quotes Tokens
In Uniswap V3, a pool has two tokens: one designated as
token0, and the other as
token1. The order is decided by
(address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA)
The price of the pool is always token1/token0. The price range liquidity is added to is also based on this configuration.
Assuming we have pools such as vETH:vUSD or vBTC:vUSD, the price a Uniswap V3 Pool returns can be denominated in ETH, BTC or USD, depending on which is token0 and token1. This adds additional potential overhead.
To simplify, we force the
ClearingHouse to only support Uniswap V3 Pools where
quote. This can be done by only deploying a BaseToken when its address is smaller than our QuoteToken (not using