syntax = "proto3";

// Stored encrypted on the server in the members columns.
message EncryptedGroupState {
  repeated int64 member_ids                         = 1;
  repeated int64 admin_ids                          = 2;
  string         group_name                         = 3;
  optional int64 delete_messages_after_milliseconds = 4;
  bytes          padding                            = 5;
}

message EncryptedAppendedGroupState {
  enum Type {
    LEFT_GROUP = 0;
  }
  Type type = 1;
}

message EncryptedGroupStateEnvelop {
  bytes nonce                 = 1;
  bytes encrypted_group_state = 2;
  bytes mac                   = 3;
}