ERC1155 GUID

/// Unique Members Addresses
function uniqueMembers(uint256 id) external view returns (address[] memory);

/// Unique Members Count (w/Token)
function uniqueMembersCount(uint256 id) external view returns (uint256);

/// Check if account is assigned to role
function GUIDHas(address account, bytes32 guid) external view returns (bool);

/// Get Metadata URI by GUID
function GUIDURI(bytes32 guid) external view returns(string memory);

//--- Events

/// New GUID Created
event GUIDCreated(uint256 indexed id, bytes32 guid);

/// URI Change Event
event GUIDURIChange(string value, bytes32 indexed guid);

ERC1155 Roles

/// Unique Members Addresses
function uniqueRoleMembers(string memory role) external view returns (address[] memory);

/// Unique Members Count (w/Token)
function uniqueRoleMembersCount(string memory role) external view returns (uint256);    

/// Check if Role Exists
function roleExist(string memory role) external view returns (bool);

/// Check if account is assigned to role
function roleHas(address account, string calldata role) external view returns (bool);

/// Get Metadata URI by Role
function roleURI(string calldata role) external view returns(string memory);

//--- Events

/// New Role Created
event RoleCreated(uint256 indexed id, string role);

/// URI Change Event
event RoleURIChange(string value, string role);