{
    "Function": "resolveDispute",
    "File": "contracts/Disputes.sol",
    "Parent Contracts": [
        "node_modules/@openzeppelin/contracts-upgradeable/metatx/ERC2771ContextUpgradeable.sol",
        "node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol",
        "node_modules/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol",
        "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol",
        "contracts/interfaces/IDisputes.sol"
    ],
    "High-Level Calls": [],
    "Internal Calls": [
        "resolvable",
        "resolveHandler",
        "nonReentrant",
        "onlyAdmin"
    ],
    "Library Calls": [],
    "Low-Level Calls": [],
    "Code": "function resolveDispute(\n        uint256 _disputeID,\n        bytes calldata _judgement,\n        bool _ratify\n    ) external override onlyAdmin nonReentrant resolvable(_disputeID) {\n        // If dispute is accepted\n        if (_ratify) {\n            // Complete dispute actions\n            resolveHandler(_disputeID);\n\n            // Mark dispute as accepted\n            disputes[_disputeID].status = Status.Accepted;\n        }\n        // If dispute is rejected\n        else {\n            // Mark dispute as rejected\n            disputes[_disputeID].status = Status.Rejected;\n        }\n\n        emit DisputeResolved(_disputeID, _ratify, _judgement);\n    }"
}