infrastructure-upgrade/lib/v3-periphery/contracts/interfaces/ITickLens.sol
T-Hax 735546619e
init
Signed-off-by: T-Hax <>
2023-04-08 18:46:18 +00:00

26 lines
1.1 KiB
Solidity

// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity >=0.7.5;
pragma abicoder v2;
/// @title Tick Lens
/// @notice Provides functions for fetching chunks of tick data for a pool
/// @dev This avoids the waterfall of fetching the tick bitmap, parsing the bitmap to know which ticks to fetch, and
/// then sending additional multicalls to fetch the tick data
interface ITickLens {
struct PopulatedTick {
int24 tick;
int128 liquidityNet;
uint128 liquidityGross;
}
/// @notice Get all the tick data for the populated ticks from a word of the tick bitmap of a pool
/// @param pool The address of the pool for which to fetch populated tick data
/// @param tickBitmapIndex The index of the word in the tick bitmap for which to parse the bitmap and
/// fetch all the populated ticks
/// @return populatedTicks An array of tick data for the given word in the tick bitmap
function getPopulatedTicksInWord(address pool, int16 tickBitmapIndex)
external
view
returns (PopulatedTick[] memory populatedTicks);
}