@@ -8,6 +8,7 @@ import {AccessControl, IAccessControl} from "../AccessControl.sol";
8
8
import {SafeCast} from "../../utils/math/SafeCast.sol " ;
9
9
import {Math} from "../../utils/math/Math.sol " ;
10
10
import {IERC5313 } from "../../interfaces/IERC5313.sol " ;
11
+ import {IERC165 } from "../../utils/introspection/ERC165.sol " ;
11
12
12
13
/**
13
14
* @dev Extension of {AccessControl} that allows specifying special rules to manage
@@ -59,16 +60,12 @@ abstract contract AccessControlDefaultAdminRules is IAccessControlDefaultAdminRu
59
60
_grantRole (DEFAULT_ADMIN_ROLE, initialDefaultAdmin);
60
61
}
61
62
62
- /**
63
- * @dev See {IERC165-supportsInterface}.
64
- */
63
+ /// @inheritdoc IERC165
65
64
function supportsInterface (bytes4 interfaceId ) public view virtual override returns (bool ) {
66
65
return interfaceId == type (IAccessControlDefaultAdminRules).interfaceId || super .supportsInterface (interfaceId);
67
66
}
68
67
69
- /**
70
- * @dev See {IERC5313-owner}.
71
- */
68
+ /// @inheritdoc IERC5313
72
69
function owner () public view virtual returns (address ) {
73
70
return defaultAdmin ();
74
71
}
@@ -140,9 +137,7 @@ abstract contract AccessControlDefaultAdminRules is IAccessControlDefaultAdminRu
140
137
return super ._grantRole (role, account);
141
138
}
142
139
143
- /**
144
- * @dev See {AccessControl-_revokeRole}.
145
- */
140
+ /// @inheritdoc AccessControl
146
141
function _revokeRole (bytes32 role , address account ) internal virtual override returns (bool ) {
147
142
if (role == DEFAULT_ADMIN_ROLE && account == defaultAdmin ()) {
148
143
delete _currentDefaultAdmin;
@@ -164,39 +159,29 @@ abstract contract AccessControlDefaultAdminRules is IAccessControlDefaultAdminRu
164
159
/// AccessControlDefaultAdminRules accessors
165
160
///
166
161
167
- /**
168
- * @inheritdoc IAccessControlDefaultAdminRules
169
- */
162
+ /// @inheritdoc IAccessControlDefaultAdminRules
170
163
function defaultAdmin () public view virtual returns (address ) {
171
164
return _currentDefaultAdmin;
172
165
}
173
166
174
- /**
175
- * @inheritdoc IAccessControlDefaultAdminRules
176
- */
167
+ /// @inheritdoc IAccessControlDefaultAdminRules
177
168
function pendingDefaultAdmin () public view virtual returns (address newAdmin , uint48 schedule ) {
178
169
return (_pendingDefaultAdmin, _pendingDefaultAdminSchedule);
179
170
}
180
171
181
- /**
182
- * @inheritdoc IAccessControlDefaultAdminRules
183
- */
172
+ /// @inheritdoc IAccessControlDefaultAdminRules
184
173
function defaultAdminDelay () public view virtual returns (uint48 ) {
185
174
uint48 schedule = _pendingDelaySchedule;
186
175
return (_isScheduleSet (schedule) && _hasSchedulePassed (schedule)) ? _pendingDelay : _currentDelay;
187
176
}
188
177
189
- /**
190
- * @inheritdoc IAccessControlDefaultAdminRules
191
- */
178
+ /// @inheritdoc IAccessControlDefaultAdminRules
192
179
function pendingDefaultAdminDelay () public view virtual returns (uint48 newDelay , uint48 schedule ) {
193
180
schedule = _pendingDelaySchedule;
194
181
return (_isScheduleSet (schedule) && ! _hasSchedulePassed (schedule)) ? (_pendingDelay, schedule) : (0 , 0 );
195
182
}
196
183
197
- /**
198
- * @inheritdoc IAccessControlDefaultAdminRules
199
- */
184
+ /// @inheritdoc IAccessControlDefaultAdminRules
200
185
function defaultAdminDelayIncreaseWait () public view virtual returns (uint48 ) {
201
186
return 5 days ;
202
187
}
@@ -205,9 +190,7 @@ abstract contract AccessControlDefaultAdminRules is IAccessControlDefaultAdminRu
205
190
/// AccessControlDefaultAdminRules public and internal setters for defaultAdmin/pendingDefaultAdmin
206
191
///
207
192
208
- /**
209
- * @inheritdoc IAccessControlDefaultAdminRules
210
- */
193
+ /// @inheritdoc IAccessControlDefaultAdminRules
211
194
function beginDefaultAdminTransfer (address newAdmin ) public virtual onlyRole (DEFAULT_ADMIN_ROLE) {
212
195
_beginDefaultAdminTransfer (newAdmin);
213
196
}
@@ -223,9 +206,7 @@ abstract contract AccessControlDefaultAdminRules is IAccessControlDefaultAdminRu
223
206
emit DefaultAdminTransferScheduled (newAdmin, newSchedule);
224
207
}
225
208
226
- /**
227
- * @inheritdoc IAccessControlDefaultAdminRules
228
- */
209
+ /// @inheritdoc IAccessControlDefaultAdminRules
229
210
function cancelDefaultAdminTransfer () public virtual onlyRole (DEFAULT_ADMIN_ROLE) {
230
211
_cancelDefaultAdminTransfer ();
231
212
}
@@ -239,9 +220,7 @@ abstract contract AccessControlDefaultAdminRules is IAccessControlDefaultAdminRu
239
220
_setPendingDefaultAdmin (address (0 ), 0 );
240
221
}
241
222
242
- /**
243
- * @inheritdoc IAccessControlDefaultAdminRules
244
- */
223
+ /// @inheritdoc IAccessControlDefaultAdminRules
245
224
function acceptDefaultAdminTransfer () public virtual {
246
225
(address newDefaultAdmin , ) = pendingDefaultAdmin ();
247
226
if (_msgSender () != newDefaultAdmin) {
@@ -271,9 +250,7 @@ abstract contract AccessControlDefaultAdminRules is IAccessControlDefaultAdminRu
271
250
/// AccessControlDefaultAdminRules public and internal setters for defaultAdminDelay/pendingDefaultAdminDelay
272
251
///
273
252
274
- /**
275
- * @inheritdoc IAccessControlDefaultAdminRules
276
- */
253
+ /// @inheritdoc IAccessControlDefaultAdminRules
277
254
function changeDefaultAdminDelay (uint48 newDelay ) public virtual onlyRole (DEFAULT_ADMIN_ROLE) {
278
255
_changeDefaultAdminDelay (newDelay);
279
256
}
@@ -289,9 +266,7 @@ abstract contract AccessControlDefaultAdminRules is IAccessControlDefaultAdminRu
289
266
emit DefaultAdminDelayChangeScheduled (newDelay, newSchedule);
290
267
}
291
268
292
- /**
293
- * @inheritdoc IAccessControlDefaultAdminRules
294
- */
269
+ /// @inheritdoc IAccessControlDefaultAdminRules
295
270
function rollbackDefaultAdminDelay () public virtual onlyRole (DEFAULT_ADMIN_ROLE) {
296
271
_rollbackDefaultAdminDelay ();
297
272
}
0 commit comments