github.com/status-im/status-go@v1.1.0/protocol/protobuf/chat_identity.proto (about)

     1  syntax = "proto3";
     2  
     3  option go_package = "./;protobuf";
     4  package protobuf;
     5  
     6  import "enums.proto";
     7  import "profile_showcase.proto";
     8  
     9  // ChatIdentity represents the user defined identity associated with their public chat key
    10  message ChatIdentity {
    11    // Lamport timestamp of the message
    12    uint64 clock = 1;
    13  
    14    // ens_name is the valid ENS name associated with the chat key
    15    string ens_name = 2;
    16  
    17    // images is a string indexed mapping of images associated with an identity
    18    map<string, IdentityImage> images = 3;
    19  
    20    // display name is the user set identity
    21    string display_name = 4;
    22  
    23    // description is the user set description
    24    string description = 5;
    25  
    26    string color = 6;
    27  
    28    string emoji = 7;
    29  
    30    repeated SocialLink social_links = 8 [deprecated = true];
    31  
    32    // first known message timestamp in seconds (valid only for community chats for now)
    33    // 0 - unknown
    34    // 1 - no messages
    35    uint32 first_message_timestamp = 9;
    36  
    37    ProfileShowcase profile_showcase = 10;
    38  
    39    uint32 customization_color = 11;
    40  }
    41  
    42  // ProfileImage represents data associated with a user's profile image
    43  message IdentityImage {
    44  
    45    // payload is a context based payload for the profile image data,
    46    // context is determined by the `source_type`
    47    bytes payload = 1;
    48  
    49    // source_type signals the image payload source
    50    SourceType source_type = 2;
    51  
    52    // image_format signals the image format and method of parsing the payload
    53    ImageFormat image_format = 3;
    54  
    55    // encryption_keys is a list of encrypted keys that can be used to decrypted an encrypted payload
    56    repeated bytes encryption_keys = 4;
    57  
    58    // encrypted signals the encryption state of the payload, default is false.
    59    bool encrypted = 5;
    60  
    61    // SourceType are the predefined types of image source allowed
    62    enum SourceType {
    63      UNKNOWN_SOURCE_TYPE = 0;
    64  
    65      // RAW_PAYLOAD image byte data
    66      RAW_PAYLOAD = 1;
    67  
    68      // ENS_AVATAR uses the ENS record's resolver get-text-data.avatar data
    69      // The `payload` field will be ignored if ENS_AVATAR is selected
    70      // The application will read and parse the ENS avatar data as image payload data, URLs will be ignored
    71      // The parent `ChatMessageIdentity` must have a valid `ens_name` set
    72      ENS_AVATAR = 2;
    73    }
    74  }
    75  
    76  // SocialLinks represents social link assosiated with given chat identity (personal/community)
    77  message SocialLink {
    78    string text = 1;
    79    string url = 2;
    80  }