// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 // protoc v4.24.4 // source: communities.proto package protobuf import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type CommunityMember_Roles int32 const ( CommunityMember_ROLE_NONE CommunityMember_Roles = 0 CommunityMember_ROLE_OWNER CommunityMember_Roles = 1 CommunityMember_ROLE_ADMIN CommunityMember_Roles = 4 CommunityMember_ROLE_TOKEN_MASTER CommunityMember_Roles = 5 ) // Enum value maps for CommunityMember_Roles. var ( CommunityMember_Roles_name = map[int32]string{ 0: "ROLE_NONE", 1: "ROLE_OWNER", 4: "ROLE_ADMIN", 5: "ROLE_TOKEN_MASTER", } CommunityMember_Roles_value = map[string]int32{ "ROLE_NONE": 0, "ROLE_OWNER": 1, "ROLE_ADMIN": 4, "ROLE_TOKEN_MASTER": 5, } ) func (x CommunityMember_Roles) Enum() *CommunityMember_Roles { p := new(CommunityMember_Roles) *p = x return p } func (x CommunityMember_Roles) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CommunityMember_Roles) Descriptor() protoreflect.EnumDescriptor { return file_communities_proto_enumTypes[0].Descriptor() } func (CommunityMember_Roles) Type() protoreflect.EnumType { return &file_communities_proto_enumTypes[0] } func (x CommunityMember_Roles) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CommunityMember_Roles.Descriptor instead. func (CommunityMember_Roles) EnumDescriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{1, 0} } type CommunityPermissions_Access int32 const ( CommunityPermissions_UNKNOWN_ACCESS CommunityPermissions_Access = 0 CommunityPermissions_AUTO_ACCEPT CommunityPermissions_Access = 1 // Deprecated: Marked as deprecated in communities.proto. CommunityPermissions_INVITATION_ONLY CommunityPermissions_Access = 2 CommunityPermissions_MANUAL_ACCEPT CommunityPermissions_Access = 3 ) // Enum value maps for CommunityPermissions_Access. var ( CommunityPermissions_Access_name = map[int32]string{ 0: "UNKNOWN_ACCESS", 1: "AUTO_ACCEPT", 2: "INVITATION_ONLY", 3: "MANUAL_ACCEPT", } CommunityPermissions_Access_value = map[string]int32{ "UNKNOWN_ACCESS": 0, "AUTO_ACCEPT": 1, "INVITATION_ONLY": 2, "MANUAL_ACCEPT": 3, } ) func (x CommunityPermissions_Access) Enum() *CommunityPermissions_Access { p := new(CommunityPermissions_Access) *p = x return p } func (x CommunityPermissions_Access) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CommunityPermissions_Access) Descriptor() protoreflect.EnumDescriptor { return file_communities_proto_enumTypes[1].Descriptor() } func (CommunityPermissions_Access) Type() protoreflect.EnumType { return &file_communities_proto_enumTypes[1] } func (x CommunityPermissions_Access) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CommunityPermissions_Access.Descriptor instead. func (CommunityPermissions_Access) EnumDescriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{3, 0} } type CommunityTokenPermission_Type int32 const ( CommunityTokenPermission_UNKNOWN_TOKEN_PERMISSION CommunityTokenPermission_Type = 0 CommunityTokenPermission_BECOME_ADMIN CommunityTokenPermission_Type = 1 CommunityTokenPermission_BECOME_MEMBER CommunityTokenPermission_Type = 2 CommunityTokenPermission_CAN_VIEW_CHANNEL CommunityTokenPermission_Type = 3 CommunityTokenPermission_CAN_VIEW_AND_POST_CHANNEL CommunityTokenPermission_Type = 4 CommunityTokenPermission_BECOME_TOKEN_MASTER CommunityTokenPermission_Type = 5 CommunityTokenPermission_BECOME_TOKEN_OWNER CommunityTokenPermission_Type = 6 ) // Enum value maps for CommunityTokenPermission_Type. var ( CommunityTokenPermission_Type_name = map[int32]string{ 0: "UNKNOWN_TOKEN_PERMISSION", 1: "BECOME_ADMIN", 2: "BECOME_MEMBER", 3: "CAN_VIEW_CHANNEL", 4: "CAN_VIEW_AND_POST_CHANNEL", 5: "BECOME_TOKEN_MASTER", 6: "BECOME_TOKEN_OWNER", } CommunityTokenPermission_Type_value = map[string]int32{ "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, } ) func (x CommunityTokenPermission_Type) Enum() *CommunityTokenPermission_Type { p := new(CommunityTokenPermission_Type) *p = x return p } func (x CommunityTokenPermission_Type) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CommunityTokenPermission_Type) Descriptor() protoreflect.EnumDescriptor { return file_communities_proto_enumTypes[2].Descriptor() } func (CommunityTokenPermission_Type) Type() protoreflect.EnumType { return &file_communities_proto_enumTypes[2] } func (x CommunityTokenPermission_Type) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use CommunityTokenPermission_Type.Descriptor instead. func (CommunityTokenPermission_Type) EnumDescriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{5, 0} } type Grant struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CommunityId []byte `protobuf:"bytes,1,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"` MemberId []byte `protobuf:"bytes,2,opt,name=member_id,json=memberId,proto3" json:"member_id,omitempty"` ChatId string `protobuf:"bytes,3,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"` Clock uint64 `protobuf:"varint,4,opt,name=clock,proto3" json:"clock,omitempty"` } func (x *Grant) Reset() { *x = Grant{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Grant) String() string { return protoimpl.X.MessageStringOf(x) } func (*Grant) ProtoMessage() {} func (x *Grant) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Grant.ProtoReflect.Descriptor instead. func (*Grant) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{0} } func (x *Grant) GetCommunityId() []byte { if x != nil { return x.CommunityId } return nil } func (x *Grant) GetMemberId() []byte { if x != nil { return x.MemberId } return nil } func (x *Grant) GetChatId() string { if x != nil { return x.ChatId } return "" } func (x *Grant) GetClock() uint64 { if x != nil { return x.Clock } return 0 } type CommunityMember struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Roles []CommunityMember_Roles `protobuf:"varint,1,rep,packed,name=roles,proto3,enum=protobuf.CommunityMember_Roles" json:"roles,omitempty"` // Deprecated: Marked as deprecated in communities.proto. RevealedAccounts []*RevealedAccount `protobuf:"bytes,2,rep,name=revealed_accounts,json=revealedAccounts,proto3" json:"revealed_accounts,omitempty"` LastUpdateClock uint64 `protobuf:"varint,3,opt,name=last_update_clock,json=lastUpdateClock,proto3" json:"last_update_clock,omitempty"` } func (x *CommunityMember) Reset() { *x = CommunityMember{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityMember) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityMember) ProtoMessage() {} func (x *CommunityMember) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityMember.ProtoReflect.Descriptor instead. func (*CommunityMember) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{1} } func (x *CommunityMember) GetRoles() []CommunityMember_Roles { if x != nil { return x.Roles } return nil } // Deprecated: Marked as deprecated in communities.proto. func (x *CommunityMember) GetRevealedAccounts() []*RevealedAccount { if x != nil { return x.RevealedAccounts } return nil } func (x *CommunityMember) GetLastUpdateClock() uint64 { if x != nil { return x.LastUpdateClock } return 0 } type CommunityTokenMetadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ContractAddresses map[uint64]string `protobuf:"bytes,1,rep,name=contract_addresses,json=contractAddresses,proto3" json:"contract_addresses,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` TokenType CommunityTokenType `protobuf:"varint,4,opt,name=tokenType,proto3,enum=protobuf.CommunityTokenType" json:"tokenType,omitempty"` Symbol string `protobuf:"bytes,5,opt,name=symbol,proto3" json:"symbol,omitempty"` Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` Decimals uint32 `protobuf:"varint,7,opt,name=decimals,proto3" json:"decimals,omitempty"` } func (x *CommunityTokenMetadata) Reset() { *x = CommunityTokenMetadata{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityTokenMetadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityTokenMetadata) ProtoMessage() {} func (x *CommunityTokenMetadata) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityTokenMetadata.ProtoReflect.Descriptor instead. func (*CommunityTokenMetadata) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{2} } func (x *CommunityTokenMetadata) GetContractAddresses() map[uint64]string { if x != nil { return x.ContractAddresses } return nil } func (x *CommunityTokenMetadata) GetDescription() string { if x != nil { return x.Description } return "" } func (x *CommunityTokenMetadata) GetImage() string { if x != nil { return x.Image } return "" } func (x *CommunityTokenMetadata) GetTokenType() CommunityTokenType { if x != nil { return x.TokenType } return CommunityTokenType_UNKNOWN_TOKEN_TYPE } func (x *CommunityTokenMetadata) GetSymbol() string { if x != nil { return x.Symbol } return "" } func (x *CommunityTokenMetadata) GetName() string { if x != nil { return x.Name } return "" } func (x *CommunityTokenMetadata) GetDecimals() uint32 { if x != nil { return x.Decimals } return 0 } type CommunityPermissions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields EnsOnly bool `protobuf:"varint,1,opt,name=ens_only,json=ensOnly,proto3" json:"ens_only,omitempty"` // https://gitlab.matrix.org/matrix-org/olm/blob/master/docs/megolm.md is a candidate for the algorithm to be used in case we want to have private communityal chats, lighter than pairwise encryption using the DR, less secure, but more efficient for large number of participants Private bool `protobuf:"varint,2,opt,name=private,proto3" json:"private,omitempty"` Access CommunityPermissions_Access `protobuf:"varint,3,opt,name=access,proto3,enum=protobuf.CommunityPermissions_Access" json:"access,omitempty"` } func (x *CommunityPermissions) Reset() { *x = CommunityPermissions{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityPermissions) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityPermissions) ProtoMessage() {} func (x *CommunityPermissions) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityPermissions.ProtoReflect.Descriptor instead. func (*CommunityPermissions) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{3} } func (x *CommunityPermissions) GetEnsOnly() bool { if x != nil { return x.EnsOnly } return false } func (x *CommunityPermissions) GetPrivate() bool { if x != nil { return x.Private } return false } func (x *CommunityPermissions) GetAccess() CommunityPermissions_Access { if x != nil { return x.Access } return CommunityPermissions_UNKNOWN_ACCESS } type TokenCriteria struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ContractAddresses map[uint64]string `protobuf:"bytes,1,rep,name=contract_addresses,json=contractAddresses,proto3" json:"contract_addresses,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Type CommunityTokenType `protobuf:"varint,2,opt,name=type,proto3,enum=protobuf.CommunityTokenType" json:"type,omitempty"` Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` Amount string `protobuf:"bytes,5,opt,name=amount,proto3" json:"amount,omitempty"` TokenIds []uint64 `protobuf:"varint,6,rep,packed,name=token_ids,json=tokenIds,proto3" json:"token_ids,omitempty"` EnsPattern string `protobuf:"bytes,7,opt,name=ens_pattern,json=ensPattern,proto3" json:"ens_pattern,omitempty"` Decimals uint64 `protobuf:"varint,8,opt,name=decimals,proto3" json:"decimals,omitempty"` } func (x *TokenCriteria) Reset() { *x = TokenCriteria{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TokenCriteria) String() string { return protoimpl.X.MessageStringOf(x) } func (*TokenCriteria) ProtoMessage() {} func (x *TokenCriteria) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TokenCriteria.ProtoReflect.Descriptor instead. func (*TokenCriteria) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{4} } func (x *TokenCriteria) GetContractAddresses() map[uint64]string { if x != nil { return x.ContractAddresses } return nil } func (x *TokenCriteria) GetType() CommunityTokenType { if x != nil { return x.Type } return CommunityTokenType_UNKNOWN_TOKEN_TYPE } func (x *TokenCriteria) GetSymbol() string { if x != nil { return x.Symbol } return "" } func (x *TokenCriteria) GetName() string { if x != nil { return x.Name } return "" } func (x *TokenCriteria) GetAmount() string { if x != nil { return x.Amount } return "" } func (x *TokenCriteria) GetTokenIds() []uint64 { if x != nil { return x.TokenIds } return nil } func (x *TokenCriteria) GetEnsPattern() string { if x != nil { return x.EnsPattern } return "" } func (x *TokenCriteria) GetDecimals() uint64 { if x != nil { return x.Decimals } return 0 } type CommunityTokenPermission struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Type CommunityTokenPermission_Type `protobuf:"varint,2,opt,name=type,proto3,enum=protobuf.CommunityTokenPermission_Type" json:"type,omitempty"` TokenCriteria []*TokenCriteria `protobuf:"bytes,3,rep,name=token_criteria,json=tokenCriteria,proto3" json:"token_criteria,omitempty"` ChatIds []string `protobuf:"bytes,4,rep,name=chat_ids,json=chatIds,proto3" json:"chat_ids,omitempty"` IsPrivate bool `protobuf:"varint,5,opt,name=is_private,json=isPrivate,proto3" json:"is_private,omitempty"` } func (x *CommunityTokenPermission) Reset() { *x = CommunityTokenPermission{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityTokenPermission) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityTokenPermission) ProtoMessage() {} func (x *CommunityTokenPermission) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityTokenPermission.ProtoReflect.Descriptor instead. func (*CommunityTokenPermission) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{5} } func (x *CommunityTokenPermission) GetId() string { if x != nil { return x.Id } return "" } func (x *CommunityTokenPermission) GetType() CommunityTokenPermission_Type { if x != nil { return x.Type } return CommunityTokenPermission_UNKNOWN_TOKEN_PERMISSION } func (x *CommunityTokenPermission) GetTokenCriteria() []*TokenCriteria { if x != nil { return x.TokenCriteria } return nil } func (x *CommunityTokenPermission) GetChatIds() []string { if x != nil { return x.ChatIds } return nil } func (x *CommunityTokenPermission) GetIsPrivate() bool { if x != nil { return x.IsPrivate } return false } type CommunityDescription struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"` Members map[string]*CommunityMember `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Permissions *CommunityPermissions `protobuf:"bytes,3,opt,name=permissions,proto3" json:"permissions,omitempty"` Identity *ChatIdentity `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` Chats map[string]*CommunityChat `protobuf:"bytes,6,rep,name=chats,proto3" json:"chats,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` BanList []string `protobuf:"bytes,7,rep,name=ban_list,json=banList,proto3" json:"ban_list,omitempty"` Categories map[string]*CommunityCategory `protobuf:"bytes,8,rep,name=categories,proto3" json:"categories,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` ArchiveMagnetlinkClock uint64 `protobuf:"varint,9,opt,name=archive_magnetlink_clock,json=archiveMagnetlinkClock,proto3" json:"archive_magnetlink_clock,omitempty"` AdminSettings *CommunityAdminSettings `protobuf:"bytes,10,opt,name=admin_settings,json=adminSettings,proto3" json:"admin_settings,omitempty"` IntroMessage string `protobuf:"bytes,11,opt,name=intro_message,json=introMessage,proto3" json:"intro_message,omitempty"` OutroMessage string `protobuf:"bytes,12,opt,name=outro_message,json=outroMessage,proto3" json:"outro_message,omitempty"` // Deprecated: Marked as deprecated in communities.proto. Encrypted bool `protobuf:"varint,13,opt,name=encrypted,proto3" json:"encrypted,omitempty"` Tags []string `protobuf:"bytes,14,rep,name=tags,proto3" json:"tags,omitempty"` TokenPermissions map[string]*CommunityTokenPermission `protobuf:"bytes,15,rep,name=token_permissions,json=tokenPermissions,proto3" json:"token_permissions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` CommunityTokensMetadata []*CommunityTokenMetadata `protobuf:"bytes,16,rep,name=community_tokens_metadata,json=communityTokensMetadata,proto3" json:"community_tokens_metadata,omitempty"` ActiveMembersCount uint64 `protobuf:"varint,17,opt,name=active_members_count,json=activeMembersCount,proto3" json:"active_members_count,omitempty"` ID string `protobuf:"bytes,18,opt,name=ID,proto3" json:"ID,omitempty"` } func (x *CommunityDescription) Reset() { *x = CommunityDescription{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityDescription) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityDescription) ProtoMessage() {} func (x *CommunityDescription) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityDescription.ProtoReflect.Descriptor instead. func (*CommunityDescription) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{6} } func (x *CommunityDescription) GetClock() uint64 { if x != nil { return x.Clock } return 0 } func (x *CommunityDescription) GetMembers() map[string]*CommunityMember { if x != nil { return x.Members } return nil } func (x *CommunityDescription) GetPermissions() *CommunityPermissions { if x != nil { return x.Permissions } return nil } func (x *CommunityDescription) GetIdentity() *ChatIdentity { if x != nil { return x.Identity } return nil } func (x *CommunityDescription) GetChats() map[string]*CommunityChat { if x != nil { return x.Chats } return nil } func (x *CommunityDescription) GetBanList() []string { if x != nil { return x.BanList } return nil } func (x *CommunityDescription) GetCategories() map[string]*CommunityCategory { if x != nil { return x.Categories } return nil } func (x *CommunityDescription) GetArchiveMagnetlinkClock() uint64 { if x != nil { return x.ArchiveMagnetlinkClock } return 0 } func (x *CommunityDescription) GetAdminSettings() *CommunityAdminSettings { if x != nil { return x.AdminSettings } return nil } func (x *CommunityDescription) GetIntroMessage() string { if x != nil { return x.IntroMessage } return "" } func (x *CommunityDescription) GetOutroMessage() string { if x != nil { return x.OutroMessage } return "" } // Deprecated: Marked as deprecated in communities.proto. func (x *CommunityDescription) GetEncrypted() bool { if x != nil { return x.Encrypted } return false } func (x *CommunityDescription) GetTags() []string { if x != nil { return x.Tags } return nil } func (x *CommunityDescription) GetTokenPermissions() map[string]*CommunityTokenPermission { if x != nil { return x.TokenPermissions } return nil } func (x *CommunityDescription) GetCommunityTokensMetadata() []*CommunityTokenMetadata { if x != nil { return x.CommunityTokensMetadata } return nil } func (x *CommunityDescription) GetActiveMembersCount() uint64 { if x != nil { return x.ActiveMembersCount } return 0 } func (x *CommunityDescription) GetID() string { if x != nil { return x.ID } return "" } type CommunityAdminSettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PinMessageAllMembersEnabled bool `protobuf:"varint,1,opt,name=pin_message_all_members_enabled,json=pinMessageAllMembersEnabled,proto3" json:"pin_message_all_members_enabled,omitempty"` } func (x *CommunityAdminSettings) Reset() { *x = CommunityAdminSettings{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityAdminSettings) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityAdminSettings) ProtoMessage() {} func (x *CommunityAdminSettings) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityAdminSettings.ProtoReflect.Descriptor instead. func (*CommunityAdminSettings) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{7} } func (x *CommunityAdminSettings) GetPinMessageAllMembersEnabled() bool { if x != nil { return x.PinMessageAllMembersEnabled } return false } type CommunityChat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Members map[string]*CommunityMember `protobuf:"bytes,1,rep,name=members,proto3" json:"members,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Permissions *CommunityPermissions `protobuf:"bytes,2,opt,name=permissions,proto3" json:"permissions,omitempty"` Identity *ChatIdentity `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` CategoryId string `protobuf:"bytes,4,opt,name=category_id,json=categoryId,proto3" json:"category_id,omitempty"` Position int32 `protobuf:"varint,5,opt,name=position,proto3" json:"position,omitempty"` } func (x *CommunityChat) Reset() { *x = CommunityChat{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityChat) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityChat) ProtoMessage() {} func (x *CommunityChat) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityChat.ProtoReflect.Descriptor instead. func (*CommunityChat) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{8} } func (x *CommunityChat) GetMembers() map[string]*CommunityMember { if x != nil { return x.Members } return nil } func (x *CommunityChat) GetPermissions() *CommunityPermissions { if x != nil { return x.Permissions } return nil } func (x *CommunityChat) GetIdentity() *ChatIdentity { if x != nil { return x.Identity } return nil } func (x *CommunityChat) GetCategoryId() string { if x != nil { return x.CategoryId } return "" } func (x *CommunityChat) GetPosition() int32 { if x != nil { return x.Position } return 0 } type CommunityCategory struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CategoryId string `protobuf:"bytes,1,opt,name=category_id,json=categoryId,proto3" json:"category_id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Position int32 `protobuf:"varint,3,opt,name=position,proto3" json:"position,omitempty"` } func (x *CommunityCategory) Reset() { *x = CommunityCategory{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityCategory) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityCategory) ProtoMessage() {} func (x *CommunityCategory) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityCategory.ProtoReflect.Descriptor instead. func (*CommunityCategory) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{9} } func (x *CommunityCategory) GetCategoryId() string { if x != nil { return x.CategoryId } return "" } func (x *CommunityCategory) GetName() string { if x != nil { return x.Name } return "" } func (x *CommunityCategory) GetPosition() int32 { if x != nil { return x.Position } return 0 } type RevealedAccount struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` ChainIds []uint64 `protobuf:"varint,3,rep,packed,name=chain_ids,json=chainIds,proto3" json:"chain_ids,omitempty"` IsAirdropAddress bool `protobuf:"varint,4,opt,name=isAirdropAddress,proto3" json:"isAirdropAddress,omitempty"` } func (x *RevealedAccount) Reset() { *x = RevealedAccount{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RevealedAccount) String() string { return protoimpl.X.MessageStringOf(x) } func (*RevealedAccount) ProtoMessage() {} func (x *RevealedAccount) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RevealedAccount.ProtoReflect.Descriptor instead. func (*RevealedAccount) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{10} } func (x *RevealedAccount) GetAddress() string { if x != nil { return x.Address } return "" } func (x *RevealedAccount) GetSignature() []byte { if x != nil { return x.Signature } return nil } func (x *RevealedAccount) GetChainIds() []uint64 { if x != nil { return x.ChainIds } return nil } func (x *RevealedAccount) GetIsAirdropAddress() bool { if x != nil { return x.IsAirdropAddress } return false } type CommunityRequestToJoin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"` EnsName string `protobuf:"bytes,2,opt,name=ens_name,json=ensName,proto3" json:"ens_name,omitempty"` ChatId string `protobuf:"bytes,3,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"` CommunityId []byte `protobuf:"bytes,4,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"` DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` RevealedAccounts []*RevealedAccount `protobuf:"bytes,6,rep,name=revealed_accounts,json=revealedAccounts,proto3" json:"revealed_accounts,omitempty"` } func (x *CommunityRequestToJoin) Reset() { *x = CommunityRequestToJoin{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityRequestToJoin) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityRequestToJoin) ProtoMessage() {} func (x *CommunityRequestToJoin) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityRequestToJoin.ProtoReflect.Descriptor instead. func (*CommunityRequestToJoin) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{11} } func (x *CommunityRequestToJoin) GetClock() uint64 { if x != nil { return x.Clock } return 0 } func (x *CommunityRequestToJoin) GetEnsName() string { if x != nil { return x.EnsName } return "" } func (x *CommunityRequestToJoin) GetChatId() string { if x != nil { return x.ChatId } return "" } func (x *CommunityRequestToJoin) GetCommunityId() []byte { if x != nil { return x.CommunityId } return nil } func (x *CommunityRequestToJoin) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } func (x *CommunityRequestToJoin) GetRevealedAccounts() []*RevealedAccount { if x != nil { return x.RevealedAccounts } return nil } type CommunityEditSharedAddresses struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"` CommunityId []byte `protobuf:"bytes,2,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"` RevealedAccounts []*RevealedAccount `protobuf:"bytes,3,rep,name=revealed_accounts,json=revealedAccounts,proto3" json:"revealed_accounts,omitempty"` } func (x *CommunityEditSharedAddresses) Reset() { *x = CommunityEditSharedAddresses{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityEditSharedAddresses) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityEditSharedAddresses) ProtoMessage() {} func (x *CommunityEditSharedAddresses) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityEditSharedAddresses.ProtoReflect.Descriptor instead. func (*CommunityEditSharedAddresses) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{12} } func (x *CommunityEditSharedAddresses) GetClock() uint64 { if x != nil { return x.Clock } return 0 } func (x *CommunityEditSharedAddresses) GetCommunityId() []byte { if x != nil { return x.CommunityId } return nil } func (x *CommunityEditSharedAddresses) GetRevealedAccounts() []*RevealedAccount { if x != nil { return x.RevealedAccounts } return nil } type CommunityCancelRequestToJoin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"` EnsName string `protobuf:"bytes,2,opt,name=ens_name,json=ensName,proto3" json:"ens_name,omitempty"` ChatId string `protobuf:"bytes,3,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"` CommunityId []byte `protobuf:"bytes,4,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"` DisplayName string `protobuf:"bytes,5,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` } func (x *CommunityCancelRequestToJoin) Reset() { *x = CommunityCancelRequestToJoin{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityCancelRequestToJoin) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityCancelRequestToJoin) ProtoMessage() {} func (x *CommunityCancelRequestToJoin) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityCancelRequestToJoin.ProtoReflect.Descriptor instead. func (*CommunityCancelRequestToJoin) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{13} } func (x *CommunityCancelRequestToJoin) GetClock() uint64 { if x != nil { return x.Clock } return 0 } func (x *CommunityCancelRequestToJoin) GetEnsName() string { if x != nil { return x.EnsName } return "" } func (x *CommunityCancelRequestToJoin) GetChatId() string { if x != nil { return x.ChatId } return "" } func (x *CommunityCancelRequestToJoin) GetCommunityId() []byte { if x != nil { return x.CommunityId } return nil } func (x *CommunityCancelRequestToJoin) GetDisplayName() string { if x != nil { return x.DisplayName } return "" } type CommunityRequestToJoinResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"` Community *CommunityDescription `protobuf:"bytes,2,opt,name=community,proto3" json:"community,omitempty"` Accepted bool `protobuf:"varint,3,opt,name=accepted,proto3" json:"accepted,omitempty"` Grant []byte `protobuf:"bytes,4,opt,name=grant,proto3" json:"grant,omitempty"` CommunityId []byte `protobuf:"bytes,5,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"` MagnetUri string `protobuf:"bytes,6,opt,name=magnet_uri,json=magnetUri,proto3" json:"magnet_uri,omitempty"` ProtectedTopicPrivateKey []byte `protobuf:"bytes,7,opt,name=protected_topic_private_key,json=protectedTopicPrivateKey,proto3" json:"protected_topic_private_key,omitempty"` Shard *Shard `protobuf:"bytes,8,opt,name=shard,proto3" json:"shard,omitempty"` } func (x *CommunityRequestToJoinResponse) Reset() { *x = CommunityRequestToJoinResponse{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityRequestToJoinResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityRequestToJoinResponse) ProtoMessage() {} func (x *CommunityRequestToJoinResponse) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityRequestToJoinResponse.ProtoReflect.Descriptor instead. func (*CommunityRequestToJoinResponse) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{14} } func (x *CommunityRequestToJoinResponse) GetClock() uint64 { if x != nil { return x.Clock } return 0 } func (x *CommunityRequestToJoinResponse) GetCommunity() *CommunityDescription { if x != nil { return x.Community } return nil } func (x *CommunityRequestToJoinResponse) GetAccepted() bool { if x != nil { return x.Accepted } return false } func (x *CommunityRequestToJoinResponse) GetGrant() []byte { if x != nil { return x.Grant } return nil } func (x *CommunityRequestToJoinResponse) GetCommunityId() []byte { if x != nil { return x.CommunityId } return nil } func (x *CommunityRequestToJoinResponse) GetMagnetUri() string { if x != nil { return x.MagnetUri } return "" } func (x *CommunityRequestToJoinResponse) GetProtectedTopicPrivateKey() []byte { if x != nil { return x.ProtectedTopicPrivateKey } return nil } func (x *CommunityRequestToJoinResponse) GetShard() *Shard { if x != nil { return x.Shard } return nil } type CommunityRequestToLeave struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"` CommunityId []byte `protobuf:"bytes,2,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"` } func (x *CommunityRequestToLeave) Reset() { *x = CommunityRequestToLeave{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityRequestToLeave) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityRequestToLeave) ProtoMessage() {} func (x *CommunityRequestToLeave) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityRequestToLeave.ProtoReflect.Descriptor instead. func (*CommunityRequestToLeave) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{15} } func (x *CommunityRequestToLeave) GetClock() uint64 { if x != nil { return x.Clock } return 0 } func (x *CommunityRequestToLeave) GetCommunityId() []byte { if x != nil { return x.CommunityId } return nil } type CommunityMessageArchiveMagnetlink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"` MagnetUri string `protobuf:"bytes,2,opt,name=magnet_uri,json=magnetUri,proto3" json:"magnet_uri,omitempty"` } func (x *CommunityMessageArchiveMagnetlink) Reset() { *x = CommunityMessageArchiveMagnetlink{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CommunityMessageArchiveMagnetlink) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommunityMessageArchiveMagnetlink) ProtoMessage() {} func (x *CommunityMessageArchiveMagnetlink) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommunityMessageArchiveMagnetlink.ProtoReflect.Descriptor instead. func (*CommunityMessageArchiveMagnetlink) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{16} } func (x *CommunityMessageArchiveMagnetlink) GetClock() uint64 { if x != nil { return x.Clock } return 0 } func (x *CommunityMessageArchiveMagnetlink) GetMagnetUri() string { if x != nil { return x.MagnetUri } return "" } type WakuMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Sig []byte `protobuf:"bytes,1,opt,name=sig,proto3" json:"sig,omitempty"` Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` Topic []byte `protobuf:"bytes,3,opt,name=topic,proto3" json:"topic,omitempty"` Payload []byte `protobuf:"bytes,4,opt,name=payload,proto3" json:"payload,omitempty"` Padding []byte `protobuf:"bytes,5,opt,name=padding,proto3" json:"padding,omitempty"` Hash []byte `protobuf:"bytes,6,opt,name=hash,proto3" json:"hash,omitempty"` ThirdPartyId string `protobuf:"bytes,7,opt,name=thirdPartyId,proto3" json:"thirdPartyId,omitempty"` } func (x *WakuMessage) Reset() { *x = WakuMessage{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WakuMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*WakuMessage) ProtoMessage() {} func (x *WakuMessage) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WakuMessage.ProtoReflect.Descriptor instead. func (*WakuMessage) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{17} } func (x *WakuMessage) GetSig() []byte { if x != nil { return x.Sig } return nil } func (x *WakuMessage) GetTimestamp() uint64 { if x != nil { return x.Timestamp } return 0 } func (x *WakuMessage) GetTopic() []byte { if x != nil { return x.Topic } return nil } func (x *WakuMessage) GetPayload() []byte { if x != nil { return x.Payload } return nil } func (x *WakuMessage) GetPadding() []byte { if x != nil { return x.Padding } return nil } func (x *WakuMessage) GetHash() []byte { if x != nil { return x.Hash } return nil } func (x *WakuMessage) GetThirdPartyId() string { if x != nil { return x.ThirdPartyId } return "" } type WakuMessageArchiveMetadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` From uint64 `protobuf:"varint,2,opt,name=from,proto3" json:"from,omitempty"` To uint64 `protobuf:"varint,3,opt,name=to,proto3" json:"to,omitempty"` ContentTopic [][]byte `protobuf:"bytes,4,rep,name=contentTopic,proto3" json:"contentTopic,omitempty"` } func (x *WakuMessageArchiveMetadata) Reset() { *x = WakuMessageArchiveMetadata{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WakuMessageArchiveMetadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*WakuMessageArchiveMetadata) ProtoMessage() {} func (x *WakuMessageArchiveMetadata) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WakuMessageArchiveMetadata.ProtoReflect.Descriptor instead. func (*WakuMessageArchiveMetadata) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{18} } func (x *WakuMessageArchiveMetadata) GetVersion() uint32 { if x != nil { return x.Version } return 0 } func (x *WakuMessageArchiveMetadata) GetFrom() uint64 { if x != nil { return x.From } return 0 } func (x *WakuMessageArchiveMetadata) GetTo() uint64 { if x != nil { return x.To } return 0 } func (x *WakuMessageArchiveMetadata) GetContentTopic() [][]byte { if x != nil { return x.ContentTopic } return nil } type WakuMessageArchive struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` Metadata *WakuMessageArchiveMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` Messages []*WakuMessage `protobuf:"bytes,3,rep,name=messages,proto3" json:"messages,omitempty"` } func (x *WakuMessageArchive) Reset() { *x = WakuMessageArchive{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WakuMessageArchive) String() string { return protoimpl.X.MessageStringOf(x) } func (*WakuMessageArchive) ProtoMessage() {} func (x *WakuMessageArchive) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WakuMessageArchive.ProtoReflect.Descriptor instead. func (*WakuMessageArchive) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{19} } func (x *WakuMessageArchive) GetVersion() uint32 { if x != nil { return x.Version } return 0 } func (x *WakuMessageArchive) GetMetadata() *WakuMessageArchiveMetadata { if x != nil { return x.Metadata } return nil } func (x *WakuMessageArchive) GetMessages() []*WakuMessage { if x != nil { return x.Messages } return nil } type WakuMessageArchiveIndexMetadata struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` Metadata *WakuMessageArchiveMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` Offset uint64 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"` Size uint64 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` Padding uint64 `protobuf:"varint,5,opt,name=padding,proto3" json:"padding,omitempty"` } func (x *WakuMessageArchiveIndexMetadata) Reset() { *x = WakuMessageArchiveIndexMetadata{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WakuMessageArchiveIndexMetadata) String() string { return protoimpl.X.MessageStringOf(x) } func (*WakuMessageArchiveIndexMetadata) ProtoMessage() {} func (x *WakuMessageArchiveIndexMetadata) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WakuMessageArchiveIndexMetadata.ProtoReflect.Descriptor instead. func (*WakuMessageArchiveIndexMetadata) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{20} } func (x *WakuMessageArchiveIndexMetadata) GetVersion() uint32 { if x != nil { return x.Version } return 0 } func (x *WakuMessageArchiveIndexMetadata) GetMetadata() *WakuMessageArchiveMetadata { if x != nil { return x.Metadata } return nil } func (x *WakuMessageArchiveIndexMetadata) GetOffset() uint64 { if x != nil { return x.Offset } return 0 } func (x *WakuMessageArchiveIndexMetadata) GetSize() uint64 { if x != nil { return x.Size } return 0 } func (x *WakuMessageArchiveIndexMetadata) GetPadding() uint64 { if x != nil { return x.Padding } return 0 } type WakuMessageArchiveIndex struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Archives map[string]*WakuMessageArchiveIndexMetadata `protobuf:"bytes,1,rep,name=archives,proto3" json:"archives,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *WakuMessageArchiveIndex) Reset() { *x = WakuMessageArchiveIndex{} if protoimpl.UnsafeEnabled { mi := &file_communities_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WakuMessageArchiveIndex) String() string { return protoimpl.X.MessageStringOf(x) } func (*WakuMessageArchiveIndex) ProtoMessage() {} func (x *WakuMessageArchiveIndex) ProtoReflect() protoreflect.Message { mi := &file_communities_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WakuMessageArchiveIndex.ProtoReflect.Descriptor instead. func (*WakuMessageArchiveIndex) Descriptor() ([]byte, []int) { return file_communities_proto_rawDescGZIP(), []int{21} } func (x *WakuMessageArchiveIndex) GetArchives() map[string]*WakuMessageArchiveIndexMetadata { if x != nil { return x.Archives } return nil } var File_communities_proto protoreflect.FileDescriptor var file_communities_proto_rawDesc = []byte{ 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x1a, 0x13, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x76, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x68, 0x61, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0xc6, 0x02, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x11, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x83, 0x01, 0x0a, 0x05, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x05, 0x22, 0x04, 0x08, 0x02, 0x10, 0x02, 0x22, 0x04, 0x08, 0x03, 0x10, 0x03, 0x2a, 0x11, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x53, 0x2a, 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x22, 0x82, 0x03, 0x0a, 0x16, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x66, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x1a, 0x44, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe5, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x59, 0x0a, 0x06, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x10, 0x03, 0x22, 0x84, 0x03, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x5d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x73, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x1a, 0x44, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x93, 0x03, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3e, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0xaf, 0x01, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x45, 0x43, 0x4f, 0x4d, 0x45, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x42, 0x45, 0x43, 0x4f, 0x4d, 0x45, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x41, 0x4e, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x41, 0x4e, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x45, 0x43, 0x4f, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x42, 0x45, 0x43, 0x4f, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x06, 0x22, 0x8a, 0x0a, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x45, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x63, 0x68, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x6c, 0x69, 0x6e, 0x6b, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x47, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x72, 0x6f, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x72, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x61, 0x0a, 0x11, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5c, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x44, 0x1a, 0x55, 0x0a, 0x0c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x51, 0x0a, 0x0a, 0x43, 0x68, 0x61, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5a, 0x0a, 0x0f, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x15, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5e, 0x0a, 0x16, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x44, 0x0a, 0x1f, 0x70, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x70, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x6c, 0x6c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xd9, 0x02, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x74, 0x12, 0x3e, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x74, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x55, 0x0a, 0x0c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x64, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x41, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x41, 0x69, 0x72, 0x64, 0x72, 0x6f, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xf0, 0x01, 0x0a, 0x16, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x68, 0x61, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x1c, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x45, 0x64, 0x69, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x11, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0xae, 0x01, 0x0a, 0x1c, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x68, 0x61, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xce, 0x02, 0x0a, 0x1e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x3c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x55, 0x72, 0x69, 0x12, 0x3d, 0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x18, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x22, 0x52, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x21, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x67, 0x6e, 0x65, 0x74, 0x55, 0x72, 0x69, 0x22, 0xbf, 0x01, 0x0a, 0x0b, 0x57, 0x61, 0x6b, 0x75, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x68, 0x69, 0x72, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x68, 0x69, 0x72, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x64, 0x22, 0x7e, 0x0a, 0x1a, 0x57, 0x61, 0x6b, 0x75, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x22, 0xa3, 0x01, 0x0a, 0x12, 0x57, 0x61, 0x6b, 0x75, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x61, 0x6b, 0x75, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x61, 0x6b, 0x75, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x22, 0xc3, 0x01, 0x0a, 0x1f, 0x57, 0x61, 0x6b, 0x75, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x61, 0x6b, 0x75, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x17, 0x57, 0x61, 0x6b, 0x75, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4b, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x61, 0x6b, 0x75, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x1a, 0x66, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x61, 0x6b, 0x75, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_communities_proto_rawDescOnce sync.Once file_communities_proto_rawDescData = file_communities_proto_rawDesc ) func file_communities_proto_rawDescGZIP() []byte { file_communities_proto_rawDescOnce.Do(func() { file_communities_proto_rawDescData = protoimpl.X.CompressGZIP(file_communities_proto_rawDescData) }) return file_communities_proto_rawDescData } var file_communities_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_communities_proto_msgTypes = make([]protoimpl.MessageInfo, 30) var file_communities_proto_goTypes = []interface{}{ (CommunityMember_Roles)(0), // 0: protobuf.CommunityMember.Roles (CommunityPermissions_Access)(0), // 1: protobuf.CommunityPermissions.Access (CommunityTokenPermission_Type)(0), // 2: protobuf.CommunityTokenPermission.Type (*Grant)(nil), // 3: protobuf.Grant (*CommunityMember)(nil), // 4: protobuf.CommunityMember (*CommunityTokenMetadata)(nil), // 5: protobuf.CommunityTokenMetadata (*CommunityPermissions)(nil), // 6: protobuf.CommunityPermissions (*TokenCriteria)(nil), // 7: protobuf.TokenCriteria (*CommunityTokenPermission)(nil), // 8: protobuf.CommunityTokenPermission (*CommunityDescription)(nil), // 9: protobuf.CommunityDescription (*CommunityAdminSettings)(nil), // 10: protobuf.CommunityAdminSettings (*CommunityChat)(nil), // 11: protobuf.CommunityChat (*CommunityCategory)(nil), // 12: protobuf.CommunityCategory (*RevealedAccount)(nil), // 13: protobuf.RevealedAccount (*CommunityRequestToJoin)(nil), // 14: protobuf.CommunityRequestToJoin (*CommunityEditSharedAddresses)(nil), // 15: protobuf.CommunityEditSharedAddresses (*CommunityCancelRequestToJoin)(nil), // 16: protobuf.CommunityCancelRequestToJoin (*CommunityRequestToJoinResponse)(nil), // 17: protobuf.CommunityRequestToJoinResponse (*CommunityRequestToLeave)(nil), // 18: protobuf.CommunityRequestToLeave (*CommunityMessageArchiveMagnetlink)(nil), // 19: protobuf.CommunityMessageArchiveMagnetlink (*WakuMessage)(nil), // 20: protobuf.WakuMessage (*WakuMessageArchiveMetadata)(nil), // 21: protobuf.WakuMessageArchiveMetadata (*WakuMessageArchive)(nil), // 22: protobuf.WakuMessageArchive (*WakuMessageArchiveIndexMetadata)(nil), // 23: protobuf.WakuMessageArchiveIndexMetadata (*WakuMessageArchiveIndex)(nil), // 24: protobuf.WakuMessageArchiveIndex nil, // 25: protobuf.CommunityTokenMetadata.ContractAddressesEntry nil, // 26: protobuf.TokenCriteria.ContractAddressesEntry nil, // 27: protobuf.CommunityDescription.MembersEntry nil, // 28: protobuf.CommunityDescription.ChatsEntry nil, // 29: protobuf.CommunityDescription.CategoriesEntry nil, // 30: protobuf.CommunityDescription.TokenPermissionsEntry nil, // 31: protobuf.CommunityChat.MembersEntry nil, // 32: protobuf.WakuMessageArchiveIndex.ArchivesEntry (CommunityTokenType)(0), // 33: protobuf.CommunityTokenType (*ChatIdentity)(nil), // 34: protobuf.ChatIdentity (*Shard)(nil), // 35: protobuf.Shard } var file_communities_proto_depIdxs = []int32{ 0, // 0: protobuf.CommunityMember.roles:type_name -> protobuf.CommunityMember.Roles 13, // 1: protobuf.CommunityMember.revealed_accounts:type_name -> protobuf.RevealedAccount 25, // 2: protobuf.CommunityTokenMetadata.contract_addresses:type_name -> protobuf.CommunityTokenMetadata.ContractAddressesEntry 33, // 3: protobuf.CommunityTokenMetadata.tokenType:type_name -> protobuf.CommunityTokenType 1, // 4: protobuf.CommunityPermissions.access:type_name -> protobuf.CommunityPermissions.Access 26, // 5: protobuf.TokenCriteria.contract_addresses:type_name -> protobuf.TokenCriteria.ContractAddressesEntry 33, // 6: protobuf.TokenCriteria.type:type_name -> protobuf.CommunityTokenType 2, // 7: protobuf.CommunityTokenPermission.type:type_name -> protobuf.CommunityTokenPermission.Type 7, // 8: protobuf.CommunityTokenPermission.token_criteria:type_name -> protobuf.TokenCriteria 27, // 9: protobuf.CommunityDescription.members:type_name -> protobuf.CommunityDescription.MembersEntry 6, // 10: protobuf.CommunityDescription.permissions:type_name -> protobuf.CommunityPermissions 34, // 11: protobuf.CommunityDescription.identity:type_name -> protobuf.ChatIdentity 28, // 12: protobuf.CommunityDescription.chats:type_name -> protobuf.CommunityDescription.ChatsEntry 29, // 13: protobuf.CommunityDescription.categories:type_name -> protobuf.CommunityDescription.CategoriesEntry 10, // 14: protobuf.CommunityDescription.admin_settings:type_name -> protobuf.CommunityAdminSettings 30, // 15: protobuf.CommunityDescription.token_permissions:type_name -> protobuf.CommunityDescription.TokenPermissionsEntry 5, // 16: protobuf.CommunityDescription.community_tokens_metadata:type_name -> protobuf.CommunityTokenMetadata 31, // 17: protobuf.CommunityChat.members:type_name -> protobuf.CommunityChat.MembersEntry 6, // 18: protobuf.CommunityChat.permissions:type_name -> protobuf.CommunityPermissions 34, // 19: protobuf.CommunityChat.identity:type_name -> protobuf.ChatIdentity 13, // 20: protobuf.CommunityRequestToJoin.revealed_accounts:type_name -> protobuf.RevealedAccount 13, // 21: protobuf.CommunityEditSharedAddresses.revealed_accounts:type_name -> protobuf.RevealedAccount 9, // 22: protobuf.CommunityRequestToJoinResponse.community:type_name -> protobuf.CommunityDescription 35, // 23: protobuf.CommunityRequestToJoinResponse.shard:type_name -> protobuf.Shard 21, // 24: protobuf.WakuMessageArchive.metadata:type_name -> protobuf.WakuMessageArchiveMetadata 20, // 25: protobuf.WakuMessageArchive.messages:type_name -> protobuf.WakuMessage 21, // 26: protobuf.WakuMessageArchiveIndexMetadata.metadata:type_name -> protobuf.WakuMessageArchiveMetadata 32, // 27: protobuf.WakuMessageArchiveIndex.archives:type_name -> protobuf.WakuMessageArchiveIndex.ArchivesEntry 4, // 28: protobuf.CommunityDescription.MembersEntry.value:type_name -> protobuf.CommunityMember 11, // 29: protobuf.CommunityDescription.ChatsEntry.value:type_name -> protobuf.CommunityChat 12, // 30: protobuf.CommunityDescription.CategoriesEntry.value:type_name -> protobuf.CommunityCategory 8, // 31: protobuf.CommunityDescription.TokenPermissionsEntry.value:type_name -> protobuf.CommunityTokenPermission 4, // 32: protobuf.CommunityChat.MembersEntry.value:type_name -> protobuf.CommunityMember 23, // 33: protobuf.WakuMessageArchiveIndex.ArchivesEntry.value:type_name -> protobuf.WakuMessageArchiveIndexMetadata 34, // [34:34] is the sub-list for method output_type 34, // [34:34] is the sub-list for method input_type 34, // [34:34] is the sub-list for extension type_name 34, // [34:34] is the sub-list for extension extendee 0, // [0:34] is the sub-list for field type_name } func init() { file_communities_proto_init() } func file_communities_proto_init() { if File_communities_proto != nil { return } file_chat_identity_proto_init() file_enums_proto_init() file_shard_proto_init() if !protoimpl.UnsafeEnabled { file_communities_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Grant); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityMember); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityTokenMetadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityPermissions); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TokenCriteria); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityTokenPermission); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityDescription); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityAdminSettings); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityChat); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityCategory); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RevealedAccount); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityRequestToJoin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityEditSharedAddresses); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityCancelRequestToJoin); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityRequestToJoinResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityRequestToLeave); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommunityMessageArchiveMagnetlink); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WakuMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WakuMessageArchiveMetadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WakuMessageArchive); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WakuMessageArchiveIndexMetadata); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_communities_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WakuMessageArchiveIndex); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_communities_proto_rawDesc, NumEnums: 3, NumMessages: 30, NumExtensions: 0, NumServices: 0, }, GoTypes: file_communities_proto_goTypes, DependencyIndexes: file_communities_proto_depIdxs, EnumInfos: file_communities_proto_enumTypes, MessageInfos: file_communities_proto_msgTypes, }.Build() File_communities_proto = out.File file_communities_proto_rawDesc = nil file_communities_proto_goTypes = nil file_communities_proto_depIdxs = nil }