Kaynağa Gözat

Change access folder structure (#4359)

Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Francisco <fg@frang.io>
Renan Souza 2 yıl önce
ebeveyn
işleme
9cf873ea14

+ 5 - 0
.changeset/spicy-sheep-eat.md

@@ -0,0 +1,5 @@
+---
+'openzeppelin-solidity': major
+---
+
+`access`: Move `AccessControl` extensions to a dedicated directory.

+ 5 - 1
contracts/access/README.adoc

@@ -8,7 +8,7 @@ This directory provides ways to restrict who can access the functions of a contr
 - {AccessControl} provides a general role based access control mechanism. Multiple hierarchical roles can be created and assigned each to multiple accounts.
 - {Ownable} is a simpler mechanism with a single owner "role" that can be assigned to a single account. This simpler mechanism can be useful for quick tests but projects with production concerns are likely to outgrow it.
 
-== Authorization
+== Core
 
 {{Ownable}}
 
@@ -18,8 +18,12 @@ This directory provides ways to restrict who can access the functions of a contr
 
 {{AccessControl}}
 
+== Extensions
+
 {{IAccessControlEnumerable}}
 
 {{AccessControlEnumerable}}
 
+{{IAccessControlDefaultAdminRules}}
+
 {{AccessControlDefaultAdminRules}}

+ 4 - 4
contracts/access/AccessControlDefaultAdminRules.sol → contracts/access/extensions/AccessControlDefaultAdminRules.sol

@@ -3,11 +3,11 @@
 
 pragma solidity ^0.8.19;
 
-import {AccessControl, IAccessControl} from "./AccessControl.sol";
 import {IAccessControlDefaultAdminRules} from "./IAccessControlDefaultAdminRules.sol";
-import {SafeCast} from "../utils/math/SafeCast.sol";
-import {Math} from "../utils/math/Math.sol";
-import {IERC5313} from "../interfaces/IERC5313.sol";
+import {AccessControl, IAccessControl} from "../AccessControl.sol";
+import {SafeCast} from "../../utils/math/SafeCast.sol";
+import {Math} from "../../utils/math/Math.sol";
+import {IERC5313} from "../../interfaces/IERC5313.sol";
 
 /**
  * @dev Extension of {AccessControl} that allows specifying special rules to manage

+ 2 - 2
contracts/access/AccessControlEnumerable.sol → contracts/access/extensions/AccessControlEnumerable.sol

@@ -4,8 +4,8 @@
 pragma solidity ^0.8.19;
 
 import {IAccessControlEnumerable} from "./IAccessControlEnumerable.sol";
-import {AccessControl} from "./AccessControl.sol";
-import {EnumerableSet} from "../utils/structs/EnumerableSet.sol";
+import {AccessControl} from "../AccessControl.sol";
+import {EnumerableSet} from "../../utils/structs/EnumerableSet.sol";
 
 /**
  * @dev Extension of {AccessControl} that allows enumerating the members of each role.

+ 1 - 1
contracts/access/IAccessControlDefaultAdminRules.sol → contracts/access/extensions/IAccessControlDefaultAdminRules.sol

@@ -3,7 +3,7 @@
 
 pragma solidity ^0.8.19;
 
-import {IAccessControl} from "./IAccessControl.sol";
+import {IAccessControl} from "../IAccessControl.sol";
 
 /**
  * @dev External interface of AccessControlDefaultAdminRules declared to support ERC165 detection.

+ 1 - 1
contracts/access/IAccessControlEnumerable.sol → contracts/access/extensions/IAccessControlEnumerable.sol

@@ -3,7 +3,7 @@
 
 pragma solidity ^0.8.19;
 
-import {IAccessControl} from "./IAccessControl.sol";
+import {IAccessControl} from "../IAccessControl.sol";
 
 /**
  * @dev External interface of AccessControlEnumerable declared to support ERC165 detection.

+ 1 - 1
test/access/AccessControlDefaultAdminRules.test.js → test/access/extensions/AccessControlDefaultAdminRules.test.js

@@ -2,7 +2,7 @@ const { time, constants, expectRevert } = require('@openzeppelin/test-helpers');
 const {
   shouldBehaveLikeAccessControl,
   shouldBehaveLikeAccessControlDefaultAdminRules,
-} = require('./AccessControl.behavior.js');
+} = require('../AccessControl.behavior.js');
 
 const AccessControlDefaultAdminRules = artifacts.require('$AccessControlDefaultAdminRules');
 

+ 1 - 1
test/access/AccessControlEnumerable.test.js → test/access/extensions/AccessControlEnumerable.test.js

@@ -2,7 +2,7 @@ const {
   DEFAULT_ADMIN_ROLE,
   shouldBehaveLikeAccessControl,
   shouldBehaveLikeAccessControlEnumerable,
-} = require('./AccessControl.behavior.js');
+} = require('../AccessControl.behavior.js');
 
 const AccessControlEnumerable = artifacts.require('$AccessControlEnumerable');