parent
148a953a7d
commit
02abf3417b
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
'@status-im/js': minor
|
||||
---
|
||||
|
||||
update `protos`
|
|
@ -506,7 +506,7 @@ export class Chat {
|
|||
payload: {
|
||||
case: 'image',
|
||||
value: {
|
||||
type: image.type,
|
||||
format: image.format,
|
||||
payload: image.payload,
|
||||
},
|
||||
},
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
syntax = "proto3";
|
||||
|
||||
import "enums.proto";
|
||||
import "profile-showcase.proto";
|
||||
|
||||
// ChatIdentity represents the user defined identity associated with their public chat key
|
||||
message ChatIdentity {
|
||||
|
@ -29,6 +30,8 @@ message ChatIdentity {
|
|||
// 0 - unknown
|
||||
// 1 - no messages
|
||||
uint32 first_message_timestamp = 9;
|
||||
|
||||
ProfileShowcase profile_showcase = 10;
|
||||
}
|
||||
|
||||
// ProfileImage represents data associated with a user's profile image
|
||||
|
@ -41,8 +44,8 @@ message IdentityImage {
|
|||
// 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;
|
||||
// image_format signals the image format and method of parsing the payload
|
||||
ImageFormat image_format = 3;
|
||||
|
||||
// encryption_keys is a list of encrypted keys that can be used to decrypted an encrypted payload
|
||||
repeated bytes encryption_keys = 4;
|
||||
|
|
|
@ -12,7 +12,8 @@ import type {
|
|||
PlainMessage,
|
||||
} from '@bufbuild/protobuf'
|
||||
import { Message, proto3, protoInt64 } from '@bufbuild/protobuf'
|
||||
import { ImageType } from './enums_pb.js'
|
||||
import { ProfileShowcase } from './profile-showcase_pb.js'
|
||||
import { ImageFormat } from './enums_pb.js'
|
||||
|
||||
/**
|
||||
* ChatIdentity represents the user defined identity associated with their public chat key
|
||||
|
@ -79,6 +80,11 @@ export class ChatIdentity extends Message<ChatIdentity> {
|
|||
*/
|
||||
firstMessageTimestamp = 0
|
||||
|
||||
/**
|
||||
* @generated from field: ProfileShowcase profile_showcase = 10;
|
||||
*/
|
||||
profileShowcase?: ProfileShowcase
|
||||
|
||||
constructor(data?: PartialMessage<ChatIdentity>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
|
@ -123,6 +129,7 @@ export class ChatIdentity extends Message<ChatIdentity> {
|
|||
kind: 'scalar',
|
||||
T: 13 /* ScalarType.UINT32 */,
|
||||
},
|
||||
{ no: 10, name: 'profile_showcase', kind: 'message', T: ProfileShowcase },
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
|
@ -176,11 +183,11 @@ export class IdentityImage extends Message<IdentityImage> {
|
|||
sourceType = IdentityImage_SourceType.UNKNOWN_SOURCE_TYPE
|
||||
|
||||
/**
|
||||
* image_type signals the image type and method of parsing the payload
|
||||
* image_format signals the image format and method of parsing the payload
|
||||
*
|
||||
* @generated from field: ImageType image_type = 3;
|
||||
* @generated from field: ImageFormat image_format = 3;
|
||||
*/
|
||||
imageType = ImageType.UNKNOWN_IMAGE_TYPE
|
||||
imageFormat = ImageFormat.UNKNOWN_IMAGE_FORMAT
|
||||
|
||||
/**
|
||||
* encryption_keys is a list of encrypted keys that can be used to decrypted an encrypted payload
|
||||
|
@ -213,9 +220,9 @@ export class IdentityImage extends Message<IdentityImage> {
|
|||
},
|
||||
{
|
||||
no: 3,
|
||||
name: 'image_type',
|
||||
name: 'image_format',
|
||||
kind: 'enum',
|
||||
T: proto3.getEnumType(ImageType),
|
||||
T: proto3.getEnumType(ImageFormat),
|
||||
},
|
||||
{
|
||||
no: 4,
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
syntax = "proto3";
|
||||
|
||||
import "enums.proto";
|
||||
import "contact.proto";
|
||||
import "shard.proto";
|
||||
|
||||
message StickerMessage {
|
||||
string hash = 1;
|
||||
|
@ -9,7 +11,11 @@ message StickerMessage {
|
|||
|
||||
message ImageMessage {
|
||||
bytes payload = 1;
|
||||
ImageType type = 2;
|
||||
ImageFormat format = 2;
|
||||
string album_id = 3;
|
||||
uint32 width = 4;
|
||||
uint32 height = 5;
|
||||
uint32 album_images_count = 6;
|
||||
}
|
||||
|
||||
message AudioMessage {
|
||||
|
@ -32,10 +38,14 @@ message EditMessage {
|
|||
string message_id = 4;
|
||||
|
||||
// Grant for community edit messages
|
||||
bytes grant = 5;
|
||||
bytes grant = 5 [deprecated = true];
|
||||
|
||||
// The type of message (public/one-to-one/private-group-chat)
|
||||
MessageType message_type = 6;
|
||||
|
||||
ChatMessage.ContentType content_type = 7;
|
||||
repeated UnfurledLink unfurled_links = 8;
|
||||
UnfurledStatusLinks unfurled_status_links = 9;
|
||||
}
|
||||
|
||||
message DeleteMessage {
|
||||
|
@ -45,18 +55,138 @@ message DeleteMessage {
|
|||
string message_id = 3;
|
||||
|
||||
// Grant for community delete messages
|
||||
bytes grant = 4;
|
||||
bytes grant = 4 [deprecated = true];
|
||||
|
||||
// The type of message (public/one-to-one/private-group-chat)
|
||||
MessageType message_type = 5;
|
||||
|
||||
string deleted_by = 6;
|
||||
}
|
||||
|
||||
message SyncDeleteForMeMessage {
|
||||
uint64 clock = 1;
|
||||
string message_id = 2;
|
||||
}
|
||||
|
||||
message DiscordMessage {
|
||||
string id = 1;
|
||||
string type = 2;
|
||||
string timestamp = 3;
|
||||
string timestampEdited = 4;
|
||||
string content = 5;
|
||||
DiscordMessageAuthor author = 6;
|
||||
DiscordMessageReference reference = 7;
|
||||
repeated DiscordMessageAttachment attachments = 8;
|
||||
}
|
||||
|
||||
message DiscordMessageAuthor {
|
||||
string id = 1;
|
||||
string name = 2;
|
||||
string discriminator = 3;
|
||||
string nickname = 4;
|
||||
string avatarUrl = 5;
|
||||
bytes avatarImagePayload = 6;
|
||||
string localUrl = 7;
|
||||
}
|
||||
|
||||
message DiscordMessageReference {
|
||||
string messageId = 1;
|
||||
string channelId = 2;
|
||||
string guildId = 3;
|
||||
}
|
||||
|
||||
message DiscordMessageAttachment {
|
||||
string id = 1;
|
||||
string messageId = 2;
|
||||
string url = 3;
|
||||
string fileName = 4;
|
||||
uint64 fileSizeBytes = 5;
|
||||
string contentType = 6;
|
||||
bytes payload = 7;
|
||||
string localUrl = 8;
|
||||
}
|
||||
|
||||
message BridgeMessage {
|
||||
string bridgeName = 1;
|
||||
string userName = 2;
|
||||
string userAvatar = 3;
|
||||
string userID = 4;
|
||||
string content = 5;
|
||||
string messageID = 6;
|
||||
string parentMessageID = 7;
|
||||
}
|
||||
|
||||
message UnfurledLinkThumbnail {
|
||||
bytes payload = 1;
|
||||
uint32 width = 2;
|
||||
uint32 height = 3;
|
||||
}
|
||||
|
||||
message UnfurledLink {
|
||||
// A valid URL which uniquely identifies this link.
|
||||
string url = 1;
|
||||
// Website's title.
|
||||
string title = 2;
|
||||
// Description is sometimes available, but can be empty. Most mainstream
|
||||
// websites provide this information.
|
||||
string description = 3;
|
||||
bytes thumbnail_payload = 4;
|
||||
uint32 thumbnail_width = 5;
|
||||
uint32 thumbnail_height = 6;
|
||||
LinkType type = 7;
|
||||
bytes favicon_payload = 8;
|
||||
|
||||
enum LinkType {
|
||||
LINK = 0;
|
||||
IMAGE = 1;
|
||||
}
|
||||
}
|
||||
|
||||
message UnfurledStatusContactLink {
|
||||
bytes public_key = 1;
|
||||
string display_name = 2;
|
||||
string description = 3;
|
||||
UnfurledLinkThumbnail icon = 4;
|
||||
}
|
||||
|
||||
message UnfurledStatusCommunityLink {
|
||||
bytes community_id = 1;
|
||||
string display_name = 2;
|
||||
string description = 3;
|
||||
uint32 members_count = 4;
|
||||
string color = 5;
|
||||
UnfurledLinkThumbnail icon = 7;
|
||||
UnfurledLinkThumbnail banner = 8;
|
||||
}
|
||||
|
||||
message UnfurledStatusChannelLink {
|
||||
string channel_uuid = 1;
|
||||
string emoji = 2;
|
||||
string display_name = 3;
|
||||
string description = 4;
|
||||
string color = 5;
|
||||
UnfurledStatusCommunityLink community = 6;
|
||||
}
|
||||
|
||||
message UnfurledStatusLink {
|
||||
string url = 1;
|
||||
oneof payload {
|
||||
UnfurledStatusContactLink contact = 2;
|
||||
UnfurledStatusCommunityLink community = 3;
|
||||
UnfurledStatusChannelLink channel = 4;
|
||||
}
|
||||
}
|
||||
|
||||
// Create a wrapper around repeated property for proper unmarshalling
|
||||
message UnfurledStatusLinks {
|
||||
repeated UnfurledStatusLink unfurled_status_links = 1;
|
||||
}
|
||||
|
||||
message ChatMessage {
|
||||
// Lamport timestamp of the chat message
|
||||
uint64 clock = 1;
|
||||
// Unix timestamps in milliseconds, currently not used as we use whisper as more reliable, but here
|
||||
// so that we don't rely on it
|
||||
// Unix timestamps in milliseconds, currently not used as we use whisper as
|
||||
// more reliable, but here so that we don't rely on it
|
||||
uint64 timestamp = 2;
|
||||
// Text of the message
|
||||
string text = 3;
|
||||
|
@ -67,7 +197,8 @@ message ChatMessage {
|
|||
// Chat id, this field is symmetric for public-chats and private group chats,
|
||||
// but asymmetric in case of one-to-ones, as the sender will use the chat-id
|
||||
// of the received, while the receiver will use the chat-id of the sender.
|
||||
// Probably should be the concatenation of sender-pk & receiver-pk in alphabetical order
|
||||
// Probably should be the concatenation of sender-pk & receiver-pk in
|
||||
// alphabetical order
|
||||
string chat_id = 6;
|
||||
|
||||
// The type of message (public/one-to-one/private-group-chat)
|
||||
|
@ -80,14 +211,24 @@ message ChatMessage {
|
|||
ImageMessage image = 10;
|
||||
AudioMessage audio = 11;
|
||||
bytes community = 12;
|
||||
DiscordMessage discord_message = 99;
|
||||
BridgeMessage bridge_message = 100;
|
||||
}
|
||||
|
||||
// Grant for community chat messages
|
||||
bytes grant = 13;
|
||||
bytes grant = 13 [deprecated = true];
|
||||
|
||||
// Message author's display name, introduced in version 1
|
||||
string display_name = 14;
|
||||
|
||||
ContactRequestPropagatedState contact_request_propagated_state = 15;
|
||||
|
||||
repeated UnfurledLink unfurled_links = 16;
|
||||
|
||||
Shard shard = 17;
|
||||
|
||||
UnfurledStatusLinks unfurled_status_links = 18;
|
||||
|
||||
enum ContentType {
|
||||
UNKNOWN_CONTENT_TYPE = 0;
|
||||
TEXT_PLAIN = 1;
|
||||
|
@ -102,5 +243,17 @@ message ChatMessage {
|
|||
COMMUNITY = 9;
|
||||
// Only local
|
||||
SYSTEM_MESSAGE_GAP = 10;
|
||||
CONTACT_REQUEST = 11;
|
||||
DISCORD_MESSAGE = 12;
|
||||
IDENTITY_VERIFICATION = 13;
|
||||
// Only local
|
||||
SYSTEM_MESSAGE_PINNED_MESSAGE = 14;
|
||||
// Only local
|
||||
SYSTEM_MESSAGE_MUTUAL_EVENT_SENT = 15;
|
||||
// Only local
|
||||
SYSTEM_MESSAGE_MUTUAL_EVENT_ACCEPTED = 16;
|
||||
// Only local
|
||||
SYSTEM_MESSAGE_MUTUAL_EVENT_REMOVED = 17;
|
||||
BRIDGE_MESSAGE = 18;
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,8 @@
|
|||
syntax = "proto3";
|
||||
|
||||
import "chat-identity.proto";
|
||||
import "url.proto";
|
||||
import "enums.proto";
|
||||
import "shard.proto";
|
||||
|
||||
message Grant {
|
||||
bytes community_id = 1;
|
||||
|
@ -12,20 +13,41 @@ message Grant {
|
|||
|
||||
message CommunityMember {
|
||||
enum Roles {
|
||||
UNKNOWN_ROLE = 0;
|
||||
ROLE_ALL = 1;
|
||||
ROLE_MANAGE_USERS = 2;
|
||||
ROLE_MODERATE_CONTENT = 3;
|
||||
reserved 2, 3;
|
||||
reserved "ROLE_MANAGE_USERS", "ROLE_MODERATE_CONTENT";
|
||||
ROLE_NONE = 0;
|
||||
ROLE_OWNER = 1;
|
||||
ROLE_ADMIN = 4;
|
||||
ROLE_TOKEN_MASTER = 5;
|
||||
}
|
||||
enum ChannelRole {
|
||||
// We make POSTER the first role to be the default one.
|
||||
// This is for backwards compatibility. Older protobufs won't have this field and will default to 0.
|
||||
CHANNEL_ROLE_POSTER = 0;
|
||||
CHANNEL_ROLE_VIEWER = 1;
|
||||
}
|
||||
repeated Roles roles = 1;
|
||||
repeated RevealedAccount revealed_accounts = 2 [deprecated = true];
|
||||
uint64 last_update_clock = 3;
|
||||
ChannelRole channel_role = 4;
|
||||
}
|
||||
|
||||
message CommunityTokenMetadata {
|
||||
map<uint64, string> contract_addresses = 1;
|
||||
string description = 2;
|
||||
string image = 3;
|
||||
CommunityTokenType tokenType = 4;
|
||||
string symbol = 5;
|
||||
string name = 6;
|
||||
uint32 decimals = 7;
|
||||
}
|
||||
|
||||
message CommunityPermissions {
|
||||
enum Access {
|
||||
UNKNOWN_ACCESS = 0;
|
||||
NO_MEMBERSHIP = 1;
|
||||
INVITATION_ONLY = 2;
|
||||
ON_REQUEST = 3;
|
||||
AUTO_ACCEPT = 1;
|
||||
INVITATION_ONLY = 2 [deprecated = true];
|
||||
MANUAL_ACCEPT = 3;
|
||||
}
|
||||
|
||||
bool ens_only = 1;
|
||||
|
@ -34,20 +56,63 @@ message CommunityPermissions {
|
|||
Access access = 3;
|
||||
}
|
||||
|
||||
message TokenCriteria {
|
||||
map<uint64, string> contract_addresses = 1;
|
||||
CommunityTokenType type = 2;
|
||||
string symbol = 3;
|
||||
string name = 4;
|
||||
string amount = 5 [deprecated = true];
|
||||
repeated uint64 token_ids = 6;
|
||||
string ens_pattern = 7;
|
||||
uint64 decimals = 8;
|
||||
string amountInWei = 9;
|
||||
}
|
||||
|
||||
message CommunityTokenPermission {
|
||||
|
||||
enum Type {
|
||||
UNKNOWN_TOKEN_PERMISSION = 0;
|
||||
BECOME_ADMIN = 1;
|
||||
BECOME_MEMBER = 2;
|
||||
CAN_VIEW_CHANNEL = 3;
|
||||
CAN_VIEW_AND_POST_CHANNEL = 4;
|
||||
BECOME_TOKEN_MASTER = 5;
|
||||
BECOME_TOKEN_OWNER = 6;
|
||||
}
|
||||
|
||||
string id = 1;
|
||||
Type type = 2;
|
||||
repeated TokenCriteria token_criteria = 3;
|
||||
repeated string chat_ids = 4;
|
||||
bool is_private = 5;
|
||||
}
|
||||
|
||||
message CommunityDescription {
|
||||
uint64 clock = 1;
|
||||
map<string,CommunityMember> members = 2;
|
||||
CommunityPermissions permissions = 3;
|
||||
ChatIdentity identity = 5;
|
||||
map<string,CommunityChat> chats = 6;
|
||||
repeated string ban_list = 7;
|
||||
repeated string ban_list = 7 [deprecated = true];
|
||||
map<string,CommunityCategory> categories = 8;
|
||||
uint64 archive_magnetlink_clock = 9;
|
||||
CommunityAdminSettings admin_settings = 10;
|
||||
string intro_message = 11;
|
||||
string outro_message = 12;
|
||||
bool encrypted = 13;
|
||||
bool encrypted = 13 [deprecated=true];
|
||||
repeated string tags = 14;
|
||||
map<string, CommunityTokenPermission> token_permissions = 15;
|
||||
repeated CommunityTokenMetadata community_tokens_metadata = 16;
|
||||
uint64 active_members_count = 17;
|
||||
string ID = 18;
|
||||
map<string,CommunityBanInfo>banned_members = 19;
|
||||
|
||||
// key is hash ratchet key_id + seq_no
|
||||
map<string, bytes> privateData = 100;
|
||||
}
|
||||
|
||||
message CommunityBanInfo {
|
||||
bool delete_all_messages = 1;
|
||||
}
|
||||
|
||||
message CommunityAdminSettings {
|
||||
|
@ -60,6 +125,7 @@ message CommunityChat {
|
|||
ChatIdentity identity = 3;
|
||||
string category_id = 4;
|
||||
int32 position = 5;
|
||||
bool viewers_can_post_reactions = 6;
|
||||
}
|
||||
|
||||
message CommunityCategory {
|
||||
|
@ -68,11 +134,11 @@ message CommunityCategory {
|
|||
int32 position = 3;
|
||||
}
|
||||
|
||||
message CommunityInvitation {
|
||||
bytes community_description = 1;
|
||||
bytes grant = 2;
|
||||
string chat_id = 3;
|
||||
bytes public_key = 4;
|
||||
message RevealedAccount {
|
||||
string address = 1;
|
||||
bytes signature = 2;
|
||||
repeated uint64 chain_ids = 3;
|
||||
bool isAirdropAddress = 4;
|
||||
}
|
||||
|
||||
message CommunityRequestToJoin {
|
||||
|
@ -81,6 +147,13 @@ message CommunityRequestToJoin {
|
|||
string chat_id = 3;
|
||||
bytes community_id = 4;
|
||||
string display_name = 5;
|
||||
repeated RevealedAccount revealed_accounts = 6;
|
||||
}
|
||||
|
||||
message CommunityEditSharedAddresses {
|
||||
uint64 clock = 1;
|
||||
bytes community_id = 2;
|
||||
repeated RevealedAccount revealed_accounts = 3;
|
||||
}
|
||||
|
||||
message CommunityCancelRequestToJoin {
|
||||
|
@ -91,6 +164,11 @@ message CommunityCancelRequestToJoin {
|
|||
string display_name = 5;
|
||||
}
|
||||
|
||||
message CommunityUserKicked {
|
||||
uint64 clock = 1;
|
||||
bytes community_id = 2;
|
||||
}
|
||||
|
||||
message CommunityRequestToJoinResponse {
|
||||
uint64 clock = 1;
|
||||
CommunityDescription community = 2;
|
||||
|
@ -98,6 +176,8 @@ message CommunityRequestToJoinResponse {
|
|||
bytes grant = 4;
|
||||
bytes community_id = 5;
|
||||
string magnet_uri = 6;
|
||||
bytes protected_topic_private_key = 7;
|
||||
Shard shard = 8;
|
||||
}
|
||||
|
||||
message CommunityRequestToLeave {
|
||||
|
@ -144,3 +224,32 @@ message WakuMessageArchiveIndexMetadata {
|
|||
message WakuMessageArchiveIndex {
|
||||
map<string, WakuMessageArchiveIndexMetadata> archives = 1;
|
||||
}
|
||||
|
||||
message CommunityPublicStorenodesInfo {
|
||||
// Signature of the payload field
|
||||
bytes signature = 1;
|
||||
// Marshaled CommunityStorenodes
|
||||
bytes payload = 2;
|
||||
}
|
||||
|
||||
message CommunityStorenodes {
|
||||
uint64 clock = 1;
|
||||
bytes community_id = 2;
|
||||
repeated Storenode storenodes = 3;
|
||||
uint64 chain_id = 4;
|
||||
}
|
||||
|
||||
message Storenode {
|
||||
bytes community_id = 1;
|
||||
string storenode_id = 2;
|
||||
string name = 3;
|
||||
string address = 4;
|
||||
string fleet = 5;
|
||||
uint32 version = 6;
|
||||
bool removed = 7;
|
||||
int64 deleted_at = 8;
|
||||
}
|
||||
|
||||
message CommunityReevaluatePermissionsRequest {
|
||||
bytes community_id = 1;
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,28 @@
|
|||
syntax = "proto3";
|
||||
|
||||
message ContactRequestPropagatedState {
|
||||
uint64 local_clock = 1;
|
||||
uint64 local_state = 2;
|
||||
uint64 remote_clock = 3;
|
||||
uint64 remote_state = 4;
|
||||
}
|
||||
|
||||
message ContactUpdate {
|
||||
uint64 clock = 1;
|
||||
string ens_name = 2;
|
||||
string profile_image = 3;
|
||||
string display_name = 4;
|
||||
uint64 contact_request_clock = 5;
|
||||
ContactRequestPropagatedState contact_request_propagated_state = 6;
|
||||
string public_key = 7;
|
||||
}
|
||||
|
||||
message AcceptContactRequest {
|
||||
string id = 1;
|
||||
uint64 clock = 2;
|
||||
}
|
||||
|
||||
message RetractContactRequest {
|
||||
string id = 1;
|
||||
uint64 clock = 2;
|
||||
}
|
|
@ -0,0 +1,325 @@
|
|||
// @generated by protoc-gen-es v1.4.2 with parameter "target=ts"
|
||||
// @generated from file contact.proto (syntax proto3)
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import type {
|
||||
BinaryReadOptions,
|
||||
FieldList,
|
||||
JsonReadOptions,
|
||||
JsonValue,
|
||||
PartialMessage,
|
||||
PlainMessage,
|
||||
} from '@bufbuild/protobuf'
|
||||
import { Message, proto3, protoInt64 } from '@bufbuild/protobuf'
|
||||
|
||||
/**
|
||||
* @generated from message ContactRequestPropagatedState
|
||||
*/
|
||||
export class ContactRequestPropagatedState extends Message<ContactRequestPropagatedState> {
|
||||
/**
|
||||
* @generated from field: uint64 local_clock = 1;
|
||||
*/
|
||||
localClock = protoInt64.zero
|
||||
|
||||
/**
|
||||
* @generated from field: uint64 local_state = 2;
|
||||
*/
|
||||
localState = protoInt64.zero
|
||||
|
||||
/**
|
||||
* @generated from field: uint64 remote_clock = 3;
|
||||
*/
|
||||
remoteClock = protoInt64.zero
|
||||
|
||||
/**
|
||||
* @generated from field: uint64 remote_state = 4;
|
||||
*/
|
||||
remoteState = protoInt64.zero
|
||||
|
||||
constructor(data?: PartialMessage<ContactRequestPropagatedState>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
}
|
||||
|
||||
static readonly runtime: typeof proto3 = proto3
|
||||
static readonly typeName = 'ContactRequestPropagatedState'
|
||||
static readonly fields: FieldList = proto3.util.newFieldList(() => [
|
||||
{
|
||||
no: 1,
|
||||
name: 'local_clock',
|
||||
kind: 'scalar',
|
||||
T: 4 /* ScalarType.UINT64 */,
|
||||
},
|
||||
{
|
||||
no: 2,
|
||||
name: 'local_state',
|
||||
kind: 'scalar',
|
||||
T: 4 /* ScalarType.UINT64 */,
|
||||
},
|
||||
{
|
||||
no: 3,
|
||||
name: 'remote_clock',
|
||||
kind: 'scalar',
|
||||
T: 4 /* ScalarType.UINT64 */,
|
||||
},
|
||||
{
|
||||
no: 4,
|
||||
name: 'remote_state',
|
||||
kind: 'scalar',
|
||||
T: 4 /* ScalarType.UINT64 */,
|
||||
},
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
bytes: Uint8Array,
|
||||
options?: Partial<BinaryReadOptions>
|
||||
): ContactRequestPropagatedState {
|
||||
return new ContactRequestPropagatedState().fromBinary(bytes, options)
|
||||
}
|
||||
|
||||
static fromJson(
|
||||
jsonValue: JsonValue,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): ContactRequestPropagatedState {
|
||||
return new ContactRequestPropagatedState().fromJson(jsonValue, options)
|
||||
}
|
||||
|
||||
static fromJsonString(
|
||||
jsonString: string,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): ContactRequestPropagatedState {
|
||||
return new ContactRequestPropagatedState().fromJsonString(
|
||||
jsonString,
|
||||
options
|
||||
)
|
||||
}
|
||||
|
||||
static equals(
|
||||
a:
|
||||
| ContactRequestPropagatedState
|
||||
| PlainMessage<ContactRequestPropagatedState>
|
||||
| undefined,
|
||||
b:
|
||||
| ContactRequestPropagatedState
|
||||
| PlainMessage<ContactRequestPropagatedState>
|
||||
| undefined
|
||||
): boolean {
|
||||
return proto3.util.equals(ContactRequestPropagatedState, a, b)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @generated from message ContactUpdate
|
||||
*/
|
||||
export class ContactUpdate extends Message<ContactUpdate> {
|
||||
/**
|
||||
* @generated from field: uint64 clock = 1;
|
||||
*/
|
||||
clock = protoInt64.zero
|
||||
|
||||
/**
|
||||
* @generated from field: string ens_name = 2;
|
||||
*/
|
||||
ensName = ''
|
||||
|
||||
/**
|
||||
* @generated from field: string profile_image = 3;
|
||||
*/
|
||||
profileImage = ''
|
||||
|
||||
/**
|
||||
* @generated from field: string display_name = 4;
|
||||
*/
|
||||
displayName = ''
|
||||
|
||||
/**
|
||||
* @generated from field: uint64 contact_request_clock = 5;
|
||||
*/
|
||||
contactRequestClock = protoInt64.zero
|
||||
|
||||
/**
|
||||
* @generated from field: ContactRequestPropagatedState contact_request_propagated_state = 6;
|
||||
*/
|
||||
contactRequestPropagatedState?: ContactRequestPropagatedState
|
||||
|
||||
/**
|
||||
* @generated from field: string public_key = 7;
|
||||
*/
|
||||
publicKey = ''
|
||||
|
||||
constructor(data?: PartialMessage<ContactUpdate>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
}
|
||||
|
||||
static readonly runtime: typeof proto3 = proto3
|
||||
static readonly typeName = 'ContactUpdate'
|
||||
static readonly fields: FieldList = proto3.util.newFieldList(() => [
|
||||
{ no: 1, name: 'clock', kind: 'scalar', T: 4 /* ScalarType.UINT64 */ },
|
||||
{ no: 2, name: 'ens_name', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
|
||||
{
|
||||
no: 3,
|
||||
name: 'profile_image',
|
||||
kind: 'scalar',
|
||||
T: 9 /* ScalarType.STRING */,
|
||||
},
|
||||
{
|
||||
no: 4,
|
||||
name: 'display_name',
|
||||
kind: 'scalar',
|
||||
T: 9 /* ScalarType.STRING */,
|
||||
},
|
||||
{
|
||||
no: 5,
|
||||
name: 'contact_request_clock',
|
||||
kind: 'scalar',
|
||||
T: 4 /* ScalarType.UINT64 */,
|
||||
},
|
||||
{
|
||||
no: 6,
|
||||
name: 'contact_request_propagated_state',
|
||||
kind: 'message',
|
||||
T: ContactRequestPropagatedState,
|
||||
},
|
||||
{ no: 7, name: 'public_key', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
bytes: Uint8Array,
|
||||
options?: Partial<BinaryReadOptions>
|
||||
): ContactUpdate {
|
||||
return new ContactUpdate().fromBinary(bytes, options)
|
||||
}
|
||||
|
||||
static fromJson(
|
||||
jsonValue: JsonValue,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): ContactUpdate {
|
||||
return new ContactUpdate().fromJson(jsonValue, options)
|
||||
}
|
||||
|
||||
static fromJsonString(
|
||||
jsonString: string,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): ContactUpdate {
|
||||
return new ContactUpdate().fromJsonString(jsonString, options)
|
||||
}
|
||||
|
||||
static equals(
|
||||
a: ContactUpdate | PlainMessage<ContactUpdate> | undefined,
|
||||
b: ContactUpdate | PlainMessage<ContactUpdate> | undefined
|
||||
): boolean {
|
||||
return proto3.util.equals(ContactUpdate, a, b)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @generated from message AcceptContactRequest
|
||||
*/
|
||||
export class AcceptContactRequest extends Message<AcceptContactRequest> {
|
||||
/**
|
||||
* @generated from field: string id = 1;
|
||||
*/
|
||||
id = ''
|
||||
|
||||
/**
|
||||
* @generated from field: uint64 clock = 2;
|
||||
*/
|
||||
clock = protoInt64.zero
|
||||
|
||||
constructor(data?: PartialMessage<AcceptContactRequest>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
}
|
||||
|
||||
static readonly runtime: typeof proto3 = proto3
|
||||
static readonly typeName = 'AcceptContactRequest'
|
||||
static readonly fields: FieldList = proto3.util.newFieldList(() => [
|
||||
{ no: 1, name: 'id', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
|
||||
{ no: 2, name: 'clock', kind: 'scalar', T: 4 /* ScalarType.UINT64 */ },
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
bytes: Uint8Array,
|
||||
options?: Partial<BinaryReadOptions>
|
||||
): AcceptContactRequest {
|
||||
return new AcceptContactRequest().fromBinary(bytes, options)
|
||||
}
|
||||
|
||||
static fromJson(
|
||||
jsonValue: JsonValue,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): AcceptContactRequest {
|
||||
return new AcceptContactRequest().fromJson(jsonValue, options)
|
||||
}
|
||||
|
||||
static fromJsonString(
|
||||
jsonString: string,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): AcceptContactRequest {
|
||||
return new AcceptContactRequest().fromJsonString(jsonString, options)
|
||||
}
|
||||
|
||||
static equals(
|
||||
a: AcceptContactRequest | PlainMessage<AcceptContactRequest> | undefined,
|
||||
b: AcceptContactRequest | PlainMessage<AcceptContactRequest> | undefined
|
||||
): boolean {
|
||||
return proto3.util.equals(AcceptContactRequest, a, b)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @generated from message RetractContactRequest
|
||||
*/
|
||||
export class RetractContactRequest extends Message<RetractContactRequest> {
|
||||
/**
|
||||
* @generated from field: string id = 1;
|
||||
*/
|
||||
id = ''
|
||||
|
||||
/**
|
||||
* @generated from field: uint64 clock = 2;
|
||||
*/
|
||||
clock = protoInt64.zero
|
||||
|
||||
constructor(data?: PartialMessage<RetractContactRequest>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
}
|
||||
|
||||
static readonly runtime: typeof proto3 = proto3
|
||||
static readonly typeName = 'RetractContactRequest'
|
||||
static readonly fields: FieldList = proto3.util.newFieldList(() => [
|
||||
{ no: 1, name: 'id', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
|
||||
{ no: 2, name: 'clock', kind: 'scalar', T: 4 /* ScalarType.UINT64 */ },
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
bytes: Uint8Array,
|
||||
options?: Partial<BinaryReadOptions>
|
||||
): RetractContactRequest {
|
||||
return new RetractContactRequest().fromBinary(bytes, options)
|
||||
}
|
||||
|
||||
static fromJson(
|
||||
jsonValue: JsonValue,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): RetractContactRequest {
|
||||
return new RetractContactRequest().fromJson(jsonValue, options)
|
||||
}
|
||||
|
||||
static fromJsonString(
|
||||
jsonString: string,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): RetractContactRequest {
|
||||
return new RetractContactRequest().fromJsonString(jsonString, options)
|
||||
}
|
||||
|
||||
static equals(
|
||||
a: RetractContactRequest | PlainMessage<RetractContactRequest> | undefined,
|
||||
b: RetractContactRequest | PlainMessage<RetractContactRequest> | undefined
|
||||
): boolean {
|
||||
return proto3.util.equals(RetractContactRequest, a, b)
|
||||
}
|
||||
}
|
|
@ -33,5 +33,5 @@ message EmojiReaction {
|
|||
bool retracted = 6;
|
||||
|
||||
// Grant for organisation chat messages
|
||||
bytes grant = 7;
|
||||
bytes grant = 7 [deprecated = true];
|
||||
}
|
||||
|
|
|
@ -64,7 +64,8 @@ export class EmojiReaction extends Message<EmojiReaction> {
|
|||
/**
|
||||
* Grant for organisation chat messages
|
||||
*
|
||||
* @generated from field: bytes grant = 7;
|
||||
* @generated from field: bytes grant = 7 [deprecated = true];
|
||||
* @deprecated
|
||||
*/
|
||||
grant = new Uint8Array(0)
|
||||
|
||||
|
|
|
@ -12,8 +12,8 @@ enum MessageType {
|
|||
SYSTEM_MESSAGE_GAP = 6;
|
||||
}
|
||||
|
||||
enum ImageType {
|
||||
UNKNOWN_IMAGE_TYPE = 0;
|
||||
enum ImageFormat {
|
||||
UNKNOWN_IMAGE_FORMAT = 0;
|
||||
|
||||
// Raster image files is payload data that can be read as a raster image
|
||||
PNG = 1;
|
||||
|
@ -21,3 +21,10 @@ enum ImageType {
|
|||
WEBP = 3;
|
||||
GIF = 4;
|
||||
}
|
||||
|
||||
enum CommunityTokenType {
|
||||
UNKNOWN_TOKEN_TYPE = 0;
|
||||
ERC20 = 1;
|
||||
ERC721 = 2;
|
||||
ENS = 3;
|
||||
}
|
||||
|
|
|
@ -60,13 +60,13 @@ proto3.util.setEnumType(MessageType, 'MessageType', [
|
|||
])
|
||||
|
||||
/**
|
||||
* @generated from enum ImageType
|
||||
* @generated from enum ImageFormat
|
||||
*/
|
||||
export enum ImageType {
|
||||
export enum ImageFormat {
|
||||
/**
|
||||
* @generated from enum value: UNKNOWN_IMAGE_TYPE = 0;
|
||||
* @generated from enum value: UNKNOWN_IMAGE_FORMAT = 0;
|
||||
*/
|
||||
UNKNOWN_IMAGE_TYPE = 0,
|
||||
UNKNOWN_IMAGE_FORMAT = 0,
|
||||
|
||||
/**
|
||||
* Raster image files is payload data that can be read as a raster image
|
||||
|
@ -90,11 +90,43 @@ export enum ImageType {
|
|||
*/
|
||||
GIF = 4,
|
||||
}
|
||||
// Retrieve enum metadata with: proto3.getEnumType(ImageType)
|
||||
proto3.util.setEnumType(ImageType, 'ImageType', [
|
||||
{ no: 0, name: 'UNKNOWN_IMAGE_TYPE' },
|
||||
// Retrieve enum metadata with: proto3.getEnumType(ImageFormat)
|
||||
proto3.util.setEnumType(ImageFormat, 'ImageFormat', [
|
||||
{ no: 0, name: 'UNKNOWN_IMAGE_FORMAT' },
|
||||
{ no: 1, name: 'PNG' },
|
||||
{ no: 2, name: 'JPEG' },
|
||||
{ no: 3, name: 'WEBP' },
|
||||
{ no: 4, name: 'GIF' },
|
||||
])
|
||||
|
||||
/**
|
||||
* @generated from enum CommunityTokenType
|
||||
*/
|
||||
export enum CommunityTokenType {
|
||||
/**
|
||||
* @generated from enum value: UNKNOWN_TOKEN_TYPE = 0;
|
||||
*/
|
||||
UNKNOWN_TOKEN_TYPE = 0,
|
||||
|
||||
/**
|
||||
* @generated from enum value: ERC20 = 1;
|
||||
*/
|
||||
ERC20 = 1,
|
||||
|
||||
/**
|
||||
* @generated from enum value: ERC721 = 2;
|
||||
*/
|
||||
ERC721 = 2,
|
||||
|
||||
/**
|
||||
* @generated from enum value: ENS = 3;
|
||||
*/
|
||||
ENS = 3,
|
||||
}
|
||||
// Retrieve enum metadata with: proto3.getEnumType(CommunityTokenType)
|
||||
proto3.util.setEnumType(CommunityTokenType, 'CommunityTokenType', [
|
||||
{ no: 0, name: 'UNKNOWN_TOKEN_TYPE' },
|
||||
{ no: 1, name: 'ERC20' },
|
||||
{ no: 2, name: 'ERC721' },
|
||||
{ no: 3, name: 'ENS' },
|
||||
])
|
||||
|
|
|
@ -12,6 +12,10 @@ message MembershipUpdateEvent {
|
|||
string name = 3;
|
||||
// The type of the event
|
||||
EventType type = 4;
|
||||
// Color of the chat for the CHAT_CREATED/COLOR_CHANGED event types
|
||||
string color = 5;
|
||||
// Chat image
|
||||
bytes image = 6;
|
||||
|
||||
enum EventType {
|
||||
UNKNOWN = 0;
|
||||
|
@ -22,6 +26,8 @@ message MembershipUpdateEvent {
|
|||
MEMBER_REMOVED = 5;
|
||||
ADMINS_ADDED = 6;
|
||||
ADMIN_REMOVED = 7;
|
||||
COLOR_CHANGED = 8;
|
||||
IMAGE_CHANGED = 9;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -47,6 +47,20 @@ export class MembershipUpdateEvent extends Message<MembershipUpdateEvent> {
|
|||
*/
|
||||
type = MembershipUpdateEvent_EventType.UNKNOWN
|
||||
|
||||
/**
|
||||
* Color of the chat for the CHAT_CREATED/COLOR_CHANGED event types
|
||||
*
|
||||
* @generated from field: string color = 5;
|
||||
*/
|
||||
color = ''
|
||||
|
||||
/**
|
||||
* Chat image
|
||||
*
|
||||
* @generated from field: bytes image = 6;
|
||||
*/
|
||||
image = new Uint8Array(0)
|
||||
|
||||
constructor(data?: PartialMessage<MembershipUpdateEvent>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
|
@ -70,6 +84,8 @@ export class MembershipUpdateEvent extends Message<MembershipUpdateEvent> {
|
|||
kind: 'enum',
|
||||
T: proto3.getEnumType(MembershipUpdateEvent_EventType),
|
||||
},
|
||||
{ no: 5, name: 'color', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
|
||||
{ no: 6, name: 'image', kind: 'scalar', T: 12 /* ScalarType.BYTES */ },
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
|
@ -144,6 +160,16 @@ export enum MembershipUpdateEvent_EventType {
|
|||
* @generated from enum value: ADMIN_REMOVED = 7;
|
||||
*/
|
||||
ADMIN_REMOVED = 7,
|
||||
|
||||
/**
|
||||
* @generated from enum value: COLOR_CHANGED = 8;
|
||||
*/
|
||||
COLOR_CHANGED = 8,
|
||||
|
||||
/**
|
||||
* @generated from enum value: IMAGE_CHANGED = 9;
|
||||
*/
|
||||
IMAGE_CHANGED = 9,
|
||||
}
|
||||
// Retrieve enum metadata with: proto3.getEnumType(MembershipUpdateEvent_EventType)
|
||||
proto3.util.setEnumType(
|
||||
|
@ -158,6 +184,8 @@ proto3.util.setEnumType(
|
|||
{ no: 5, name: 'MEMBER_REMOVED' },
|
||||
{ no: 6, name: 'ADMINS_ADDED' },
|
||||
{ no: 7, name: 'ADMIN_REMOVED' },
|
||||
{ no: 8, name: 'COLOR_CHANGED' },
|
||||
{ no: 9, name: 'IMAGE_CHANGED' },
|
||||
]
|
||||
)
|
||||
|
||||
|
|
|
@ -0,0 +1,130 @@
|
|||
syntax = "proto3";
|
||||
|
||||
// Profile showcase for a contact
|
||||
|
||||
message ProfileShowcaseCommunity {
|
||||
string community_id = 1;
|
||||
uint32 order = 2;
|
||||
bytes grant = 3;
|
||||
}
|
||||
|
||||
message ProfileShowcaseAccount {
|
||||
string address = 1;
|
||||
string name = 2;
|
||||
string color_id = 3;
|
||||
string emoji = 4;
|
||||
uint32 order = 5;
|
||||
}
|
||||
|
||||
message ProfileShowcaseCollectible {
|
||||
string uid = 1 [deprecated = true];
|
||||
uint32 order = 2;
|
||||
string contract_address = 3;
|
||||
string community_id = 4 [deprecated = true];
|
||||
uint64 chain_id = 5;
|
||||
string token_id = 6;
|
||||
string account_address = 7 [deprecated = true];
|
||||
}
|
||||
|
||||
message ProfileShowcaseVerifiedToken {
|
||||
string symbol = 1;
|
||||
uint32 order = 2;
|
||||
}
|
||||
|
||||
message ProfileShowcaseUnverifiedToken {
|
||||
string contract_address = 1;
|
||||
uint32 order = 2;
|
||||
uint64 chain_id = 3;
|
||||
string community_id = 4 [deprecated = true];
|
||||
}
|
||||
|
||||
message ProfileShowcaseSocialLink {
|
||||
string url = 1;
|
||||
uint32 order = 2;
|
||||
string text = 3;
|
||||
}
|
||||
|
||||
message ProfileShowcaseEntries {
|
||||
repeated ProfileShowcaseCommunity communities = 1;
|
||||
repeated ProfileShowcaseAccount accounts = 2;
|
||||
repeated ProfileShowcaseCollectible collectibles = 3;
|
||||
repeated ProfileShowcaseVerifiedToken verified_tokens = 4;
|
||||
repeated ProfileShowcaseUnverifiedToken unverified_tokens = 5;
|
||||
repeated ProfileShowcaseSocialLink social_links = 6;
|
||||
}
|
||||
|
||||
message ProfileShowcaseEntriesEncrypted {
|
||||
bytes encrypted_entries = 1;
|
||||
repeated bytes encryption_keys = 2;
|
||||
}
|
||||
|
||||
message ProfileShowcase {
|
||||
ProfileShowcaseEntries for_everyone = 1;
|
||||
ProfileShowcaseEntriesEncrypted for_contacts = 2;
|
||||
ProfileShowcaseEntriesEncrypted for_id_verified_contacts = 3;
|
||||
}
|
||||
|
||||
// Profile showcase preferences
|
||||
|
||||
enum ProfileShowcaseVisibility {
|
||||
PROFILE_SHOWCASE_VISIBILITY_NO_ONE = 0;
|
||||
PROFILE_SHOWCASE_VISIBILITY_IDVERIFIED_CONTACTS = 1;
|
||||
PROFILE_SHOWCASE_VISIBILITY_CONTACTS = 2;
|
||||
PROFILE_SHOWCASE_VISIBILITY_EVERYONE = 3;
|
||||
}
|
||||
|
||||
message ProfileShowcaseCommunityPreference {
|
||||
string community_id = 1;
|
||||
ProfileShowcaseVisibility showcase_visibility = 2;
|
||||
uint32 order = 3;
|
||||
}
|
||||
|
||||
message ProfileShowcaseAccountPreference {
|
||||
string address = 1;
|
||||
string name = 2 [deprecated = true];
|
||||
string color_id = 3 [deprecated = true];
|
||||
string emoji = 4 [deprecated = true];
|
||||
ProfileShowcaseVisibility showcase_visibility = 5;
|
||||
uint32 order = 6;
|
||||
}
|
||||
|
||||
message ProfileShowcaseCollectiblePreference {
|
||||
string contract_address = 1;
|
||||
uint64 chain_id = 2;
|
||||
string token_id = 3;
|
||||
string community_id = 4 [deprecated = true];
|
||||
string account_address = 5 [deprecated = true];
|
||||
ProfileShowcaseVisibility showcase_visibility = 6;
|
||||
uint32 order = 7;
|
||||
}
|
||||
|
||||
message ProfileShowcaseVerifiedTokenPreference {
|
||||
string symbol = 1;
|
||||
ProfileShowcaseVisibility showcase_visibility = 2;
|
||||
uint32 order = 3;
|
||||
}
|
||||
|
||||
message ProfileShowcaseUnverifiedTokenPreference {
|
||||
string contract_address = 1;
|
||||
uint64 chain_id = 2;
|
||||
string community_id = 3 [deprecated = true];
|
||||
ProfileShowcaseVisibility showcase_visibility = 4;
|
||||
uint32 order = 5;
|
||||
}
|
||||
|
||||
message ProfileShowcaseSocialLinkPreference {
|
||||
string url = 1;
|
||||
string text = 2;
|
||||
uint32 order = 3;
|
||||
ProfileShowcaseVisibility showcase_visibility = 4;
|
||||
}
|
||||
|
||||
message SyncProfileShowcasePreferences {
|
||||
uint64 clock = 1;
|
||||
repeated ProfileShowcaseCommunityPreference communities = 2;
|
||||
repeated ProfileShowcaseAccountPreference accounts = 3;
|
||||
repeated ProfileShowcaseCollectiblePreference collectibles = 4;
|
||||
repeated ProfileShowcaseVerifiedTokenPreference verified_tokens = 5;
|
||||
repeated ProfileShowcaseUnverifiedTokenPreference unverified_tokens = 6;
|
||||
repeated ProfileShowcaseSocialLinkPreference social_links = 7;
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -53,21 +53,32 @@ message X3DHHeader {
|
|||
|
||||
// Hash Ratchet Header
|
||||
message HRHeader {
|
||||
// community key ID
|
||||
uint32 key_id = 1;
|
||||
// Community message number for this key_id
|
||||
// deprecated group key ID
|
||||
uint32 deprecated_key_id = 1;
|
||||
// group message number for this key_id
|
||||
uint32 seq_no = 2;
|
||||
// Community ID
|
||||
// group ID
|
||||
bytes group_id = 3;
|
||||
// group key ID
|
||||
bytes key_id = 4;
|
||||
HRKeys keys = 5;
|
||||
}
|
||||
|
||||
message RekeyGroup {
|
||||
uint64 timestamp = 2;
|
||||
|
||||
map<uint32, bytes> keys = 4;
|
||||
}
|
||||
|
||||
message HRKeys {
|
||||
repeated HRKey keys = 1;
|
||||
RekeyGroup rekey_group = 2;
|
||||
}
|
||||
|
||||
message HRKey {
|
||||
uint32 key_id = 1;
|
||||
uint32 deprecated_key_id = 1;
|
||||
bytes key = 2;
|
||||
uint64 timestamp = 3;
|
||||
}
|
||||
|
||||
// Direct message value
|
||||
|
|
|
@ -423,26 +423,38 @@ export class X3DHHeader extends Message<X3DHHeader> {
|
|||
*/
|
||||
export class HRHeader extends Message<HRHeader> {
|
||||
/**
|
||||
* community key ID
|
||||
* deprecated group key ID
|
||||
*
|
||||
* @generated from field: uint32 key_id = 1;
|
||||
* @generated from field: uint32 deprecated_key_id = 1;
|
||||
*/
|
||||
keyId = 0
|
||||
deprecatedKeyId = 0
|
||||
|
||||
/**
|
||||
* Community message number for this key_id
|
||||
* group message number for this key_id
|
||||
*
|
||||
* @generated from field: uint32 seq_no = 2;
|
||||
*/
|
||||
seqNo = 0
|
||||
|
||||
/**
|
||||
* Community ID
|
||||
* group ID
|
||||
*
|
||||
* @generated from field: bytes group_id = 3;
|
||||
*/
|
||||
groupId = new Uint8Array(0)
|
||||
|
||||
/**
|
||||
* group key ID
|
||||
*
|
||||
* @generated from field: bytes key_id = 4;
|
||||
*/
|
||||
keyId = new Uint8Array(0)
|
||||
|
||||
/**
|
||||
* @generated from field: HRKeys keys = 5;
|
||||
*/
|
||||
keys?: HRKeys
|
||||
|
||||
constructor(data?: PartialMessage<HRHeader>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
|
@ -451,9 +463,16 @@ export class HRHeader extends Message<HRHeader> {
|
|||
static readonly runtime: typeof proto3 = proto3
|
||||
static readonly typeName = 'HRHeader'
|
||||
static readonly fields: FieldList = proto3.util.newFieldList(() => [
|
||||
{ no: 1, name: 'key_id', kind: 'scalar', T: 13 /* ScalarType.UINT32 */ },
|
||||
{
|
||||
no: 1,
|
||||
name: 'deprecated_key_id',
|
||||
kind: 'scalar',
|
||||
T: 13 /* ScalarType.UINT32 */,
|
||||
},
|
||||
{ no: 2, name: 'seq_no', kind: 'scalar', T: 13 /* ScalarType.UINT32 */ },
|
||||
{ no: 3, name: 'group_id', kind: 'scalar', T: 12 /* ScalarType.BYTES */ },
|
||||
{ no: 4, name: 'key_id', kind: 'scalar', T: 12 /* ScalarType.BYTES */ },
|
||||
{ no: 5, name: 'keys', kind: 'message', T: HRKeys },
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
|
@ -485,6 +504,67 @@ export class HRHeader extends Message<HRHeader> {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @generated from message RekeyGroup
|
||||
*/
|
||||
export class RekeyGroup extends Message<RekeyGroup> {
|
||||
/**
|
||||
* @generated from field: uint64 timestamp = 2;
|
||||
*/
|
||||
timestamp = protoInt64.zero
|
||||
|
||||
/**
|
||||
* @generated from field: map<uint32, bytes> keys = 4;
|
||||
*/
|
||||
keys: { [key: number]: Uint8Array } = {}
|
||||
|
||||
constructor(data?: PartialMessage<RekeyGroup>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
}
|
||||
|
||||
static readonly runtime: typeof proto3 = proto3
|
||||
static readonly typeName = 'RekeyGroup'
|
||||
static readonly fields: FieldList = proto3.util.newFieldList(() => [
|
||||
{ no: 2, name: 'timestamp', kind: 'scalar', T: 4 /* ScalarType.UINT64 */ },
|
||||
{
|
||||
no: 4,
|
||||
name: 'keys',
|
||||
kind: 'map',
|
||||
K: 13 /* ScalarType.UINT32 */,
|
||||
V: { kind: 'scalar', T: 12 /* ScalarType.BYTES */ },
|
||||
},
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
bytes: Uint8Array,
|
||||
options?: Partial<BinaryReadOptions>
|
||||
): RekeyGroup {
|
||||
return new RekeyGroup().fromBinary(bytes, options)
|
||||
}
|
||||
|
||||
static fromJson(
|
||||
jsonValue: JsonValue,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): RekeyGroup {
|
||||
return new RekeyGroup().fromJson(jsonValue, options)
|
||||
}
|
||||
|
||||
static fromJsonString(
|
||||
jsonString: string,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): RekeyGroup {
|
||||
return new RekeyGroup().fromJsonString(jsonString, options)
|
||||
}
|
||||
|
||||
static equals(
|
||||
a: RekeyGroup | PlainMessage<RekeyGroup> | undefined,
|
||||
b: RekeyGroup | PlainMessage<RekeyGroup> | undefined
|
||||
): boolean {
|
||||
return proto3.util.equals(RekeyGroup, a, b)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @generated from message HRKeys
|
||||
*/
|
||||
|
@ -494,6 +574,11 @@ export class HRKeys extends Message<HRKeys> {
|
|||
*/
|
||||
keys: HRKey[] = []
|
||||
|
||||
/**
|
||||
* @generated from field: RekeyGroup rekey_group = 2;
|
||||
*/
|
||||
rekeyGroup?: RekeyGroup
|
||||
|
||||
constructor(data?: PartialMessage<HRKeys>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
|
@ -503,6 +588,7 @@ export class HRKeys extends Message<HRKeys> {
|
|||
static readonly typeName = 'HRKeys'
|
||||
static readonly fields: FieldList = proto3.util.newFieldList(() => [
|
||||
{ no: 1, name: 'keys', kind: 'message', T: HRKey, repeated: true },
|
||||
{ no: 2, name: 'rekey_group', kind: 'message', T: RekeyGroup },
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
|
@ -539,15 +625,20 @@ export class HRKeys extends Message<HRKeys> {
|
|||
*/
|
||||
export class HRKey extends Message<HRKey> {
|
||||
/**
|
||||
* @generated from field: uint32 key_id = 1;
|
||||
* @generated from field: uint32 deprecated_key_id = 1;
|
||||
*/
|
||||
keyId = 0
|
||||
deprecatedKeyId = 0
|
||||
|
||||
/**
|
||||
* @generated from field: bytes key = 2;
|
||||
*/
|
||||
key = new Uint8Array(0)
|
||||
|
||||
/**
|
||||
* @generated from field: uint64 timestamp = 3;
|
||||
*/
|
||||
timestamp = protoInt64.zero
|
||||
|
||||
constructor(data?: PartialMessage<HRKey>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
|
@ -556,8 +647,14 @@ export class HRKey extends Message<HRKey> {
|
|||
static readonly runtime: typeof proto3 = proto3
|
||||
static readonly typeName = 'HRKey'
|
||||
static readonly fields: FieldList = proto3.util.newFieldList(() => [
|
||||
{ no: 1, name: 'key_id', kind: 'scalar', T: 13 /* ScalarType.UINT32 */ },
|
||||
{
|
||||
no: 1,
|
||||
name: 'deprecated_key_id',
|
||||
kind: 'scalar',
|
||||
T: 13 /* ScalarType.UINT32 */,
|
||||
},
|
||||
{ no: 2, name: 'key', kind: 'scalar', T: 12 /* ScalarType.BYTES */ },
|
||||
{ no: 3, name: 'timestamp', kind: 'scalar', T: 4 /* ScalarType.UINT64 */ },
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
syntax = "proto3";
|
||||
|
||||
import "chat-identity.proto";
|
||||
import "url.proto";
|
||||
|
||||
message PushNotificationRegistration {
|
||||
enum TokenType {
|
||||
|
@ -23,6 +22,7 @@ message PushNotificationRegistration {
|
|||
string apn_topic = 12;
|
||||
bool block_mentions = 13;
|
||||
repeated bytes allowed_mentions_chat_list = 14;
|
||||
repeated bytes muted_chat_list = 15;
|
||||
}
|
||||
|
||||
message PushNotificationRegistrationResponse {
|
||||
|
|
|
@ -88,6 +88,11 @@ export class PushNotificationRegistration extends Message<PushNotificationRegist
|
|||
*/
|
||||
allowedMentionsChatList: Uint8Array[] = []
|
||||
|
||||
/**
|
||||
* @generated from field: repeated bytes muted_chat_list = 15;
|
||||
*/
|
||||
mutedChatList: Uint8Array[] = []
|
||||
|
||||
constructor(data?: PartialMessage<PushNotificationRegistration>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
|
@ -158,6 +163,13 @@ export class PushNotificationRegistration extends Message<PushNotificationRegist
|
|||
T: 12 /* ScalarType.BYTES */,
|
||||
repeated: true,
|
||||
},
|
||||
{
|
||||
no: 15,
|
||||
name: 'muted_chat_list',
|
||||
kind: 'scalar',
|
||||
T: 12 /* ScalarType.BYTES */,
|
||||
repeated: true,
|
||||
},
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
syntax = "proto3";
|
||||
|
||||
message Shard {
|
||||
int32 cluster = 1;
|
||||
int32 index = 2;
|
||||
}
|
||||
|
||||
message PublicShardInfo {
|
||||
// clock
|
||||
uint64 clock = 1;
|
||||
// community ID
|
||||
bytes community_id = 2;
|
||||
// shard information
|
||||
Shard shard = 3;
|
||||
// if chainID > 0, the signer must be verified through the community contract
|
||||
uint64 chainId = 4;
|
||||
}
|
||||
|
||||
message CommunityPublicShardInfo {
|
||||
// Signature of the payload field
|
||||
bytes signature = 1;
|
||||
// Marshaled PublicShardInfo
|
||||
bytes payload = 2;
|
||||
}
|
|
@ -0,0 +1,214 @@
|
|||
// @generated by protoc-gen-es v1.4.2 with parameter "target=ts"
|
||||
// @generated from file shard.proto (syntax proto3)
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
|
||||
import type {
|
||||
BinaryReadOptions,
|
||||
FieldList,
|
||||
JsonReadOptions,
|
||||
JsonValue,
|
||||
PartialMessage,
|
||||
PlainMessage,
|
||||
} from '@bufbuild/protobuf'
|
||||
import { Message, proto3, protoInt64 } from '@bufbuild/protobuf'
|
||||
|
||||
/**
|
||||
* @generated from message Shard
|
||||
*/
|
||||
export class Shard extends Message<Shard> {
|
||||
/**
|
||||
* @generated from field: int32 cluster = 1;
|
||||
*/
|
||||
cluster = 0
|
||||
|
||||
/**
|
||||
* @generated from field: int32 index = 2;
|
||||
*/
|
||||
index = 0
|
||||
|
||||
constructor(data?: PartialMessage<Shard>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
}
|
||||
|
||||
static readonly runtime: typeof proto3 = proto3
|
||||
static readonly typeName = 'Shard'
|
||||
static readonly fields: FieldList = proto3.util.newFieldList(() => [
|
||||
{ no: 1, name: 'cluster', kind: 'scalar', T: 5 /* ScalarType.INT32 */ },
|
||||
{ no: 2, name: 'index', kind: 'scalar', T: 5 /* ScalarType.INT32 */ },
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
bytes: Uint8Array,
|
||||
options?: Partial<BinaryReadOptions>
|
||||
): Shard {
|
||||
return new Shard().fromBinary(bytes, options)
|
||||
}
|
||||
|
||||
static fromJson(
|
||||
jsonValue: JsonValue,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): Shard {
|
||||
return new Shard().fromJson(jsonValue, options)
|
||||
}
|
||||
|
||||
static fromJsonString(
|
||||
jsonString: string,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): Shard {
|
||||
return new Shard().fromJsonString(jsonString, options)
|
||||
}
|
||||
|
||||
static equals(
|
||||
a: Shard | PlainMessage<Shard> | undefined,
|
||||
b: Shard | PlainMessage<Shard> | undefined
|
||||
): boolean {
|
||||
return proto3.util.equals(Shard, a, b)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @generated from message PublicShardInfo
|
||||
*/
|
||||
export class PublicShardInfo extends Message<PublicShardInfo> {
|
||||
/**
|
||||
* clock
|
||||
*
|
||||
* @generated from field: uint64 clock = 1;
|
||||
*/
|
||||
clock = protoInt64.zero
|
||||
|
||||
/**
|
||||
* community ID
|
||||
*
|
||||
* @generated from field: bytes community_id = 2;
|
||||
*/
|
||||
communityId = new Uint8Array(0)
|
||||
|
||||
/**
|
||||
* shard information
|
||||
*
|
||||
* @generated from field: Shard shard = 3;
|
||||
*/
|
||||
shard?: Shard
|
||||
|
||||
/**
|
||||
* if chainID > 0, the signer must be verified through the community contract
|
||||
*
|
||||
* @generated from field: uint64 chainId = 4;
|
||||
*/
|
||||
chainId = protoInt64.zero
|
||||
|
||||
constructor(data?: PartialMessage<PublicShardInfo>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
}
|
||||
|
||||
static readonly runtime: typeof proto3 = proto3
|
||||
static readonly typeName = 'PublicShardInfo'
|
||||
static readonly fields: FieldList = proto3.util.newFieldList(() => [
|
||||
{ no: 1, name: 'clock', kind: 'scalar', T: 4 /* ScalarType.UINT64 */ },
|
||||
{
|
||||
no: 2,
|
||||
name: 'community_id',
|
||||
kind: 'scalar',
|
||||
T: 12 /* ScalarType.BYTES */,
|
||||
},
|
||||
{ no: 3, name: 'shard', kind: 'message', T: Shard },
|
||||
{ no: 4, name: 'chainId', kind: 'scalar', T: 4 /* ScalarType.UINT64 */ },
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
bytes: Uint8Array,
|
||||
options?: Partial<BinaryReadOptions>
|
||||
): PublicShardInfo {
|
||||
return new PublicShardInfo().fromBinary(bytes, options)
|
||||
}
|
||||
|
||||
static fromJson(
|
||||
jsonValue: JsonValue,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): PublicShardInfo {
|
||||
return new PublicShardInfo().fromJson(jsonValue, options)
|
||||
}
|
||||
|
||||
static fromJsonString(
|
||||
jsonString: string,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): PublicShardInfo {
|
||||
return new PublicShardInfo().fromJsonString(jsonString, options)
|
||||
}
|
||||
|
||||
static equals(
|
||||
a: PublicShardInfo | PlainMessage<PublicShardInfo> | undefined,
|
||||
b: PublicShardInfo | PlainMessage<PublicShardInfo> | undefined
|
||||
): boolean {
|
||||
return proto3.util.equals(PublicShardInfo, a, b)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @generated from message CommunityPublicShardInfo
|
||||
*/
|
||||
export class CommunityPublicShardInfo extends Message<CommunityPublicShardInfo> {
|
||||
/**
|
||||
* Signature of the payload field
|
||||
*
|
||||
* @generated from field: bytes signature = 1;
|
||||
*/
|
||||
signature = new Uint8Array(0)
|
||||
|
||||
/**
|
||||
* Marshaled PublicShardInfo
|
||||
*
|
||||
* @generated from field: bytes payload = 2;
|
||||
*/
|
||||
payload = new Uint8Array(0)
|
||||
|
||||
constructor(data?: PartialMessage<CommunityPublicShardInfo>) {
|
||||
super()
|
||||
proto3.util.initPartial(data, this)
|
||||
}
|
||||
|
||||
static readonly runtime: typeof proto3 = proto3
|
||||
static readonly typeName = 'CommunityPublicShardInfo'
|
||||
static readonly fields: FieldList = proto3.util.newFieldList(() => [
|
||||
{ no: 1, name: 'signature', kind: 'scalar', T: 12 /* ScalarType.BYTES */ },
|
||||
{ no: 2, name: 'payload', kind: 'scalar', T: 12 /* ScalarType.BYTES */ },
|
||||
])
|
||||
|
||||
static fromBinary(
|
||||
bytes: Uint8Array,
|
||||
options?: Partial<BinaryReadOptions>
|
||||
): CommunityPublicShardInfo {
|
||||
return new CommunityPublicShardInfo().fromBinary(bytes, options)
|
||||
}
|
||||
|
||||
static fromJson(
|
||||
jsonValue: JsonValue,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): CommunityPublicShardInfo {
|
||||
return new CommunityPublicShardInfo().fromJson(jsonValue, options)
|
||||
}
|
||||
|
||||
static fromJsonString(
|
||||
jsonString: string,
|
||||
options?: Partial<JsonReadOptions>
|
||||
): CommunityPublicShardInfo {
|
||||
return new CommunityPublicShardInfo().fromJsonString(jsonString, options)
|
||||
}
|
||||
|
||||
static equals(
|
||||
a:
|
||||
| CommunityPublicShardInfo
|
||||
| PlainMessage<CommunityPublicShardInfo>
|
||||
| undefined,
|
||||
b:
|
||||
| CommunityPublicShardInfo
|
||||
| PlainMessage<CommunityPublicShardInfo>
|
||||
| undefined
|
||||
): boolean {
|
||||
return proto3.util.equals(CommunityPublicShardInfo, a, b)
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@ import {
|
|||
AudioMessage_AudioType,
|
||||
ChatMessage_ContentType,
|
||||
} from '../protos/chat-message_pb'
|
||||
import { ImageType, MessageType } from '../protos/enums_pb'
|
||||
import { ImageFormat, MessageType } from '../protos/enums_pb'
|
||||
|
||||
import type {
|
||||
AudioMessage,
|
||||
|
@ -24,7 +24,7 @@ export function validateMessage(message: ChatMessage): boolean {
|
|||
// fixme?
|
||||
const payload = message.payload.value as ImageMessage
|
||||
|
||||
if (payload.type === ImageType.UNKNOWN_IMAGE_TYPE) {
|
||||
if (payload.format === ImageFormat.UNKNOWN_IMAGE_FORMAT) {
|
||||
return false
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue