Note the per-tick liquidityGross cap on full-range positions - #1148
Note the per-tick liquidityGross cap on full-range positions#1148gretzke wants to merge 1 commit into
Conversation
|
Thanks for contributing to Uniswap Docs! 馃 Quick heads up on how this repo works: the docs you see on developers.uniswap.org are built from a separate source repo. When we accept a change here, we port it over there, so your fix might show up on the live site before it lands in this repo. Updates to this repo come in batches on a regular cadence. When yours is included, you'll be credited as a co-author on the commit, so the contribution counts on your GitHub profile and in Uniswap/docs. We review every PR but can't merge everything. Either way, someone from the docs team will follow up here once we've taken a look. One legal bit: by submitting a PR you agree your contribution is licensed under the repo's MIT license. |
|
Closing this. The change belongs in the dev-portal content in Uniswap/universe, which is where the live site is built from. I will open it there instead. |
Adds a note to the v4 position minting guide about the per-tick
liquidityGrosscap.The guide currently shows
nearestUsableTick(MIN_TICK/MAX_TICK, tickSpacing)as the way to build a full-range position, with no mention that those ticks share amaxLiquidityPerTickbudget that anyone can fill for a very small amount of tokens. Once a tick is at its cap, mints and increases using that exact tick revert withTickLiquidityOverflow.This came out of a public bug bounty submission on Cantina (#909). The submission was rejected, the cap is a safety parameter and reaching it is the intended tradeoff, but the researcher has audited several integrations that hardcode the extreme ticks in immutable code and cannot move their bounds. The note reflects the rejection reasoning: shift the bound in by a spacing or two, and do not hardcode the extreme ticks in a contract.
The note covers three things:
InstantLaunchStrategyas the example.