Development Artifact Cleanup: ✅ BROTHER_NODE REORGANIZATION: Moved development test node to appropriate location - dev/test-nodes/brother_node/: Moved from root directory for better organization - Contains development configuration, test logs, and test chain data - No impact on production systems - purely development/testing artifact ✅ DEVELOPMENT ARTIFACTS IDENTIFIED: - Chain ID: aitbc-brother-chain (test/development chain) - Ports: 8010 (P2P) and 8011 (RPC) - different from production - Environment: .env file with test configuration - Logs: rpc.log and node.log from development testing session (March 15, 2026) ✅ ROOT DIRECTORY CLEANUP: Removed development clutter from production directory - brother_node/ moved to dev/test-nodes/brother_node/ - Root directory now contains only production-ready components - Development artifacts properly organized in dev/ subdirectory DIRECTORY STRUCTURE IMPROVEMENT: 📁 dev/test-nodes/: Development and testing node configurations 🏗️ Root Directory: Clean production structure with only essential components 🧪 Development Isolation: Test environments separated from production BENEFITS: ✅ Clean Production Directory: No development artifacts in root ✅ Better Organization: Development nodes grouped in dev/ subdirectory ✅ Clear Separation: Production vs development environments clearly distinguished ✅ Maintainability: Easier to identify and manage development components RESULT: Successfully moved brother_node development artifact to dev/test-nodes/ subdirectory, cleaning up the root directory while preserving development testing environment for future use.
32 lines
1.2 KiB
Solidity
Executable File
32 lines
1.2 KiB
Solidity
Executable File
// SPDX-License-Identifier: MIT
|
|
// OpenZeppelin Contracts (last updated v5.4.0) (access/extensions/IAccessControlEnumerable.sol)
|
|
|
|
pragma solidity >=0.8.4;
|
|
|
|
import {IAccessControl} from "../IAccessControl.sol";
|
|
|
|
/**
|
|
* @dev External interface of AccessControlEnumerable declared to support ERC-165 detection.
|
|
*/
|
|
interface IAccessControlEnumerable is IAccessControl {
|
|
/**
|
|
* @dev Returns one of the accounts that have `role`. `index` must be a
|
|
* value between 0 and {getRoleMemberCount}, non-inclusive.
|
|
*
|
|
* Role bearers are not sorted in any particular way, and their ordering may
|
|
* change at any point.
|
|
*
|
|
* WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure
|
|
* you perform all queries on the same block. See the following
|
|
* https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post]
|
|
* for more information.
|
|
*/
|
|
function getRoleMember(bytes32 role, uint256 index) external view returns (address);
|
|
|
|
/**
|
|
* @dev Returns the number of accounts that have `role`. Can be used
|
|
* together with {getRoleMember} to enumerate all bearers of a role.
|
|
*/
|
|
function getRoleMemberCount(bytes32 role) external view returns (uint256);
|
|
}
|