{
    "Function": "burnTokenizedPosition",
    "File": "contracts/SemiFungiblePositionManager.sol",
    "Parent Contracts": [
        "contracts/multicall/Multicall.sol",
        "contracts/tokens/ERC1155Minimal.sol"
    ],
    "High-Level Calls": [
        "TokenId"
    ],
    "Internal Calls": [
        "_burn",
        "_validateAndForwardToAMM",
        "ReentrancyLock"
    ],
    "Library Calls": [
        "univ3pool"
    ],
    "Low-Level Calls": [],
    "Code": "function burnTokenizedPosition(\n        uint256 tokenId,\n        uint128 positionSize,\n        int24 slippageTickLimitLow,\n        int24 slippageTickLimitHigh\n    )\n        external\n        ReentrancyLock(tokenId.univ3pool())\n        returns (int256 totalCollected, int256 totalSwapped, int24 newTick)\n    {\n        // burn this ERC1155 token id\n        _burn(msg.sender, tokenId, positionSize);\n\n        // emit event\n        emit TokenizedPositionBurnt(msg.sender, tokenId, positionSize);\n\n        // Call a function that contains other functions to mint/burn position, collect amounts, swap if necessary\n        (totalCollected, totalSwapped, newTick) = _validateAndForwardToAMM(\n            tokenId,\n            positionSize,\n            slippageTickLimitLow,\n            slippageTickLimitHigh,\n            BURN\n        );\n    }"
}