Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com> Co-authored-by: Sam Bugs <101145325+0xsambugs@users.noreply.github.com> Co-authored-by: Ernesto García <ernestognw@gmail.com> Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com> Co-authored-by: wizard <112275929+famouswizard@users.noreply.github.com> Co-authored-by: leopardracer <136604165+leopardracer@users.noreply.github.com> Co-authored-by: cairo <cairoeth@protonmail.com>
18 lines
494 B
Solidity
18 lines
494 B
Solidity
// contracts/AccessControlNonRevokableAdmin.sol
|
|
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.20;
|
|
|
|
import {AccessControl} from "../../../access/AccessControl.sol";
|
|
|
|
contract AccessControlNonRevokableAdmin is AccessControl {
|
|
error AccessControlNonRevokable();
|
|
|
|
function revokeRole(bytes32 role, address account) public override {
|
|
if (role == DEFAULT_ADMIN_ROLE) {
|
|
revert AccessControlNonRevokable();
|
|
}
|
|
|
|
super.revokeRole(role, account);
|
|
}
|
|
}
|