diff --git a/contracts/ownership/rbac/RBACWithAdmin.sol b/contracts/examples/RBACWithAdmin.sol similarity index 71% rename from contracts/ownership/rbac/RBACWithAdmin.sol rename to contracts/examples/RBACWithAdmin.sol index 946ceb45b..7f3e63d51 100644 --- a/contracts/ownership/rbac/RBACWithAdmin.sol +++ b/contracts/examples/RBACWithAdmin.sol @@ -1,6 +1,6 @@ pragma solidity ^0.4.23; -import "./RBAC.sol"; +import "../ownership/rbac/RBAC.sol"; /** @@ -8,6 +8,13 @@ import "./RBAC.sol"; * @author Matt Condon (@Shrugs) * @dev It's recommended that you define constants in the contract, * @dev like ROLE_ADMIN below, to avoid typos. + * @dev + * @dev NOTE: RBACWithAdmin is probably too expansive and powerful for your + * @dev application; an admin is actually able to change any address to any role + * @dev which is a very large API surface. It's recommended that you follow a strategy + * @dev of strictly defining the abilities of your roles + * @dev and the API-surface of your contract. + * @dev This is just an example for example's sake. */ contract RBACWithAdmin is RBAC { /** diff --git a/contracts/mocks/RBACMock.sol b/contracts/mocks/RBACMock.sol index 28d8222c7..ee5b72106 100644 --- a/contracts/mocks/RBACMock.sol +++ b/contracts/mocks/RBACMock.sol @@ -1,6 +1,6 @@ pragma solidity ^0.4.23; -import "../ownership/rbac/RBACWithAdmin.sol"; +import "../examples/RBACWithAdmin.sol"; contract RBACMock is RBACWithAdmin {