// SPDX-License-Identifier: MIT
pragma solidity >=0.8.4 <0.9.0;
import './Keep3rParameters.sol';
import './Keep3rRoles.sol';
import '../../interfaces/peripherals/IKeep3rDisputable.sol';
abstract contract Keep3rDisputable is IKeep3rDisputable, Keep3rAccountance, Keep3rRoles {
/// @inheritdoc IKeep3rDisputable
function dispute(address _jobOrKeeper) external override onlyDisputer {
if (disputes[_jobOrKeeper]) revert AlreadyDisputed();
disputes[_jobOrKeeper] = true;
emit Dispute(_jobOrKeeper, msg.sender);
}
/// @inheritdoc IKeep3rDisputable
function resolve(address _jobOrKeeper) external override onlyDisputer {
if (!disputes[_jobOrKeeper]) revert NotDisputed();
disputes[_jobOrKeeper] = false;
emit Resolve(_jobOrKeeper, msg.sender);
}
}
|