Created
April 27, 2024 14:29
-
-
Save malik672/7fe0ac842ab81183d6ab3d1bfdc65a79 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
interface NonFungibleContract { | |
/// @notice Returns the position information associated with a given token ID. | |
/// @dev Throws if the token ID is not valid. | |
/// @param tokenId The ID of the token that represents the position | |
/// @return nonce The nonce for permits | |
/// @return operator The address that is approved for spending | |
/// @return token0 The address of the token0 for a specific pool | |
/// @return token1 The address of the token1 for a specific pool | |
/// @return fee The fee associated with the pool | |
/// @return tickLower The lower end of the tick range for the position | |
/// @return tickUpper The higher end of the tick range for the position | |
/// @return liquidity The liquidity of the position | |
/// @return feeGrowthInside0LastX128 The fee growth of token0 as of the last action on the individual position | |
/// @return feeGrowthInside1LastX128 The fee growth of token1 as of the last action on the individual position | |
/// @return tokensOwed0 The uncollected amount of token0 owed to the position as of the last computation | |
/// @return tokensOwed1 The uncollected amount of token1 owed to the position as of the last computation | |
function positions(uint256 tokenId) | |
external | |
view | |
returns ( | |
uint96 nonce, | |
address operator, | |
address token0, | |
address token1, | |
uint24 fee, | |
int24 tickLower, | |
int24 tickUpper, | |
uint128 liquidity, | |
uint256 feeGrowthInside0LastX128, | |
uint256 feeGrowthInside1LastX128, | |
uint128 tokensOwed0, | |
uint128 tokensOwed1 | |
); | |
struct CollectParams { | |
uint256 tokenId; | |
address recipient; | |
uint128 amount0Max; | |
uint128 amount1Max; | |
} | |
/// @notice Collects up to a maximum amount of fees owed to a specific position to the recipient | |
/// @param params tokenId The ID of the NFT for which tokens are being collected, | |
/// recipient The account that should receive the tokens, | |
/// amount0Max The maximum amount of token0 to collect, | |
/// amount1Max The maximum amount of token1 to collect | |
/// @return amount0 The amount of fees collected in token0 | |
/// @return amount1 The amount of fees collected in token1 | |
function collect(CollectParams calldata params) external payable returns (uint256 amount0, uint256 amount1); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment