syntax = "proto3"; package communities.v1; import "communities/v1/enums.proto"; // ChatIdentity represents the user defined identity associated with their public chat key message ChatIdentity { // Lamport timestamp of the message uint64 clock = 1; // ens_name is the valid ENS name associated with the chat key string ens_name = 2; // images is a string indexed mapping of images associated with an identity map images = 3; // display name is the user set identity, valid only for organisations string display_name = 4; // description is the user set description, valid only for organisations string description = 5; string color = 6; string emoji = 7; } // ProfileImage represents data associated with a user's profile image message IdentityImage { // payload is a context based payload for the profile image data, // context is determined by the `source_type` bytes payload = 1; // source_type signals the image payload source SourceType source_type = 2; // image_type signals the image type and method of parsing the payload ImageType image_type =3; // SourceType are the predefined types of image source allowed enum SourceType { UNKNOWN_SOURCE_TYPE = 0; // RAW_PAYLOAD image byte data RAW_PAYLOAD = 1; // ENS_AVATAR uses the ENS record's resolver get-text-data.avatar data // The `payload` field will be ignored if ENS_AVATAR is selected // The application will read and parse the ENS avatar data as image payload data, URLs will be ignored // The parent `ChatMessageIdentity` must have a valid `ens_name` set ENS_AVATAR = 2; } }