// SPDX-License-Identifier: MIT
pragma solidity >=0.8.4 <0.9.0;
import './Keep3rJobOwnership.sol';
import '../Keep3rRoles.sol';
import '../Keep3rParameters.sol';
import '../../../interfaces/peripherals/IKeep3rJobs.sol';
abstract contract Keep3rJobManager is IKeep3rJobManager, Keep3rJobOwnership, Keep3rRoles, Keep3rParameters {
using EnumerableSet for EnumerableSet.AddressSet;
/// @inheritdoc IKeep3rJobManager
function addJob(address _job) external override {
if (_jobs.contains(_job)) revert JobAlreadyAdded();
if (hasBonded[_job]) revert AlreadyAKeeper();
_jobs.add(_job);
jobOwner[_job] = msg.sender;
emit JobAddition(msg.sender, _job);
}
}
|