status-go/protocol/protobuf/pairing.pb.go

2994 lines
109 KiB
Go
Raw Normal View History

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: pairing.proto
package protobuf
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type SyncTrustedUser_TrustStatus int32
const (
SyncTrustedUser_UNKNOWN SyncTrustedUser_TrustStatus = 0
SyncTrustedUser_TRUSTED SyncTrustedUser_TrustStatus = 1
SyncTrustedUser_UNTRUSTWORTHY SyncTrustedUser_TrustStatus = 2
)
var SyncTrustedUser_TrustStatus_name = map[int32]string{
0: "UNKNOWN",
1: "TRUSTED",
2: "UNTRUSTWORTHY",
}
var SyncTrustedUser_TrustStatus_value = map[string]int32{
"UNKNOWN": 0,
"TRUSTED": 1,
"UNTRUSTWORTHY": 2,
}
func (x SyncTrustedUser_TrustStatus) String() string {
return proto.EnumName(SyncTrustedUser_TrustStatus_name, int32(x))
}
func (SyncTrustedUser_TrustStatus) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{25, 0}
}
type SyncVerificationRequest_VerificationStatus int32
const (
SyncVerificationRequest_UNKNOWN SyncVerificationRequest_VerificationStatus = 0
SyncVerificationRequest_PENDING SyncVerificationRequest_VerificationStatus = 1
SyncVerificationRequest_ACCEPTED SyncVerificationRequest_VerificationStatus = 2
SyncVerificationRequest_DECLINED SyncVerificationRequest_VerificationStatus = 3
SyncVerificationRequest_CANCELED SyncVerificationRequest_VerificationStatus = 4
)
var SyncVerificationRequest_VerificationStatus_name = map[int32]string{
0: "UNKNOWN",
1: "PENDING",
2: "ACCEPTED",
3: "DECLINED",
4: "CANCELED",
}
var SyncVerificationRequest_VerificationStatus_value = map[string]int32{
"UNKNOWN": 0,
"PENDING": 1,
"ACCEPTED": 2,
"DECLINED": 3,
"CANCELED": 4,
}
func (x SyncVerificationRequest_VerificationStatus) String() string {
return proto.EnumName(SyncVerificationRequest_VerificationStatus_name, int32(x))
}
func (SyncVerificationRequest_VerificationStatus) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{26, 0}
}
2022-08-07 14:25:03 +00:00
type SyncContactRequestDecision_DecisionStatus int32
const (
SyncContactRequestDecision_ACCEPTED SyncContactRequestDecision_DecisionStatus = 0
SyncContactRequestDecision_DECLINED SyncContactRequestDecision_DecisionStatus = 1
)
var SyncContactRequestDecision_DecisionStatus_name = map[int32]string{
0: "ACCEPTED",
1: "DECLINED",
}
var SyncContactRequestDecision_DecisionStatus_value = map[string]int32{
"ACCEPTED": 0,
"DECLINED": 1,
}
func (x SyncContactRequestDecision_DecisionStatus) String() string {
return proto.EnumName(SyncContactRequestDecision_DecisionStatus_name, int32(x))
}
func (SyncContactRequestDecision_DecisionStatus) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{27, 0}
}
type SyncKeycardAction_Action int32
const (
SyncKeycardAction_KEYCARD_ADDED SyncKeycardAction_Action = 0
SyncKeycardAction_ACCOUNTS_ADDED SyncKeycardAction_Action = 1
SyncKeycardAction_KEYCARD_DELETED SyncKeycardAction_Action = 2
SyncKeycardAction_ACCOUNTS_REMOVED SyncKeycardAction_Action = 3
SyncKeycardAction_LOCKED SyncKeycardAction_Action = 4
SyncKeycardAction_UNLOCKED SyncKeycardAction_Action = 5
SyncKeycardAction_UID_UPDATED SyncKeycardAction_Action = 6
SyncKeycardAction_NAME_CHANGED SyncKeycardAction_Action = 7
)
var SyncKeycardAction_Action_name = map[int32]string{
0: "KEYCARD_ADDED",
1: "ACCOUNTS_ADDED",
2: "KEYCARD_DELETED",
3: "ACCOUNTS_REMOVED",
4: "LOCKED",
5: "UNLOCKED",
6: "UID_UPDATED",
7: "NAME_CHANGED",
}
var SyncKeycardAction_Action_value = map[string]int32{
"KEYCARD_ADDED": 0,
"ACCOUNTS_ADDED": 1,
"KEYCARD_DELETED": 2,
"ACCOUNTS_REMOVED": 3,
"LOCKED": 4,
"UNLOCKED": 5,
"UID_UPDATED": 6,
"NAME_CHANGED": 7,
}
func (x SyncKeycardAction_Action) String() string {
return proto.EnumName(SyncKeycardAction_Action_name, int32(x))
}
func (SyncKeycardAction_Action) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{32, 0}
}
// `FetchingBackedUpDataDetails` is used to describe how many messages a single backup data structure consists of
type FetchingBackedUpDataDetails struct {
DataNumber uint32 `protobuf:"varint,1,opt,name=data_number,json=dataNumber,proto3" json:"data_number,omitempty"`
TotalNumber uint32 `protobuf:"varint,2,opt,name=total_number,json=totalNumber,proto3" json:"total_number,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *FetchingBackedUpDataDetails) Reset() { *m = FetchingBackedUpDataDetails{} }
func (m *FetchingBackedUpDataDetails) String() string { return proto.CompactTextString(m) }
func (*FetchingBackedUpDataDetails) ProtoMessage() {}
func (*FetchingBackedUpDataDetails) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{0}
}
func (m *FetchingBackedUpDataDetails) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FetchingBackedUpDataDetails.Unmarshal(m, b)
}
func (m *FetchingBackedUpDataDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FetchingBackedUpDataDetails.Marshal(b, m, deterministic)
}
func (m *FetchingBackedUpDataDetails) XXX_Merge(src proto.Message) {
xxx_messageInfo_FetchingBackedUpDataDetails.Merge(m, src)
}
func (m *FetchingBackedUpDataDetails) XXX_Size() int {
return xxx_messageInfo_FetchingBackedUpDataDetails.Size(m)
}
func (m *FetchingBackedUpDataDetails) XXX_DiscardUnknown() {
xxx_messageInfo_FetchingBackedUpDataDetails.DiscardUnknown(m)
}
var xxx_messageInfo_FetchingBackedUpDataDetails proto.InternalMessageInfo
func (m *FetchingBackedUpDataDetails) GetDataNumber() uint32 {
if m != nil {
return m.DataNumber
}
return 0
}
func (m *FetchingBackedUpDataDetails) GetTotalNumber() uint32 {
if m != nil {
return m.TotalNumber
}
return 0
2022-08-07 14:25:03 +00:00
}
type Backup struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
// this is what we already had
Contacts []*SyncInstallationContactV2 `protobuf:"bytes,3,rep,name=contacts,proto3" json:"contacts,omitempty"`
Communities []*SyncCommunity `protobuf:"bytes,4,rep,name=communities,proto3" json:"communities,omitempty"`
// newly added details to be backed up to and fetched from waku
ContactsDetails *FetchingBackedUpDataDetails `protobuf:"bytes,5,opt,name=contactsDetails,proto3" json:"contactsDetails,omitempty"`
CommunitiesDetails *FetchingBackedUpDataDetails `protobuf:"bytes,6,opt,name=communitiesDetails,proto3" json:"communitiesDetails,omitempty"`
Profile *BackedUpProfile `protobuf:"bytes,7,opt,name=profile,proto3" json:"profile,omitempty"`
ProfileDetails *FetchingBackedUpDataDetails `protobuf:"bytes,8,opt,name=profileDetails,proto3" json:"profileDetails,omitempty"`
Setting *SyncSetting `protobuf:"bytes,9,opt,name=setting,proto3" json:"setting,omitempty"`
SettingsDetails *FetchingBackedUpDataDetails `protobuf:"bytes,10,opt,name=settingsDetails,proto3" json:"settingsDetails,omitempty"`
Keycards *SyncAllKeycards `protobuf:"bytes,11,opt,name=keycards,proto3" json:"keycards,omitempty"`
KeycardsDetails *FetchingBackedUpDataDetails `protobuf:"bytes,12,opt,name=keycardsDetails,proto3" json:"keycardsDetails,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Backup) Reset() { *m = Backup{} }
func (m *Backup) String() string { return proto.CompactTextString(m) }
func (*Backup) ProtoMessage() {}
func (*Backup) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{1}
}
func (m *Backup) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Backup.Unmarshal(m, b)
}
func (m *Backup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Backup.Marshal(b, m, deterministic)
}
func (m *Backup) XXX_Merge(src proto.Message) {
xxx_messageInfo_Backup.Merge(m, src)
}
func (m *Backup) XXX_Size() int {
return xxx_messageInfo_Backup.Size(m)
}
func (m *Backup) XXX_DiscardUnknown() {
xxx_messageInfo_Backup.DiscardUnknown(m)
}
var xxx_messageInfo_Backup proto.InternalMessageInfo
func (m *Backup) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *Backup) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *Backup) GetContacts() []*SyncInstallationContactV2 {
if m != nil {
return m.Contacts
}
return nil
}
2022-01-06 16:35:08 +00:00
func (m *Backup) GetCommunities() []*SyncCommunity {
if m != nil {
return m.Communities
}
return nil
}
func (m *Backup) GetContactsDetails() *FetchingBackedUpDataDetails {
if m != nil {
return m.ContactsDetails
}
return nil
}
func (m *Backup) GetCommunitiesDetails() *FetchingBackedUpDataDetails {
if m != nil {
return m.CommunitiesDetails
}
return nil
}
func (m *Backup) GetProfile() *BackedUpProfile {
if m != nil {
return m.Profile
}
return nil
}
func (m *Backup) GetProfileDetails() *FetchingBackedUpDataDetails {
if m != nil {
return m.ProfileDetails
}
return nil
}
func (m *Backup) GetSetting() *SyncSetting {
if m != nil {
return m.Setting
}
return nil
}
func (m *Backup) GetSettingsDetails() *FetchingBackedUpDataDetails {
if m != nil {
return m.SettingsDetails
}
return nil
}
func (m *Backup) GetKeycards() *SyncAllKeycards {
if m != nil {
return m.Keycards
}
return nil
}
func (m *Backup) GetKeycardsDetails() *FetchingBackedUpDataDetails {
if m != nil {
return m.KeycardsDetails
}
return nil
}
type MultiAccount struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Identicon string `protobuf:"bytes,3,opt,name=identicon,proto3" json:"identicon,omitempty"`
2023-03-22 17:48:42 +00:00
ColorHash []*MultiAccount_ColorHash `protobuf:"bytes,4,rep,name=color_hash,json=colorHash,proto3" json:"color_hash,omitempty"`
ColorId int64 `protobuf:"varint,5,opt,name=color_id,json=colorId,proto3" json:"color_id,omitempty"`
KeycardPairing string `protobuf:"bytes,6,opt,name=keycard_pairing,json=keycardPairing,proto3" json:"keycard_pairing,omitempty"`
KeyUid string `protobuf:"bytes,7,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
Images []*MultiAccount_IdentityImage `protobuf:"bytes,8,rep,name=images,proto3" json:"images,omitempty"`
2023-03-22 17:48:42 +00:00
CustomizationColor string `protobuf:"bytes,9,opt,name=customization_color,json=customizationColor,proto3" json:"customization_color,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MultiAccount) Reset() { *m = MultiAccount{} }
func (m *MultiAccount) String() string { return proto.CompactTextString(m) }
func (*MultiAccount) ProtoMessage() {}
func (*MultiAccount) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{2}
}
func (m *MultiAccount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MultiAccount.Unmarshal(m, b)
}
func (m *MultiAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MultiAccount.Marshal(b, m, deterministic)
}
func (m *MultiAccount) XXX_Merge(src proto.Message) {
xxx_messageInfo_MultiAccount.Merge(m, src)
}
func (m *MultiAccount) XXX_Size() int {
return xxx_messageInfo_MultiAccount.Size(m)
}
func (m *MultiAccount) XXX_DiscardUnknown() {
xxx_messageInfo_MultiAccount.DiscardUnknown(m)
}
var xxx_messageInfo_MultiAccount proto.InternalMessageInfo
func (m *MultiAccount) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *MultiAccount) GetTimestamp() int64 {
if m != nil {
return m.Timestamp
}
return 0
}
func (m *MultiAccount) GetIdenticon() string {
if m != nil {
return m.Identicon
}
return ""
}
2023-03-22 17:48:42 +00:00
func (m *MultiAccount) GetColorHash() []*MultiAccount_ColorHash {
if m != nil {
return m.ColorHash
}
return nil
}
func (m *MultiAccount) GetColorId() int64 {
if m != nil {
return m.ColorId
}
return 0
}
func (m *MultiAccount) GetKeycardPairing() string {
if m != nil {
return m.KeycardPairing
}
return ""
}
func (m *MultiAccount) GetKeyUid() string {
if m != nil {
return m.KeyUid
}
return ""
}
func (m *MultiAccount) GetImages() []*MultiAccount_IdentityImage {
if m != nil {
return m.Images
}
return nil
}
2023-03-22 17:48:42 +00:00
func (m *MultiAccount) GetCustomizationColor() string {
if m != nil {
return m.CustomizationColor
}
return ""
}
type MultiAccount_ColorHash struct {
Index []int64 `protobuf:"varint,1,rep,packed,name=index,proto3" json:"index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
2023-03-22 17:48:42 +00:00
func (m *MultiAccount_ColorHash) Reset() { *m = MultiAccount_ColorHash{} }
func (m *MultiAccount_ColorHash) String() string { return proto.CompactTextString(m) }
func (*MultiAccount_ColorHash) ProtoMessage() {}
func (*MultiAccount_ColorHash) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{2, 0}
}
2023-03-22 17:48:42 +00:00
func (m *MultiAccount_ColorHash) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MultiAccount_ColorHash.Unmarshal(m, b)
}
2023-03-22 17:48:42 +00:00
func (m *MultiAccount_ColorHash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MultiAccount_ColorHash.Marshal(b, m, deterministic)
}
2023-03-22 17:48:42 +00:00
func (m *MultiAccount_ColorHash) XXX_Merge(src proto.Message) {
xxx_messageInfo_MultiAccount_ColorHash.Merge(m, src)
}
2023-03-22 17:48:42 +00:00
func (m *MultiAccount_ColorHash) XXX_Size() int {
return xxx_messageInfo_MultiAccount_ColorHash.Size(m)
}
2023-03-22 17:48:42 +00:00
func (m *MultiAccount_ColorHash) XXX_DiscardUnknown() {
xxx_messageInfo_MultiAccount_ColorHash.DiscardUnknown(m)
}
2023-03-22 17:48:42 +00:00
var xxx_messageInfo_MultiAccount_ColorHash proto.InternalMessageInfo
2023-03-22 17:48:42 +00:00
func (m *MultiAccount_ColorHash) GetIndex() []int64 {
if m != nil {
return m.Index
}
return nil
}
type MultiAccount_IdentityImage struct {
KeyUid string `protobuf:"bytes,1,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Payload []byte `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"`
Width int64 `protobuf:"varint,4,opt,name=width,proto3" json:"width,omitempty"`
Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
Filesize int64 `protobuf:"varint,6,opt,name=filesize,proto3" json:"filesize,omitempty"`
ResizeTarget int64 `protobuf:"varint,7,opt,name=resize_target,json=resizeTarget,proto3" json:"resize_target,omitempty"`
Clock uint64 `protobuf:"varint,8,opt,name=clock,proto3" json:"clock,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *MultiAccount_IdentityImage) Reset() { *m = MultiAccount_IdentityImage{} }
func (m *MultiAccount_IdentityImage) String() string { return proto.CompactTextString(m) }
func (*MultiAccount_IdentityImage) ProtoMessage() {}
func (*MultiAccount_IdentityImage) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{2, 1}
}
func (m *MultiAccount_IdentityImage) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MultiAccount_IdentityImage.Unmarshal(m, b)
}
func (m *MultiAccount_IdentityImage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MultiAccount_IdentityImage.Marshal(b, m, deterministic)
}
func (m *MultiAccount_IdentityImage) XXX_Merge(src proto.Message) {
xxx_messageInfo_MultiAccount_IdentityImage.Merge(m, src)
}
func (m *MultiAccount_IdentityImage) XXX_Size() int {
return xxx_messageInfo_MultiAccount_IdentityImage.Size(m)
}
func (m *MultiAccount_IdentityImage) XXX_DiscardUnknown() {
xxx_messageInfo_MultiAccount_IdentityImage.DiscardUnknown(m)
}
var xxx_messageInfo_MultiAccount_IdentityImage proto.InternalMessageInfo
func (m *MultiAccount_IdentityImage) GetKeyUid() string {
if m != nil {
return m.KeyUid
}
return ""
}
func (m *MultiAccount_IdentityImage) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *MultiAccount_IdentityImage) GetPayload() []byte {
if m != nil {
return m.Payload
}
return nil
}
func (m *MultiAccount_IdentityImage) GetWidth() int64 {
if m != nil {
return m.Width
}
return 0
}
func (m *MultiAccount_IdentityImage) GetHeight() int64 {
if m != nil {
return m.Height
}
return 0
}
func (m *MultiAccount_IdentityImage) GetFilesize() int64 {
if m != nil {
return m.Filesize
}
return 0
}
func (m *MultiAccount_IdentityImage) GetResizeTarget() int64 {
if m != nil {
return m.ResizeTarget
}
return 0
}
func (m *MultiAccount_IdentityImage) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
type LocalPairingPayload struct {
Keys []*LocalPairingPayload_Key `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
Multiaccount *MultiAccount `protobuf:"bytes,2,opt,name=multiaccount,proto3" json:"multiaccount,omitempty"`
Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LocalPairingPayload) Reset() { *m = LocalPairingPayload{} }
func (m *LocalPairingPayload) String() string { return proto.CompactTextString(m) }
func (*LocalPairingPayload) ProtoMessage() {}
func (*LocalPairingPayload) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{3}
}
func (m *LocalPairingPayload) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LocalPairingPayload.Unmarshal(m, b)
}
func (m *LocalPairingPayload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LocalPairingPayload.Marshal(b, m, deterministic)
}
func (m *LocalPairingPayload) XXX_Merge(src proto.Message) {
xxx_messageInfo_LocalPairingPayload.Merge(m, src)
}
func (m *LocalPairingPayload) XXX_Size() int {
return xxx_messageInfo_LocalPairingPayload.Size(m)
}
func (m *LocalPairingPayload) XXX_DiscardUnknown() {
xxx_messageInfo_LocalPairingPayload.DiscardUnknown(m)
}
var xxx_messageInfo_LocalPairingPayload proto.InternalMessageInfo
func (m *LocalPairingPayload) GetKeys() []*LocalPairingPayload_Key {
if m != nil {
return m.Keys
}
return nil
}
func (m *LocalPairingPayload) GetMultiaccount() *MultiAccount {
if m != nil {
return m.Multiaccount
}
return nil
}
func (m *LocalPairingPayload) GetPassword() string {
if m != nil {
return m.Password
}
return ""
}
type LocalPairingPayload_Key struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LocalPairingPayload_Key) Reset() { *m = LocalPairingPayload_Key{} }
func (m *LocalPairingPayload_Key) String() string { return proto.CompactTextString(m) }
func (*LocalPairingPayload_Key) ProtoMessage() {}
func (*LocalPairingPayload_Key) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{3, 0}
}
func (m *LocalPairingPayload_Key) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LocalPairingPayload_Key.Unmarshal(m, b)
}
func (m *LocalPairingPayload_Key) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LocalPairingPayload_Key.Marshal(b, m, deterministic)
}
func (m *LocalPairingPayload_Key) XXX_Merge(src proto.Message) {
xxx_messageInfo_LocalPairingPayload_Key.Merge(m, src)
}
func (m *LocalPairingPayload_Key) XXX_Size() int {
return xxx_messageInfo_LocalPairingPayload_Key.Size(m)
}
func (m *LocalPairingPayload_Key) XXX_DiscardUnknown() {
xxx_messageInfo_LocalPairingPayload_Key.DiscardUnknown(m)
}
var xxx_messageInfo_LocalPairingPayload_Key proto.InternalMessageInfo
func (m *LocalPairingPayload_Key) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *LocalPairingPayload_Key) GetData() []byte {
if m != nil {
return m.Data
}
return nil
}
type PairInstallation struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
InstallationId string `protobuf:"bytes,2,opt,name=installation_id,json=installationId,proto3" json:"installation_id,omitempty"`
DeviceType string `protobuf:"bytes,3,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"`
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
// following fields used for local pairing
Version uint32 `protobuf:"varint,5,opt,name=version,proto3" json:"version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PairInstallation) Reset() { *m = PairInstallation{} }
func (m *PairInstallation) String() string { return proto.CompactTextString(m) }
func (*PairInstallation) ProtoMessage() {}
func (*PairInstallation) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{4}
}
func (m *PairInstallation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PairInstallation.Unmarshal(m, b)
}
func (m *PairInstallation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PairInstallation.Marshal(b, m, deterministic)
}
func (m *PairInstallation) XXX_Merge(src proto.Message) {
xxx_messageInfo_PairInstallation.Merge(m, src)
}
func (m *PairInstallation) XXX_Size() int {
return xxx_messageInfo_PairInstallation.Size(m)
}
func (m *PairInstallation) XXX_DiscardUnknown() {
xxx_messageInfo_PairInstallation.DiscardUnknown(m)
}
var xxx_messageInfo_PairInstallation proto.InternalMessageInfo
func (m *PairInstallation) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *PairInstallation) GetInstallationId() string {
if m != nil {
return m.InstallationId
}
return ""
}
func (m *PairInstallation) GetDeviceType() string {
if m != nil {
return m.DeviceType
}
return ""
}
func (m *PairInstallation) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *PairInstallation) GetVersion() uint32 {
if m != nil {
return m.Version
}
return 0
}
type SyncInstallationContact struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
ProfileImage string `protobuf:"bytes,3,opt,name=profile_image,json=profileImage,proto3" json:"profile_image,omitempty"`
EnsName string `protobuf:"bytes,4,opt,name=ens_name,json=ensName,proto3" json:"ens_name,omitempty"`
LastUpdated uint64 `protobuf:"varint,5,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
SystemTags []string `protobuf:"bytes,6,rep,name=system_tags,json=systemTags,proto3" json:"system_tags,omitempty"`
2020-08-20 14:06:38 +00:00
LocalNickname string `protobuf:"bytes,7,opt,name=local_nickname,json=localNickname,proto3" json:"local_nickname,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncInstallationContact) Reset() { *m = SyncInstallationContact{} }
func (m *SyncInstallationContact) String() string { return proto.CompactTextString(m) }
func (*SyncInstallationContact) ProtoMessage() {}
func (*SyncInstallationContact) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{5}
}
func (m *SyncInstallationContact) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncInstallationContact.Unmarshal(m, b)
}
func (m *SyncInstallationContact) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncInstallationContact.Marshal(b, m, deterministic)
}
func (m *SyncInstallationContact) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncInstallationContact.Merge(m, src)
}
func (m *SyncInstallationContact) XXX_Size() int {
return xxx_messageInfo_SyncInstallationContact.Size(m)
}
func (m *SyncInstallationContact) XXX_DiscardUnknown() {
xxx_messageInfo_SyncInstallationContact.DiscardUnknown(m)
}
var xxx_messageInfo_SyncInstallationContact proto.InternalMessageInfo
func (m *SyncInstallationContact) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncInstallationContact) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *SyncInstallationContact) GetProfileImage() string {
if m != nil {
return m.ProfileImage
}
return ""
}
func (m *SyncInstallationContact) GetEnsName() string {
if m != nil {
return m.EnsName
}
return ""
}
func (m *SyncInstallationContact) GetLastUpdated() uint64 {
if m != nil {
return m.LastUpdated
}
return 0
}
func (m *SyncInstallationContact) GetSystemTags() []string {
if m != nil {
return m.SystemTags
}
return nil
}
2020-08-20 14:06:38 +00:00
func (m *SyncInstallationContact) GetLocalNickname() string {
if m != nil {
return m.LocalNickname
}
return ""
}
type SyncInstallationContactV2 struct {
2023-01-20 14:28:30 +00:00
LastUpdatedLocally uint64 `protobuf:"varint,1,opt,name=last_updated_locally,json=lastUpdatedLocally,proto3" json:"last_updated_locally,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
ProfileImage string `protobuf:"bytes,3,opt,name=profile_image,json=profileImage,proto3" json:"profile_image,omitempty"`
EnsName string `protobuf:"bytes,4,opt,name=ens_name,json=ensName,proto3" json:"ens_name,omitempty"`
LastUpdated uint64 `protobuf:"varint,5,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
SystemTags []string `protobuf:"bytes,6,rep,name=system_tags,json=systemTags,proto3" json:"system_tags,omitempty"`
LocalNickname string `protobuf:"bytes,7,opt,name=local_nickname,json=localNickname,proto3" json:"local_nickname,omitempty"`
Added bool `protobuf:"varint,9,opt,name=added,proto3" json:"added,omitempty"`
Blocked bool `protobuf:"varint,10,opt,name=blocked,proto3" json:"blocked,omitempty"`
Muted bool `protobuf:"varint,11,opt,name=muted,proto3" json:"muted,omitempty"`
Removed bool `protobuf:"varint,12,opt,name=removed,proto3" json:"removed,omitempty"`
HasAddedUs bool `protobuf:"varint,13,opt,name=has_added_us,json=hasAddedUs,proto3" json:"has_added_us,omitempty"`
VerificationStatus int64 `protobuf:"varint,14,opt,name=verification_status,json=verificationStatus,proto3" json:"verification_status,omitempty"`
TrustStatus int64 `protobuf:"varint,15,opt,name=trust_status,json=trustStatus,proto3" json:"trust_status,omitempty"`
ContactRequestLocalState int64 `protobuf:"varint,16,opt,name=contact_request_local_state,json=contactRequestLocalState,proto3" json:"contact_request_local_state,omitempty"`
ContactRequestLocalClock int64 `protobuf:"varint,17,opt,name=contact_request_local_clock,json=contactRequestLocalClock,proto3" json:"contact_request_local_clock,omitempty"`
ContactRequestRemoteState int64 `protobuf:"varint,18,opt,name=contact_request_remote_state,json=contactRequestRemoteState,proto3" json:"contact_request_remote_state,omitempty"`
ContactRequestRemoteClock int64 `protobuf:"varint,19,opt,name=contact_request_remote_clock,json=contactRequestRemoteClock,proto3" json:"contact_request_remote_clock,omitempty"`
2023-02-14 17:44:00 +00:00
DisplayName string `protobuf:"bytes,20,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
2023-01-20 14:28:30 +00:00
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncInstallationContactV2) Reset() { *m = SyncInstallationContactV2{} }
func (m *SyncInstallationContactV2) String() string { return proto.CompactTextString(m) }
func (*SyncInstallationContactV2) ProtoMessage() {}
func (*SyncInstallationContactV2) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{6}
}
func (m *SyncInstallationContactV2) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncInstallationContactV2.Unmarshal(m, b)
}
func (m *SyncInstallationContactV2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncInstallationContactV2.Marshal(b, m, deterministic)
}
func (m *SyncInstallationContactV2) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncInstallationContactV2.Merge(m, src)
}
func (m *SyncInstallationContactV2) XXX_Size() int {
return xxx_messageInfo_SyncInstallationContactV2.Size(m)
}
func (m *SyncInstallationContactV2) XXX_DiscardUnknown() {
xxx_messageInfo_SyncInstallationContactV2.DiscardUnknown(m)
}
var xxx_messageInfo_SyncInstallationContactV2 proto.InternalMessageInfo
func (m *SyncInstallationContactV2) GetLastUpdatedLocally() uint64 {
if m != nil {
return m.LastUpdatedLocally
}
return 0
}
func (m *SyncInstallationContactV2) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *SyncInstallationContactV2) GetProfileImage() string {
if m != nil {
return m.ProfileImage
}
return ""
}
func (m *SyncInstallationContactV2) GetEnsName() string {
if m != nil {
return m.EnsName
}
return ""
}
func (m *SyncInstallationContactV2) GetLastUpdated() uint64 {
if m != nil {
return m.LastUpdated
}
return 0
}
func (m *SyncInstallationContactV2) GetSystemTags() []string {
if m != nil {
return m.SystemTags
}
return nil
}
func (m *SyncInstallationContactV2) GetLocalNickname() string {
if m != nil {
return m.LocalNickname
}
return ""
}
func (m *SyncInstallationContactV2) GetAdded() bool {
if m != nil {
return m.Added
}
return false
}
func (m *SyncInstallationContactV2) GetBlocked() bool {
if m != nil {
return m.Blocked
}
return false
}
func (m *SyncInstallationContactV2) GetMuted() bool {
if m != nil {
return m.Muted
}
return false
}
func (m *SyncInstallationContactV2) GetRemoved() bool {
if m != nil {
return m.Removed
}
return false
}
func (m *SyncInstallationContactV2) GetHasAddedUs() bool {
if m != nil {
return m.HasAddedUs
}
return false
}
func (m *SyncInstallationContactV2) GetVerificationStatus() int64 {
if m != nil {
return m.VerificationStatus
}
return 0
}
func (m *SyncInstallationContactV2) GetTrustStatus() int64 {
if m != nil {
return m.TrustStatus
}
return 0
}
2023-01-20 14:28:30 +00:00
func (m *SyncInstallationContactV2) GetContactRequestLocalState() int64 {
if m != nil {
return m.ContactRequestLocalState
}
return 0
}
func (m *SyncInstallationContactV2) GetContactRequestLocalClock() int64 {
if m != nil {
return m.ContactRequestLocalClock
}
return 0
}
func (m *SyncInstallationContactV2) GetContactRequestRemoteState() int64 {
if m != nil {
return m.ContactRequestRemoteState
}
return 0
}
func (m *SyncInstallationContactV2) GetContactRequestRemoteClock() int64 {
if m != nil {
2023-01-20 14:28:30 +00:00
return m.ContactRequestRemoteClock
}
return 0
}
2023-02-14 17:44:00 +00:00
func (m *SyncInstallationContactV2) GetDisplayName() string {
if m != nil {
return m.DisplayName
}
return ""
}
type SyncInstallationAccount struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
ProfileImage string `protobuf:"bytes,2,opt,name=profile_image,json=profileImage,proto3" json:"profile_image,omitempty"`
LastUpdated uint64 `protobuf:"varint,3,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncInstallationAccount) Reset() { *m = SyncInstallationAccount{} }
func (m *SyncInstallationAccount) String() string { return proto.CompactTextString(m) }
func (*SyncInstallationAccount) ProtoMessage() {}
func (*SyncInstallationAccount) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{7}
}
func (m *SyncInstallationAccount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncInstallationAccount.Unmarshal(m, b)
}
func (m *SyncInstallationAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncInstallationAccount.Marshal(b, m, deterministic)
}
func (m *SyncInstallationAccount) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncInstallationAccount.Merge(m, src)
}
func (m *SyncInstallationAccount) XXX_Size() int {
return xxx_messageInfo_SyncInstallationAccount.Size(m)
}
func (m *SyncInstallationAccount) XXX_DiscardUnknown() {
xxx_messageInfo_SyncInstallationAccount.DiscardUnknown(m)
}
var xxx_messageInfo_SyncInstallationAccount proto.InternalMessageInfo
func (m *SyncInstallationAccount) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncInstallationAccount) GetProfileImage() string {
if m != nil {
return m.ProfileImage
}
return ""
}
func (m *SyncInstallationAccount) GetLastUpdated() uint64 {
if m != nil {
return m.LastUpdated
}
return 0
}
type SyncInstallationPublicChat struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncInstallationPublicChat) Reset() { *m = SyncInstallationPublicChat{} }
func (m *SyncInstallationPublicChat) String() string { return proto.CompactTextString(m) }
func (*SyncInstallationPublicChat) ProtoMessage() {}
func (*SyncInstallationPublicChat) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{8}
}
func (m *SyncInstallationPublicChat) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncInstallationPublicChat.Unmarshal(m, b)
}
func (m *SyncInstallationPublicChat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncInstallationPublicChat.Marshal(b, m, deterministic)
}
func (m *SyncInstallationPublicChat) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncInstallationPublicChat.Merge(m, src)
}
func (m *SyncInstallationPublicChat) XXX_Size() int {
return xxx_messageInfo_SyncInstallationPublicChat.Size(m)
}
func (m *SyncInstallationPublicChat) XXX_DiscardUnknown() {
xxx_messageInfo_SyncInstallationPublicChat.DiscardUnknown(m)
}
var xxx_messageInfo_SyncInstallationPublicChat proto.InternalMessageInfo
func (m *SyncInstallationPublicChat) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncInstallationPublicChat) GetId() string {
if m != nil {
return m.Id
}
return ""
}
type SyncCommunity struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id []byte `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
PrivateKey []byte `protobuf:"bytes,3,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"`
Description []byte `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
Joined bool `protobuf:"varint,5,opt,name=joined,proto3" json:"joined,omitempty"`
Verified bool `protobuf:"varint,6,opt,name=verified,proto3" json:"verified,omitempty"`
Muted bool `protobuf:"varint,7,opt,name=muted,proto3" json:"muted,omitempty"`
RequestsToJoin []*SyncCommunityRequestsToJoin `protobuf:"bytes,8,rep,name=requests_to_join,json=requestsToJoin,proto3" json:"requests_to_join,omitempty"`
Settings *SyncCommunitySettings `protobuf:"bytes,9,opt,name=settings,proto3" json:"settings,omitempty"`
2022-05-27 09:14:40 +00:00
Encrypted bool `protobuf:"varint,10,opt,name=encrypted,proto3" json:"encrypted,omitempty"`
Spectated bool `protobuf:"varint,11,opt,name=spectated,proto3" json:"spectated,omitempty"`
2022-11-07 17:30:00 +00:00
EncryptionKeys []byte `protobuf:"bytes,12,opt,name=encryption_keys,json=encryptionKeys,proto3" json:"encryption_keys,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncCommunity) Reset() { *m = SyncCommunity{} }
func (m *SyncCommunity) String() string { return proto.CompactTextString(m) }
func (*SyncCommunity) ProtoMessage() {}
func (*SyncCommunity) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{9}
}
func (m *SyncCommunity) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncCommunity.Unmarshal(m, b)
}
func (m *SyncCommunity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncCommunity.Marshal(b, m, deterministic)
}
func (m *SyncCommunity) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncCommunity.Merge(m, src)
}
func (m *SyncCommunity) XXX_Size() int {
return xxx_messageInfo_SyncCommunity.Size(m)
}
func (m *SyncCommunity) XXX_DiscardUnknown() {
xxx_messageInfo_SyncCommunity.DiscardUnknown(m)
}
var xxx_messageInfo_SyncCommunity proto.InternalMessageInfo
func (m *SyncCommunity) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncCommunity) GetId() []byte {
if m != nil {
return m.Id
}
return nil
}
func (m *SyncCommunity) GetPrivateKey() []byte {
if m != nil {
return m.PrivateKey
}
return nil
}
func (m *SyncCommunity) GetDescription() []byte {
if m != nil {
return m.Description
}
return nil
}
func (m *SyncCommunity) GetJoined() bool {
if m != nil {
return m.Joined
}
return false
}
func (m *SyncCommunity) GetVerified() bool {
if m != nil {
return m.Verified
}
return false
}
func (m *SyncCommunity) GetMuted() bool {
if m != nil {
return m.Muted
}
return false
}
func (m *SyncCommunity) GetRequestsToJoin() []*SyncCommunityRequestsToJoin {
if m != nil {
return m.RequestsToJoin
}
return nil
}
func (m *SyncCommunity) GetSettings() *SyncCommunitySettings {
if m != nil {
return m.Settings
}
return nil
}
2022-05-27 09:14:40 +00:00
func (m *SyncCommunity) GetEncrypted() bool {
if m != nil {
return m.Encrypted
}
return false
}
func (m *SyncCommunity) GetSpectated() bool {
if m != nil {
return m.Spectated
}
return false
}
2022-11-07 17:30:00 +00:00
func (m *SyncCommunity) GetEncryptionKeys() []byte {
if m != nil {
return m.EncryptionKeys
}
return nil
}
type SyncCommunityRequestsToJoin struct {
feat: add verified wallet accounts to community requests This commit extends the `CommunityRequestToJoin` with `RevealedAddresses` which represent wallet addresses and signatures provided by the sender, to proof a community owner ownership of those wallet addresses. **Note: This only works with keystore files maanged by status-go** At high level, the follwing happens: 1. User instructs Status to send a request to join to a community. By adding a password hash to the instruction, Status will try to unlock the users keystore and verify each wallet account. 2. For every verified wallet account, a signature is created for the following payload, using each wallet's private key ``` keccak256(chatkey + communityID + requestToJoinID) ``` A map of walletAddress->signature is then attached to the community request to join, which will be sent to the community owner 3. The owner node receives the request, and if the community requires users to hold tokens to become a member, it will check and verify whether the given wallet addresses are indeed owned by the sender. If any signature provided by the request cannot be recovered, the request is immediately declined by the owner. 4. The verified addresses are then added to the owner node's database such that, once the request should be accepted, the addresses can be used to check on chain whether they own the necessary funds to fulfill the community's permissions The checking of required funds is **not** part of this commit. It will be added in a follow-up commit.
2023-03-17 09:19:40 +00:00
Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
PublicKey string `protobuf:"bytes,2,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
Clock uint64 `protobuf:"varint,3,opt,name=clock,proto3" json:"clock,omitempty"`
EnsName string `protobuf:"bytes,4,opt,name=ens_name,json=ensName,proto3" json:"ens_name,omitempty"`
ChatId string `protobuf:"bytes,5,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"`
CommunityId []byte `protobuf:"bytes,6,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"`
State uint64 `protobuf:"varint,7,opt,name=state,proto3" json:"state,omitempty"`
RevealedAddresses map[string][]byte `protobuf:"bytes,8,rep,name=revealed_addresses,json=revealedAddresses,proto3" json:"revealed_addresses,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncCommunityRequestsToJoin) Reset() { *m = SyncCommunityRequestsToJoin{} }
func (m *SyncCommunityRequestsToJoin) String() string { return proto.CompactTextString(m) }
func (*SyncCommunityRequestsToJoin) ProtoMessage() {}
func (*SyncCommunityRequestsToJoin) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{10}
}
func (m *SyncCommunityRequestsToJoin) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncCommunityRequestsToJoin.Unmarshal(m, b)
}
func (m *SyncCommunityRequestsToJoin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncCommunityRequestsToJoin.Marshal(b, m, deterministic)
}
func (m *SyncCommunityRequestsToJoin) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncCommunityRequestsToJoin.Merge(m, src)
}
func (m *SyncCommunityRequestsToJoin) XXX_Size() int {
return xxx_messageInfo_SyncCommunityRequestsToJoin.Size(m)
}
func (m *SyncCommunityRequestsToJoin) XXX_DiscardUnknown() {
xxx_messageInfo_SyncCommunityRequestsToJoin.DiscardUnknown(m)
}
var xxx_messageInfo_SyncCommunityRequestsToJoin proto.InternalMessageInfo
func (m *SyncCommunityRequestsToJoin) GetId() []byte {
if m != nil {
return m.Id
}
return nil
}
func (m *SyncCommunityRequestsToJoin) GetPublicKey() string {
if m != nil {
return m.PublicKey
}
return ""
}
func (m *SyncCommunityRequestsToJoin) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncCommunityRequestsToJoin) GetEnsName() string {
if m != nil {
return m.EnsName
}
return ""
}
func (m *SyncCommunityRequestsToJoin) GetChatId() string {
if m != nil {
return m.ChatId
}
return ""
}
func (m *SyncCommunityRequestsToJoin) GetCommunityId() []byte {
if m != nil {
return m.CommunityId
}
return nil
}
func (m *SyncCommunityRequestsToJoin) GetState() uint64 {
if m != nil {
return m.State
}
return 0
}
feat: add verified wallet accounts to community requests This commit extends the `CommunityRequestToJoin` with `RevealedAddresses` which represent wallet addresses and signatures provided by the sender, to proof a community owner ownership of those wallet addresses. **Note: This only works with keystore files maanged by status-go** At high level, the follwing happens: 1. User instructs Status to send a request to join to a community. By adding a password hash to the instruction, Status will try to unlock the users keystore and verify each wallet account. 2. For every verified wallet account, a signature is created for the following payload, using each wallet's private key ``` keccak256(chatkey + communityID + requestToJoinID) ``` A map of walletAddress->signature is then attached to the community request to join, which will be sent to the community owner 3. The owner node receives the request, and if the community requires users to hold tokens to become a member, it will check and verify whether the given wallet addresses are indeed owned by the sender. If any signature provided by the request cannot be recovered, the request is immediately declined by the owner. 4. The verified addresses are then added to the owner node's database such that, once the request should be accepted, the addresses can be used to check on chain whether they own the necessary funds to fulfill the community's permissions The checking of required funds is **not** part of this commit. It will be added in a follow-up commit.
2023-03-17 09:19:40 +00:00
func (m *SyncCommunityRequestsToJoin) GetRevealedAddresses() map[string][]byte {
if m != nil {
return m.RevealedAddresses
}
return nil
}
type SyncInstallation struct {
Contacts []*SyncInstallationContact `protobuf:"bytes,1,rep,name=contacts,proto3" json:"contacts,omitempty"`
PublicChats []*SyncInstallationPublicChat `protobuf:"bytes,2,rep,name=public_chats,json=publicChats,proto3" json:"public_chats,omitempty"`
Account *SyncInstallationAccount `protobuf:"bytes,3,opt,name=account,proto3" json:"account,omitempty"`
Communities []*SyncCommunity `protobuf:"bytes,4,rep,name=communities,proto3" json:"communities,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncInstallation) Reset() { *m = SyncInstallation{} }
func (m *SyncInstallation) String() string { return proto.CompactTextString(m) }
func (*SyncInstallation) ProtoMessage() {}
func (*SyncInstallation) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{11}
}
func (m *SyncInstallation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncInstallation.Unmarshal(m, b)
}
func (m *SyncInstallation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncInstallation.Marshal(b, m, deterministic)
}
func (m *SyncInstallation) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncInstallation.Merge(m, src)
}
func (m *SyncInstallation) XXX_Size() int {
return xxx_messageInfo_SyncInstallation.Size(m)
}
func (m *SyncInstallation) XXX_DiscardUnknown() {
xxx_messageInfo_SyncInstallation.DiscardUnknown(m)
}
var xxx_messageInfo_SyncInstallation proto.InternalMessageInfo
func (m *SyncInstallation) GetContacts() []*SyncInstallationContact {
if m != nil {
return m.Contacts
}
return nil
}
func (m *SyncInstallation) GetPublicChats() []*SyncInstallationPublicChat {
if m != nil {
return m.PublicChats
}
return nil
}
func (m *SyncInstallation) GetAccount() *SyncInstallationAccount {
if m != nil {
return m.Account
}
return nil
}
func (m *SyncInstallation) GetCommunities() []*SyncCommunity {
if m != nil {
return m.Communities
}
return nil
}
2021-10-05 17:26:02 +00:00
type SyncChatRemoved struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncChatRemoved) Reset() { *m = SyncChatRemoved{} }
func (m *SyncChatRemoved) String() string { return proto.CompactTextString(m) }
func (*SyncChatRemoved) ProtoMessage() {}
func (*SyncChatRemoved) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{12}
2021-10-05 17:26:02 +00:00
}
2021-10-05 17:26:02 +00:00
func (m *SyncChatRemoved) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncChatRemoved.Unmarshal(m, b)
2021-10-05 17:26:02 +00:00
}
func (m *SyncChatRemoved) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncChatRemoved.Marshal(b, m, deterministic)
2021-10-05 17:26:02 +00:00
}
func (m *SyncChatRemoved) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncChatRemoved.Merge(m, src)
}
func (m *SyncChatRemoved) XXX_Size() int {
return xxx_messageInfo_SyncChatRemoved.Size(m)
2021-10-05 17:26:02 +00:00
}
func (m *SyncChatRemoved) XXX_DiscardUnknown() {
xxx_messageInfo_SyncChatRemoved.DiscardUnknown(m)
}
var xxx_messageInfo_SyncChatRemoved proto.InternalMessageInfo
func (m *SyncChatRemoved) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncChatRemoved) GetId() string {
if m != nil {
return m.Id
}
return ""
}
2021-10-12 10:33:32 +00:00
type SyncChatMessagesRead struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncChatMessagesRead) Reset() { *m = SyncChatMessagesRead{} }
func (m *SyncChatMessagesRead) String() string { return proto.CompactTextString(m) }
func (*SyncChatMessagesRead) ProtoMessage() {}
func (*SyncChatMessagesRead) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{13}
2021-10-12 10:33:32 +00:00
}
2021-10-12 10:33:32 +00:00
func (m *SyncChatMessagesRead) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncChatMessagesRead.Unmarshal(m, b)
2021-10-12 10:33:32 +00:00
}
func (m *SyncChatMessagesRead) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncChatMessagesRead.Marshal(b, m, deterministic)
2021-10-12 10:33:32 +00:00
}
func (m *SyncChatMessagesRead) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncChatMessagesRead.Merge(m, src)
}
func (m *SyncChatMessagesRead) XXX_Size() int {
return xxx_messageInfo_SyncChatMessagesRead.Size(m)
2021-10-12 10:33:32 +00:00
}
func (m *SyncChatMessagesRead) XXX_DiscardUnknown() {
xxx_messageInfo_SyncChatMessagesRead.DiscardUnknown(m)
}
var xxx_messageInfo_SyncChatMessagesRead proto.InternalMessageInfo
func (m *SyncChatMessagesRead) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncChatMessagesRead) GetId() string {
if m != nil {
return m.Id
}
return ""
}
type SyncActivityCenterRead struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Ids [][]byte `protobuf:"bytes,2,rep,name=ids,proto3" json:"ids,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncActivityCenterRead) Reset() { *m = SyncActivityCenterRead{} }
func (m *SyncActivityCenterRead) String() string { return proto.CompactTextString(m) }
func (*SyncActivityCenterRead) ProtoMessage() {}
func (*SyncActivityCenterRead) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{14}
}
func (m *SyncActivityCenterRead) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncActivityCenterRead.Unmarshal(m, b)
}
func (m *SyncActivityCenterRead) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncActivityCenterRead.Marshal(b, m, deterministic)
}
func (m *SyncActivityCenterRead) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncActivityCenterRead.Merge(m, src)
}
func (m *SyncActivityCenterRead) XXX_Size() int {
return xxx_messageInfo_SyncActivityCenterRead.Size(m)
}
func (m *SyncActivityCenterRead) XXX_DiscardUnknown() {
xxx_messageInfo_SyncActivityCenterRead.DiscardUnknown(m)
}
var xxx_messageInfo_SyncActivityCenterRead proto.InternalMessageInfo
func (m *SyncActivityCenterRead) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncActivityCenterRead) GetIds() [][]byte {
if m != nil {
return m.Ids
}
return nil
}
type SyncActivityCenterAccepted struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Ids [][]byte `protobuf:"bytes,2,rep,name=ids,proto3" json:"ids,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncActivityCenterAccepted) Reset() { *m = SyncActivityCenterAccepted{} }
func (m *SyncActivityCenterAccepted) String() string { return proto.CompactTextString(m) }
func (*SyncActivityCenterAccepted) ProtoMessage() {}
func (*SyncActivityCenterAccepted) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{15}
}
func (m *SyncActivityCenterAccepted) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncActivityCenterAccepted.Unmarshal(m, b)
}
func (m *SyncActivityCenterAccepted) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncActivityCenterAccepted.Marshal(b, m, deterministic)
}
func (m *SyncActivityCenterAccepted) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncActivityCenterAccepted.Merge(m, src)
}
func (m *SyncActivityCenterAccepted) XXX_Size() int {
return xxx_messageInfo_SyncActivityCenterAccepted.Size(m)
}
func (m *SyncActivityCenterAccepted) XXX_DiscardUnknown() {
xxx_messageInfo_SyncActivityCenterAccepted.DiscardUnknown(m)
}
var xxx_messageInfo_SyncActivityCenterAccepted proto.InternalMessageInfo
func (m *SyncActivityCenterAccepted) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncActivityCenterAccepted) GetIds() [][]byte {
if m != nil {
return m.Ids
}
return nil
}
type SyncActivityCenterDismissed struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Ids [][]byte `protobuf:"bytes,2,rep,name=ids,proto3" json:"ids,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncActivityCenterDismissed) Reset() { *m = SyncActivityCenterDismissed{} }
func (m *SyncActivityCenterDismissed) String() string { return proto.CompactTextString(m) }
func (*SyncActivityCenterDismissed) ProtoMessage() {}
func (*SyncActivityCenterDismissed) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{16}
}
func (m *SyncActivityCenterDismissed) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncActivityCenterDismissed.Unmarshal(m, b)
}
func (m *SyncActivityCenterDismissed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncActivityCenterDismissed.Marshal(b, m, deterministic)
}
func (m *SyncActivityCenterDismissed) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncActivityCenterDismissed.Merge(m, src)
}
func (m *SyncActivityCenterDismissed) XXX_Size() int {
return xxx_messageInfo_SyncActivityCenterDismissed.Size(m)
}
func (m *SyncActivityCenterDismissed) XXX_DiscardUnknown() {
xxx_messageInfo_SyncActivityCenterDismissed.DiscardUnknown(m)
}
var xxx_messageInfo_SyncActivityCenterDismissed proto.InternalMessageInfo
func (m *SyncActivityCenterDismissed) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncActivityCenterDismissed) GetIds() [][]byte {
if m != nil {
return m.Ids
}
return nil
}
2022-01-17 03:42:11 +00:00
type SyncBookmark struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
ImageUrl string `protobuf:"bytes,4,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"`
Removed bool `protobuf:"varint,5,opt,name=removed,proto3" json:"removed,omitempty"`
DeletedAt uint64 `protobuf:"varint,6,opt,name=deleted_at,json=deletedAt,proto3" json:"deleted_at,omitempty"`
2022-01-17 03:42:11 +00:00
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncBookmark) Reset() { *m = SyncBookmark{} }
func (m *SyncBookmark) String() string { return proto.CompactTextString(m) }
func (*SyncBookmark) ProtoMessage() {}
func (*SyncBookmark) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{17}
2022-01-17 03:42:11 +00:00
}
2022-01-17 03:42:11 +00:00
func (m *SyncBookmark) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncBookmark.Unmarshal(m, b)
2022-01-17 03:42:11 +00:00
}
func (m *SyncBookmark) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncBookmark.Marshal(b, m, deterministic)
2022-01-17 03:42:11 +00:00
}
func (m *SyncBookmark) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncBookmark.Merge(m, src)
}
func (m *SyncBookmark) XXX_Size() int {
return xxx_messageInfo_SyncBookmark.Size(m)
2022-01-17 03:42:11 +00:00
}
func (m *SyncBookmark) XXX_DiscardUnknown() {
xxx_messageInfo_SyncBookmark.DiscardUnknown(m)
}
var xxx_messageInfo_SyncBookmark proto.InternalMessageInfo
func (m *SyncBookmark) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncBookmark) GetUrl() string {
if m != nil {
return m.Url
}
return ""
}
func (m *SyncBookmark) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *SyncBookmark) GetImageUrl() string {
if m != nil {
return m.ImageUrl
}
return ""
}
func (m *SyncBookmark) GetRemoved() bool {
if m != nil {
return m.Removed
}
return false
}
func (m *SyncBookmark) GetDeletedAt() uint64 {
if m != nil {
return m.DeletedAt
}
return 0
}
2022-02-10 10:00:59 +00:00
type SyncClearHistory struct {
ChatId string `protobuf:"bytes,1,opt,name=chat_id,json=chatId,proto3" json:"chat_id,omitempty"`
ClearedAt uint64 `protobuf:"varint,2,opt,name=cleared_at,json=clearedAt,proto3" json:"cleared_at,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncClearHistory) Reset() { *m = SyncClearHistory{} }
func (m *SyncClearHistory) String() string { return proto.CompactTextString(m) }
func (*SyncClearHistory) ProtoMessage() {}
func (*SyncClearHistory) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{18}
2022-02-10 10:00:59 +00:00
}
2022-02-10 10:00:59 +00:00
func (m *SyncClearHistory) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncClearHistory.Unmarshal(m, b)
2022-02-10 10:00:59 +00:00
}
func (m *SyncClearHistory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncClearHistory.Marshal(b, m, deterministic)
2022-02-10 10:00:59 +00:00
}
func (m *SyncClearHistory) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncClearHistory.Merge(m, src)
}
func (m *SyncClearHistory) XXX_Size() int {
return xxx_messageInfo_SyncClearHistory.Size(m)
2022-02-10 10:00:59 +00:00
}
func (m *SyncClearHistory) XXX_DiscardUnknown() {
xxx_messageInfo_SyncClearHistory.DiscardUnknown(m)
}
var xxx_messageInfo_SyncClearHistory proto.InternalMessageInfo
func (m *SyncClearHistory) GetChatId() string {
if m != nil {
return m.ChatId
}
return ""
}
func (m *SyncClearHistory) GetClearedAt() uint64 {
if m != nil {
return m.ClearedAt
}
return 0
}
2022-03-24 09:35:56 +00:00
type SyncProfilePicture struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
Width uint32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"`
Height uint32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
FileSize uint32 `protobuf:"varint,5,opt,name=file_size,json=fileSize,proto3" json:"file_size,omitempty"`
ResizeTarget uint32 `protobuf:"varint,6,opt,name=resize_target,json=resizeTarget,proto3" json:"resize_target,omitempty"`
Clock uint64 `protobuf:"varint,7,opt,name=clock,proto3" json:"clock,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncProfilePicture) Reset() { *m = SyncProfilePicture{} }
func (m *SyncProfilePicture) String() string { return proto.CompactTextString(m) }
func (*SyncProfilePicture) ProtoMessage() {}
func (*SyncProfilePicture) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{19}
2022-03-24 09:35:56 +00:00
}
2022-03-24 09:35:56 +00:00
func (m *SyncProfilePicture) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncProfilePicture.Unmarshal(m, b)
2022-03-24 09:35:56 +00:00
}
func (m *SyncProfilePicture) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncProfilePicture.Marshal(b, m, deterministic)
2022-03-24 09:35:56 +00:00
}
func (m *SyncProfilePicture) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncProfilePicture.Merge(m, src)
}
func (m *SyncProfilePicture) XXX_Size() int {
return xxx_messageInfo_SyncProfilePicture.Size(m)
2022-03-24 09:35:56 +00:00
}
func (m *SyncProfilePicture) XXX_DiscardUnknown() {
xxx_messageInfo_SyncProfilePicture.DiscardUnknown(m)
}
var xxx_messageInfo_SyncProfilePicture proto.InternalMessageInfo
func (m *SyncProfilePicture) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *SyncProfilePicture) GetPayload() []byte {
if m != nil {
return m.Payload
}
return nil
}
func (m *SyncProfilePicture) GetWidth() uint32 {
if m != nil {
return m.Width
}
return 0
}
func (m *SyncProfilePicture) GetHeight() uint32 {
if m != nil {
return m.Height
}
return 0
}
func (m *SyncProfilePicture) GetFileSize() uint32 {
if m != nil {
return m.FileSize
}
return 0
}
func (m *SyncProfilePicture) GetResizeTarget() uint32 {
if m != nil {
return m.ResizeTarget
}
return 0
}
func (m *SyncProfilePicture) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
type SyncProfilePictures struct {
KeyUid string `protobuf:"bytes,1,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
Pictures []*SyncProfilePicture `protobuf:"bytes,2,rep,name=pictures,proto3" json:"pictures,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncProfilePictures) Reset() { *m = SyncProfilePictures{} }
func (m *SyncProfilePictures) String() string { return proto.CompactTextString(m) }
func (*SyncProfilePictures) ProtoMessage() {}
func (*SyncProfilePictures) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{20}
2022-03-24 09:35:56 +00:00
}
2022-03-24 09:35:56 +00:00
func (m *SyncProfilePictures) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncProfilePictures.Unmarshal(m, b)
2022-03-24 09:35:56 +00:00
}
func (m *SyncProfilePictures) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncProfilePictures.Marshal(b, m, deterministic)
2022-03-24 09:35:56 +00:00
}
func (m *SyncProfilePictures) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncProfilePictures.Merge(m, src)
}
func (m *SyncProfilePictures) XXX_Size() int {
return xxx_messageInfo_SyncProfilePictures.Size(m)
2022-03-24 09:35:56 +00:00
}
func (m *SyncProfilePictures) XXX_DiscardUnknown() {
xxx_messageInfo_SyncProfilePictures.DiscardUnknown(m)
}
var xxx_messageInfo_SyncProfilePictures proto.InternalMessageInfo
func (m *SyncProfilePictures) GetKeyUid() string {
if m != nil {
return m.KeyUid
}
return ""
}
func (m *SyncProfilePictures) GetPictures() []*SyncProfilePicture {
if m != nil {
return m.Pictures
}
return nil
}
2022-05-18 10:42:51 +00:00
type SyncWalletAccount struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Address []byte `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
Wallet bool `protobuf:"varint,3,opt,name=wallet,proto3" json:"wallet,omitempty"`
Chat bool `protobuf:"varint,4,opt,name=chat,proto3" json:"chat,omitempty"`
Type string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"`
Storage string `protobuf:"bytes,6,opt,name=storage,proto3" json:"storage,omitempty"`
Path string `protobuf:"bytes,7,opt,name=path,proto3" json:"path,omitempty"`
PublicKey []byte `protobuf:"bytes,8,opt,name=publicKey,proto3" json:"publicKey,omitempty"`
Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"`
Color string `protobuf:"bytes,10,opt,name=color,proto3" json:"color,omitempty"`
Hidden bool `protobuf:"varint,11,opt,name=hidden,proto3" json:"hidden,omitempty"`
Removed bool `protobuf:"varint,12,opt,name=removed,proto3" json:"removed,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncWalletAccount) Reset() { *m = SyncWalletAccount{} }
func (m *SyncWalletAccount) String() string { return proto.CompactTextString(m) }
func (*SyncWalletAccount) ProtoMessage() {}
func (*SyncWalletAccount) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{21}
2022-05-18 10:42:51 +00:00
}
func (m *SyncWalletAccount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncWalletAccount.Unmarshal(m, b)
}
func (m *SyncWalletAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncWalletAccount.Marshal(b, m, deterministic)
}
func (m *SyncWalletAccount) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncWalletAccount.Merge(m, src)
}
func (m *SyncWalletAccount) XXX_Size() int {
return xxx_messageInfo_SyncWalletAccount.Size(m)
}
func (m *SyncWalletAccount) XXX_DiscardUnknown() {
xxx_messageInfo_SyncWalletAccount.DiscardUnknown(m)
}
var xxx_messageInfo_SyncWalletAccount proto.InternalMessageInfo
func (m *SyncWalletAccount) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncWalletAccount) GetAddress() []byte {
if m != nil {
return m.Address
}
return nil
}
func (m *SyncWalletAccount) GetWallet() bool {
if m != nil {
return m.Wallet
}
return false
}
func (m *SyncWalletAccount) GetChat() bool {
if m != nil {
return m.Chat
}
return false
}
func (m *SyncWalletAccount) GetType() string {
if m != nil {
return m.Type
}
return ""
}
func (m *SyncWalletAccount) GetStorage() string {
if m != nil {
return m.Storage
}
return ""
}
func (m *SyncWalletAccount) GetPath() string {
if m != nil {
return m.Path
}
return ""
}
func (m *SyncWalletAccount) GetPublicKey() []byte {
if m != nil {
return m.PublicKey
}
return nil
}
func (m *SyncWalletAccount) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *SyncWalletAccount) GetColor() string {
if m != nil {
return m.Color
}
return ""
}
func (m *SyncWalletAccount) GetHidden() bool {
if m != nil {
return m.Hidden
}
return false
}
func (m *SyncWalletAccount) GetRemoved() bool {
if m != nil {
return m.Removed
}
return false
}
type SyncWalletAccounts struct {
Accounts []*SyncWalletAccount `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncWalletAccounts) Reset() { *m = SyncWalletAccounts{} }
func (m *SyncWalletAccounts) String() string { return proto.CompactTextString(m) }
func (*SyncWalletAccounts) ProtoMessage() {}
func (*SyncWalletAccounts) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{22}
2022-05-18 10:42:51 +00:00
}
func (m *SyncWalletAccounts) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncWalletAccounts.Unmarshal(m, b)
}
func (m *SyncWalletAccounts) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncWalletAccounts.Marshal(b, m, deterministic)
}
func (m *SyncWalletAccounts) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncWalletAccounts.Merge(m, src)
}
func (m *SyncWalletAccounts) XXX_Size() int {
return xxx_messageInfo_SyncWalletAccounts.Size(m)
}
func (m *SyncWalletAccounts) XXX_DiscardUnknown() {
xxx_messageInfo_SyncWalletAccounts.DiscardUnknown(m)
}
var xxx_messageInfo_SyncWalletAccounts proto.InternalMessageInfo
func (m *SyncWalletAccounts) GetAccounts() []*SyncWalletAccount {
if m != nil {
return m.Accounts
}
return nil
}
type SyncSavedAddress struct {
Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Favourite bool `protobuf:"varint,3,opt,name=favourite,proto3" json:"favourite,omitempty"`
Removed bool `protobuf:"varint,5,opt,name=removed,proto3" json:"removed,omitempty"`
UpdateClock uint64 `protobuf:"varint,7,opt,name=update_clock,json=updateClock,proto3" json:"update_clock,omitempty"`
ChainShortNames string `protobuf:"bytes,8,opt,name=chain_short_names,json=chainShortNames,proto3" json:"chain_short_names,omitempty"`
Ens string `protobuf:"bytes,9,opt,name=ens,proto3" json:"ens,omitempty"`
IsTest bool `protobuf:"varint,10,opt,name=is_test,json=isTest,proto3" json:"is_test,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncSavedAddress) Reset() { *m = SyncSavedAddress{} }
func (m *SyncSavedAddress) String() string { return proto.CompactTextString(m) }
func (*SyncSavedAddress) ProtoMessage() {}
func (*SyncSavedAddress) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{23}
}
func (m *SyncSavedAddress) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncSavedAddress.Unmarshal(m, b)
}
func (m *SyncSavedAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncSavedAddress.Marshal(b, m, deterministic)
}
func (m *SyncSavedAddress) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncSavedAddress.Merge(m, src)
}
func (m *SyncSavedAddress) XXX_Size() int {
return xxx_messageInfo_SyncSavedAddress.Size(m)
}
func (m *SyncSavedAddress) XXX_DiscardUnknown() {
xxx_messageInfo_SyncSavedAddress.DiscardUnknown(m)
}
var xxx_messageInfo_SyncSavedAddress proto.InternalMessageInfo
func (m *SyncSavedAddress) GetAddress() []byte {
if m != nil {
return m.Address
}
return nil
}
func (m *SyncSavedAddress) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *SyncSavedAddress) GetFavourite() bool {
if m != nil {
return m.Favourite
}
return false
}
func (m *SyncSavedAddress) GetRemoved() bool {
if m != nil {
return m.Removed
}
return false
}
func (m *SyncSavedAddress) GetUpdateClock() uint64 {
if m != nil {
return m.UpdateClock
}
return 0
}
func (m *SyncSavedAddress) GetChainShortNames() string {
if m != nil {
return m.ChainShortNames
}
return ""
}
func (m *SyncSavedAddress) GetEns() string {
if m != nil {
return m.Ens
}
return ""
}
func (m *SyncSavedAddress) GetIsTest() bool {
if m != nil {
return m.IsTest
}
return false
}
type SyncCommunitySettings struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
CommunityId string `protobuf:"bytes,2,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"`
HistoryArchiveSupportEnabled bool `protobuf:"varint,3,opt,name=history_archive_support_enabled,json=historyArchiveSupportEnabled,proto3" json:"history_archive_support_enabled,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncCommunitySettings) Reset() { *m = SyncCommunitySettings{} }
func (m *SyncCommunitySettings) String() string { return proto.CompactTextString(m) }
func (*SyncCommunitySettings) ProtoMessage() {}
func (*SyncCommunitySettings) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{24}
}
func (m *SyncCommunitySettings) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncCommunitySettings.Unmarshal(m, b)
}
func (m *SyncCommunitySettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncCommunitySettings.Marshal(b, m, deterministic)
}
func (m *SyncCommunitySettings) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncCommunitySettings.Merge(m, src)
}
func (m *SyncCommunitySettings) XXX_Size() int {
return xxx_messageInfo_SyncCommunitySettings.Size(m)
}
func (m *SyncCommunitySettings) XXX_DiscardUnknown() {
xxx_messageInfo_SyncCommunitySettings.DiscardUnknown(m)
}
var xxx_messageInfo_SyncCommunitySettings proto.InternalMessageInfo
func (m *SyncCommunitySettings) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncCommunitySettings) GetCommunityId() string {
if m != nil {
return m.CommunityId
}
return ""
}
func (m *SyncCommunitySettings) GetHistoryArchiveSupportEnabled() bool {
if m != nil {
return m.HistoryArchiveSupportEnabled
}
return false
}
type SyncTrustedUser struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
Status SyncTrustedUser_TrustStatus `protobuf:"varint,3,opt,name=status,proto3,enum=protobuf.SyncTrustedUser_TrustStatus" json:"status,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncTrustedUser) Reset() { *m = SyncTrustedUser{} }
func (m *SyncTrustedUser) String() string { return proto.CompactTextString(m) }
func (*SyncTrustedUser) ProtoMessage() {}
func (*SyncTrustedUser) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{25}
}
func (m *SyncTrustedUser) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncTrustedUser.Unmarshal(m, b)
}
func (m *SyncTrustedUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncTrustedUser.Marshal(b, m, deterministic)
}
func (m *SyncTrustedUser) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncTrustedUser.Merge(m, src)
}
func (m *SyncTrustedUser) XXX_Size() int {
return xxx_messageInfo_SyncTrustedUser.Size(m)
}
func (m *SyncTrustedUser) XXX_DiscardUnknown() {
xxx_messageInfo_SyncTrustedUser.DiscardUnknown(m)
}
var xxx_messageInfo_SyncTrustedUser proto.InternalMessageInfo
func (m *SyncTrustedUser) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncTrustedUser) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *SyncTrustedUser) GetStatus() SyncTrustedUser_TrustStatus {
if m != nil {
return m.Status
}
return SyncTrustedUser_UNKNOWN
}
type SyncVerificationRequest struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
From string `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"`
To string `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"`
Challenge string `protobuf:"bytes,4,opt,name=challenge,proto3" json:"challenge,omitempty"`
RequestedAt uint64 `protobuf:"varint,5,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"`
Response string `protobuf:"bytes,6,opt,name=response,proto3" json:"response,omitempty"`
RepliedAt uint64 `protobuf:"varint,7,opt,name=replied_at,json=repliedAt,proto3" json:"replied_at,omitempty"`
VerificationStatus SyncVerificationRequest_VerificationStatus `protobuf:"varint,8,opt,name=verification_status,json=verificationStatus,proto3,enum=protobuf.SyncVerificationRequest_VerificationStatus" json:"verification_status,omitempty"`
Id string `protobuf:"bytes,9,opt,name=id,proto3" json:"id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncVerificationRequest) Reset() { *m = SyncVerificationRequest{} }
func (m *SyncVerificationRequest) String() string { return proto.CompactTextString(m) }
func (*SyncVerificationRequest) ProtoMessage() {}
func (*SyncVerificationRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{26}
}
func (m *SyncVerificationRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncVerificationRequest.Unmarshal(m, b)
}
func (m *SyncVerificationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncVerificationRequest.Marshal(b, m, deterministic)
}
func (m *SyncVerificationRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncVerificationRequest.Merge(m, src)
}
func (m *SyncVerificationRequest) XXX_Size() int {
return xxx_messageInfo_SyncVerificationRequest.Size(m)
}
func (m *SyncVerificationRequest) XXX_DiscardUnknown() {
xxx_messageInfo_SyncVerificationRequest.DiscardUnknown(m)
}
var xxx_messageInfo_SyncVerificationRequest proto.InternalMessageInfo
func (m *SyncVerificationRequest) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncVerificationRequest) GetFrom() string {
if m != nil {
return m.From
}
return ""
}
func (m *SyncVerificationRequest) GetTo() string {
if m != nil {
return m.To
}
return ""
}
func (m *SyncVerificationRequest) GetChallenge() string {
if m != nil {
return m.Challenge
}
return ""
}
func (m *SyncVerificationRequest) GetRequestedAt() uint64 {
if m != nil {
return m.RequestedAt
}
return 0
}
func (m *SyncVerificationRequest) GetResponse() string {
if m != nil {
return m.Response
}
return ""
}
func (m *SyncVerificationRequest) GetRepliedAt() uint64 {
if m != nil {
return m.RepliedAt
}
return 0
}
func (m *SyncVerificationRequest) GetVerificationStatus() SyncVerificationRequest_VerificationStatus {
if m != nil {
return m.VerificationStatus
}
return SyncVerificationRequest_UNKNOWN
}
func (m *SyncVerificationRequest) GetId() string {
if m != nil {
return m.Id
}
return ""
}
2022-08-07 14:25:03 +00:00
type SyncContactRequestDecision struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
RequestId string `protobuf:"bytes,2,opt,name=requestId,proto3" json:"requestId,omitempty"`
DecisionStatus SyncContactRequestDecision_DecisionStatus `protobuf:"varint,3,opt,name=decision_status,json=decisionStatus,proto3,enum=protobuf.SyncContactRequestDecision_DecisionStatus" json:"decision_status,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncContactRequestDecision) Reset() { *m = SyncContactRequestDecision{} }
func (m *SyncContactRequestDecision) String() string { return proto.CompactTextString(m) }
func (*SyncContactRequestDecision) ProtoMessage() {}
func (*SyncContactRequestDecision) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{27}
2022-08-07 14:25:03 +00:00
}
func (m *SyncContactRequestDecision) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncContactRequestDecision.Unmarshal(m, b)
}
func (m *SyncContactRequestDecision) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncContactRequestDecision.Marshal(b, m, deterministic)
}
func (m *SyncContactRequestDecision) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncContactRequestDecision.Merge(m, src)
}
func (m *SyncContactRequestDecision) XXX_Size() int {
return xxx_messageInfo_SyncContactRequestDecision.Size(m)
}
func (m *SyncContactRequestDecision) XXX_DiscardUnknown() {
xxx_messageInfo_SyncContactRequestDecision.DiscardUnknown(m)
}
var xxx_messageInfo_SyncContactRequestDecision proto.InternalMessageInfo
func (m *SyncContactRequestDecision) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *SyncContactRequestDecision) GetRequestId() string {
if m != nil {
return m.RequestId
}
return ""
}
func (m *SyncContactRequestDecision) GetDecisionStatus() SyncContactRequestDecision_DecisionStatus {
if m != nil {
return m.DecisionStatus
}
return SyncContactRequestDecision_ACCEPTED
}
// `BackedUpProfile` is used to describe profile of logged in user
type BackedUpProfile struct {
KeyUid string `protobuf:"bytes,1,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
DisplayNameClock uint64 `protobuf:"varint,3,opt,name=display_name_clock,json=displayNameClock,proto3" json:"display_name_clock,omitempty"`
Pictures []*SyncProfilePicture `protobuf:"bytes,4,rep,name=pictures,proto3" json:"pictures,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *BackedUpProfile) Reset() { *m = BackedUpProfile{} }
func (m *BackedUpProfile) String() string { return proto.CompactTextString(m) }
func (*BackedUpProfile) ProtoMessage() {}
func (*BackedUpProfile) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{28}
}
func (m *BackedUpProfile) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BackedUpProfile.Unmarshal(m, b)
}
func (m *BackedUpProfile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BackedUpProfile.Marshal(b, m, deterministic)
}
func (m *BackedUpProfile) XXX_Merge(src proto.Message) {
xxx_messageInfo_BackedUpProfile.Merge(m, src)
}
func (m *BackedUpProfile) XXX_Size() int {
return xxx_messageInfo_BackedUpProfile.Size(m)
}
func (m *BackedUpProfile) XXX_DiscardUnknown() {
xxx_messageInfo_BackedUpProfile.DiscardUnknown(m)
}
var xxx_messageInfo_BackedUpProfile proto.InternalMessageInfo
func (m *BackedUpProfile) GetKeyUid() string {
if m != nil {
return m.KeyUid
}
return ""
}
func (m *BackedUpProfile) GetDisplayName() string {
if m != nil {
return m.DisplayName
}
return ""
}
func (m *BackedUpProfile) GetDisplayNameClock() uint64 {
if m != nil {
return m.DisplayNameClock
}
return 0
}
func (m *BackedUpProfile) GetPictures() []*SyncProfilePicture {
if m != nil {
return m.Pictures
}
return nil
}
type RawMessage struct {
Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
MessageType ApplicationMetadataMessage_Type `protobuf:"varint,2,opt,name=messageType,proto3,enum=protobuf.ApplicationMetadataMessage_Type" json:"messageType,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RawMessage) Reset() { *m = RawMessage{} }
func (m *RawMessage) String() string { return proto.CompactTextString(m) }
func (*RawMessage) ProtoMessage() {}
func (*RawMessage) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{29}
}
func (m *RawMessage) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RawMessage.Unmarshal(m, b)
}
func (m *RawMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RawMessage.Marshal(b, m, deterministic)
}
func (m *RawMessage) XXX_Merge(src proto.Message) {
xxx_messageInfo_RawMessage.Merge(m, src)
}
func (m *RawMessage) XXX_Size() int {
return xxx_messageInfo_RawMessage.Size(m)
}
func (m *RawMessage) XXX_DiscardUnknown() {
xxx_messageInfo_RawMessage.DiscardUnknown(m)
}
var xxx_messageInfo_RawMessage proto.InternalMessageInfo
func (m *RawMessage) GetPayload() []byte {
if m != nil {
return m.Payload
}
return nil
}
func (m *RawMessage) GetMessageType() ApplicationMetadataMessage_Type {
if m != nil {
return m.MessageType
}
return ApplicationMetadataMessage_UNKNOWN
}
type SyncRawMessage struct {
RawMessages []*RawMessage `protobuf:"bytes,1,rep,name=rawMessages,proto3" json:"rawMessages,omitempty"`
// we need these to be able to login
SubAccountsJsonBytes []byte `protobuf:"bytes,2,opt,name=subAccountsJsonBytes,proto3" json:"subAccountsJsonBytes,omitempty"`
SettingsJsonBytes []byte `protobuf:"bytes,3,opt,name=settingsJsonBytes,proto3" json:"settingsJsonBytes,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncRawMessage) Reset() { *m = SyncRawMessage{} }
func (m *SyncRawMessage) String() string { return proto.CompactTextString(m) }
func (*SyncRawMessage) ProtoMessage() {}
func (*SyncRawMessage) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{30}
}
func (m *SyncRawMessage) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncRawMessage.Unmarshal(m, b)
}
func (m *SyncRawMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncRawMessage.Marshal(b, m, deterministic)
}
func (m *SyncRawMessage) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncRawMessage.Merge(m, src)
}
func (m *SyncRawMessage) XXX_Size() int {
return xxx_messageInfo_SyncRawMessage.Size(m)
}
func (m *SyncRawMessage) XXX_DiscardUnknown() {
xxx_messageInfo_SyncRawMessage.DiscardUnknown(m)
}
var xxx_messageInfo_SyncRawMessage proto.InternalMessageInfo
func (m *SyncRawMessage) GetRawMessages() []*RawMessage {
if m != nil {
return m.RawMessages
}
return nil
}
func (m *SyncRawMessage) GetSubAccountsJsonBytes() []byte {
if m != nil {
return m.SubAccountsJsonBytes
}
return nil
}
func (m *SyncRawMessage) GetSettingsJsonBytes() []byte {
if m != nil {
return m.SettingsJsonBytes
}
return nil
}
type SyncKeycard struct {
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Locked bool `protobuf:"varint,3,opt,name=locked,proto3" json:"locked,omitempty"`
KeyUid string `protobuf:"bytes,4,opt,name=key_uid,json=keyUid,proto3" json:"key_uid,omitempty"`
Addresses [][]byte `protobuf:"bytes,5,rep,name=addresses,proto3" json:"addresses,omitempty"`
Clock uint64 `protobuf:"varint,6,opt,name=clock,proto3" json:"clock,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncKeycard) Reset() { *m = SyncKeycard{} }
func (m *SyncKeycard) String() string { return proto.CompactTextString(m) }
func (*SyncKeycard) ProtoMessage() {}
func (*SyncKeycard) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{31}
}
func (m *SyncKeycard) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncKeycard.Unmarshal(m, b)
}
func (m *SyncKeycard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncKeycard.Marshal(b, m, deterministic)
}
func (m *SyncKeycard) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncKeycard.Merge(m, src)
}
func (m *SyncKeycard) XXX_Size() int {
return xxx_messageInfo_SyncKeycard.Size(m)
}
func (m *SyncKeycard) XXX_DiscardUnknown() {
xxx_messageInfo_SyncKeycard.DiscardUnknown(m)
}
var xxx_messageInfo_SyncKeycard proto.InternalMessageInfo
func (m *SyncKeycard) GetUid() string {
if m != nil {
return m.Uid
}
return ""
}
func (m *SyncKeycard) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *SyncKeycard) GetLocked() bool {
if m != nil {
return m.Locked
}
return false
}
func (m *SyncKeycard) GetKeyUid() string {
if m != nil {
return m.KeyUid
}
return ""
}
func (m *SyncKeycard) GetAddresses() [][]byte {
if m != nil {
return m.Addresses
}
return nil
}
func (m *SyncKeycard) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
type SyncKeycardAction struct {
Action SyncKeycardAction_Action `protobuf:"varint,1,opt,name=action,proto3,enum=protobuf.SyncKeycardAction_Action" json:"action,omitempty"`
OldKeycardUid string `protobuf:"bytes,2,opt,name=oldKeycardUid,proto3" json:"oldKeycardUid,omitempty"`
Keycard *SyncKeycard `protobuf:"bytes,3,opt,name=keycard,proto3" json:"keycard,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncKeycardAction) Reset() { *m = SyncKeycardAction{} }
func (m *SyncKeycardAction) String() string { return proto.CompactTextString(m) }
func (*SyncKeycardAction) ProtoMessage() {}
func (*SyncKeycardAction) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{32}
}
func (m *SyncKeycardAction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncKeycardAction.Unmarshal(m, b)
}
func (m *SyncKeycardAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncKeycardAction.Marshal(b, m, deterministic)
}
func (m *SyncKeycardAction) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncKeycardAction.Merge(m, src)
}
func (m *SyncKeycardAction) XXX_Size() int {
return xxx_messageInfo_SyncKeycardAction.Size(m)
}
func (m *SyncKeycardAction) XXX_DiscardUnknown() {
xxx_messageInfo_SyncKeycardAction.DiscardUnknown(m)
}
var xxx_messageInfo_SyncKeycardAction proto.InternalMessageInfo
func (m *SyncKeycardAction) GetAction() SyncKeycardAction_Action {
if m != nil {
return m.Action
}
return SyncKeycardAction_KEYCARD_ADDED
}
func (m *SyncKeycardAction) GetOldKeycardUid() string {
if m != nil {
return m.OldKeycardUid
}
return ""
}
func (m *SyncKeycardAction) GetKeycard() *SyncKeycard {
if m != nil {
return m.Keycard
}
return nil
}
type SyncAllKeycards struct {
Keycards []*SyncKeycard `protobuf:"bytes,1,rep,name=keycards,proto3" json:"keycards,omitempty"`
Clock uint64 `protobuf:"varint,2,opt,name=clock,proto3" json:"clock,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SyncAllKeycards) Reset() { *m = SyncAllKeycards{} }
func (m *SyncAllKeycards) String() string { return proto.CompactTextString(m) }
func (*SyncAllKeycards) ProtoMessage() {}
func (*SyncAllKeycards) Descriptor() ([]byte, []int) {
return fileDescriptor_d61ab7221f0b5518, []int{33}
}
func (m *SyncAllKeycards) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SyncAllKeycards.Unmarshal(m, b)
}
func (m *SyncAllKeycards) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SyncAllKeycards.Marshal(b, m, deterministic)
}
func (m *SyncAllKeycards) XXX_Merge(src proto.Message) {
xxx_messageInfo_SyncAllKeycards.Merge(m, src)
}
func (m *SyncAllKeycards) XXX_Size() int {
return xxx_messageInfo_SyncAllKeycards.Size(m)
}
func (m *SyncAllKeycards) XXX_DiscardUnknown() {
xxx_messageInfo_SyncAllKeycards.DiscardUnknown(m)
}
var xxx_messageInfo_SyncAllKeycards proto.InternalMessageInfo
func (m *SyncAllKeycards) GetKeycards() []*SyncKeycard {
if m != nil {
return m.Keycards
}
return nil
}
func (m *SyncAllKeycards) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func init() {
proto.RegisterEnum("protobuf.SyncTrustedUser_TrustStatus", SyncTrustedUser_TrustStatus_name, SyncTrustedUser_TrustStatus_value)
proto.RegisterEnum("protobuf.SyncVerificationRequest_VerificationStatus", SyncVerificationRequest_VerificationStatus_name, SyncVerificationRequest_VerificationStatus_value)
2022-08-07 14:25:03 +00:00
proto.RegisterEnum("protobuf.SyncContactRequestDecision_DecisionStatus", SyncContactRequestDecision_DecisionStatus_name, SyncContactRequestDecision_DecisionStatus_value)
proto.RegisterEnum("protobuf.SyncKeycardAction_Action", SyncKeycardAction_Action_name, SyncKeycardAction_Action_value)
proto.RegisterType((*FetchingBackedUpDataDetails)(nil), "protobuf.FetchingBackedUpDataDetails")
proto.RegisterType((*Backup)(nil), "protobuf.Backup")
proto.RegisterType((*MultiAccount)(nil), "protobuf.MultiAccount")
2023-03-22 17:48:42 +00:00
proto.RegisterType((*MultiAccount_ColorHash)(nil), "protobuf.MultiAccount.ColorHash")
proto.RegisterType((*MultiAccount_IdentityImage)(nil), "protobuf.MultiAccount.IdentityImage")
proto.RegisterType((*LocalPairingPayload)(nil), "protobuf.LocalPairingPayload")
proto.RegisterType((*LocalPairingPayload_Key)(nil), "protobuf.LocalPairingPayload.Key")
proto.RegisterType((*PairInstallation)(nil), "protobuf.PairInstallation")
proto.RegisterType((*SyncInstallationContact)(nil), "protobuf.SyncInstallationContact")
proto.RegisterType((*SyncInstallationContactV2)(nil), "protobuf.SyncInstallationContactV2")
proto.RegisterType((*SyncInstallationAccount)(nil), "protobuf.SyncInstallationAccount")
proto.RegisterType((*SyncInstallationPublicChat)(nil), "protobuf.SyncInstallationPublicChat")
proto.RegisterType((*SyncCommunity)(nil), "protobuf.SyncCommunity")
proto.RegisterType((*SyncCommunityRequestsToJoin)(nil), "protobuf.SyncCommunityRequestsToJoin")
feat: add verified wallet accounts to community requests This commit extends the `CommunityRequestToJoin` with `RevealedAddresses` which represent wallet addresses and signatures provided by the sender, to proof a community owner ownership of those wallet addresses. **Note: This only works with keystore files maanged by status-go** At high level, the follwing happens: 1. User instructs Status to send a request to join to a community. By adding a password hash to the instruction, Status will try to unlock the users keystore and verify each wallet account. 2. For every verified wallet account, a signature is created for the following payload, using each wallet's private key ``` keccak256(chatkey + communityID + requestToJoinID) ``` A map of walletAddress->signature is then attached to the community request to join, which will be sent to the community owner 3. The owner node receives the request, and if the community requires users to hold tokens to become a member, it will check and verify whether the given wallet addresses are indeed owned by the sender. If any signature provided by the request cannot be recovered, the request is immediately declined by the owner. 4. The verified addresses are then added to the owner node's database such that, once the request should be accepted, the addresses can be used to check on chain whether they own the necessary funds to fulfill the community's permissions The checking of required funds is **not** part of this commit. It will be added in a follow-up commit.
2023-03-17 09:19:40 +00:00
proto.RegisterMapType((map[string][]byte)(nil), "protobuf.SyncCommunityRequestsToJoin.RevealedAddressesEntry")
proto.RegisterType((*SyncInstallation)(nil), "protobuf.SyncInstallation")
2021-10-05 17:26:02 +00:00
proto.RegisterType((*SyncChatRemoved)(nil), "protobuf.SyncChatRemoved")
2021-10-12 10:33:32 +00:00
proto.RegisterType((*SyncChatMessagesRead)(nil), "protobuf.SyncChatMessagesRead")
proto.RegisterType((*SyncActivityCenterRead)(nil), "protobuf.SyncActivityCenterRead")
proto.RegisterType((*SyncActivityCenterAccepted)(nil), "protobuf.SyncActivityCenterAccepted")
proto.RegisterType((*SyncActivityCenterDismissed)(nil), "protobuf.SyncActivityCenterDismissed")
2022-01-17 03:42:11 +00:00
proto.RegisterType((*SyncBookmark)(nil), "protobuf.SyncBookmark")
2022-02-10 10:00:59 +00:00
proto.RegisterType((*SyncClearHistory)(nil), "protobuf.SyncClearHistory")
2022-03-24 09:35:56 +00:00
proto.RegisterType((*SyncProfilePicture)(nil), "protobuf.SyncProfilePicture")
proto.RegisterType((*SyncProfilePictures)(nil), "protobuf.SyncProfilePictures")
2022-05-18 10:42:51 +00:00
proto.RegisterType((*SyncWalletAccount)(nil), "protobuf.SyncWalletAccount")
proto.RegisterType((*SyncWalletAccounts)(nil), "protobuf.SyncWalletAccounts")
proto.RegisterType((*SyncSavedAddress)(nil), "protobuf.SyncSavedAddress")
proto.RegisterType((*SyncCommunitySettings)(nil), "protobuf.SyncCommunitySettings")
proto.RegisterType((*SyncTrustedUser)(nil), "protobuf.SyncTrustedUser")
proto.RegisterType((*SyncVerificationRequest)(nil), "protobuf.SyncVerificationRequest")
2022-08-07 14:25:03 +00:00
proto.RegisterType((*SyncContactRequestDecision)(nil), "protobuf.SyncContactRequestDecision")
proto.RegisterType((*BackedUpProfile)(nil), "protobuf.BackedUpProfile")
proto.RegisterType((*RawMessage)(nil), "protobuf.RawMessage")
proto.RegisterType((*SyncRawMessage)(nil), "protobuf.SyncRawMessage")
proto.RegisterType((*SyncKeycard)(nil), "protobuf.SyncKeycard")
proto.RegisterType((*SyncKeycardAction)(nil), "protobuf.SyncKeycardAction")
proto.RegisterType((*SyncAllKeycards)(nil), "protobuf.SyncAllKeycards")
}
func init() {
proto.RegisterFile("pairing.proto", fileDescriptor_d61ab7221f0b5518)
}
var fileDescriptor_d61ab7221f0b5518 = []byte{
2023-03-22 17:48:42 +00:00
// 2751 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x39, 0x4d, 0x73, 0x1b, 0xc7,
0xb1, 0x5e, 0x00, 0xc2, 0x47, 0x03, 0x04, 0xa1, 0x11, 0x2d, 0x41, 0x14, 0x5d, 0xa2, 0xd6, 0x76,
0x59, 0xef, 0x95, 0x1f, 0xf5, 0x42, 0xc7, 0xb1, 0x23, 0xdb, 0xe5, 0x40, 0x00, 0x62, 0x51, 0x14,
0x41, 0xd6, 0x90, 0x90, 0x63, 0x57, 0xaa, 0xb6, 0x86, 0xbb, 0x23, 0x62, 0xc3, 0xc5, 0x2e, 0xb2,
0x33, 0xa0, 0x02, 0xdf, 0x92, 0x9f, 0x90, 0x4b, 0x72, 0xf4, 0x39, 0xb9, 0xa5, 0xca, 0xf7, 0x1c,
0x73, 0xcf, 0x31, 0x39, 0xe4, 0x9c, 0xca, 0x0f, 0xc8, 0x31, 0x35, 0x3d, 0xb3, 0x8b, 0x5d, 0x10,
0x60, 0xa8, 0xca, 0x29, 0x27, 0x4c, 0xf7, 0x76, 0xf7, 0xf6, 0xf4, 0x77, 0x2f, 0x60, 0x6d, 0xc2,
0xfc, 0xd8, 0x0f, 0xcf, 0x76, 0x26, 0x71, 0x24, 0x23, 0x52, 0xc5, 0x9f, 0xd3, 0xe9, 0xcb, 0xcd,
0x5b, 0x62, 0x16, 0xba, 0x8e, 0xe0, 0x52, 0xfa, 0xe1, 0x99, 0xd0, 0x8f, 0x37, 0x6d, 0x36, 0x99,
0x04, 0xbe, 0xcb, 0xa4, 0x1f, 0x85, 0xce, 0x98, 0x4b, 0xe6, 0x31, 0xc9, 0x9c, 0x31, 0x17, 0x82,
0x9d, 0x71, 0x4d, 0x63, 0x33, 0xb8, 0xf7, 0x63, 0x2e, 0xdd, 0x91, 0x1f, 0x9e, 0x3d, 0x61, 0xee,
0x39, 0xf7, 0x86, 0x93, 0x1e, 0x93, 0xac, 0xc7, 0x25, 0xf3, 0x03, 0x41, 0xee, 0x43, 0x1d, 0x99,
0xc2, 0xe9, 0xf8, 0x94, 0xc7, 0x6d, 0x6b, 0xdb, 0x7a, 0xb8, 0x46, 0x41, 0xa1, 0x06, 0x88, 0x21,
0x0f, 0xa0, 0x21, 0x23, 0xc9, 0x82, 0x84, 0xa2, 0x80, 0x14, 0x75, 0xc4, 0x69, 0x12, 0xfb, 0x6f,
0x37, 0xa0, 0xac, 0x64, 0x4f, 0x27, 0x64, 0x03, 0x6e, 0xb8, 0x41, 0xe4, 0x9e, 0xa3, 0xa0, 0x12,
0xd5, 0x00, 0x69, 0x42, 0xc1, 0xf7, 0x90, 0xb3, 0x46, 0x0b, 0xbe, 0x47, 0x3e, 0x87, 0xaa, 0x1b,
0x85, 0x92, 0xb9, 0x52, 0xb4, 0x8b, 0xdb, 0xc5, 0x87, 0xf5, 0xdd, 0xb7, 0x77, 0x92, 0x9b, 0xee,
0x1c, 0xcf, 0x42, 0x77, 0x2f, 0x14, 0x92, 0x05, 0x01, 0x5e, 0xac, 0xab, 0x29, 0x5f, 0xec, 0xd2,
0x94, 0x89, 0xfc, 0x10, 0xea, 0x6e, 0x34, 0x1e, 0x4f, 0x43, 0x5f, 0xfa, 0x5c, 0xb4, 0x4b, 0x28,
0xe3, 0x4e, 0x5e, 0x46, 0xd7, 0x10, 0xcc, 0x68, 0x96, 0x96, 0x1c, 0xc2, 0x7a, 0x22, 0xc6, 0xd8,
0xa0, 0x7d, 0x63, 0xdb, 0x7a, 0x58, 0xdf, 0x7d, 0x77, 0xce, 0x7e, 0x85, 0xc1, 0xe8, 0x22, 0x37,
0x19, 0x02, 0xc9, 0xc8, 0x4f, 0x64, 0x96, 0x5f, 0x47, 0xe6, 0x12, 0x01, 0xe4, 0x03, 0xa8, 0x4c,
0xe2, 0xe8, 0xa5, 0x1f, 0xf0, 0x76, 0x05, 0x65, 0xdd, 0x9d, 0xcb, 0x4a, 0x64, 0x1c, 0x69, 0x02,
0x9a, 0x50, 0x92, 0x03, 0x68, 0x9a, 0x63, 0xa2, 0x47, 0xf5, 0x75, 0xf4, 0x58, 0x60, 0x26, 0x8f,
0xa0, 0x62, 0x22, 0xae, 0x5d, 0x43, 0x39, 0x6f, 0xe6, 0x4d, 0x7c, 0xac, 0x1f, 0xd2, 0x84, 0x4a,
0x19, 0x37, 0x09, 0xd1, 0x44, 0x01, 0x78, 0x2d, 0xe3, 0x2e, 0x70, 0x93, 0x0f, 0xa1, 0x7a, 0xce,
0x67, 0x2e, 0x8b, 0x3d, 0xd1, 0xae, 0x2f, 0x9a, 0x41, 0xa9, 0xd0, 0x09, 0x82, 0x7d, 0x43, 0x40,
0x53, 0x52, 0xa5, 0x47, 0x72, 0x4e, 0xf4, 0x68, 0xbc, 0x96, 0x1e, 0x0b, 0xdc, 0xf6, 0x3f, 0x4a,
0xd0, 0x38, 0x98, 0x06, 0xd2, 0xef, 0xb8, 0x6e, 0x34, 0x0d, 0x25, 0x21, 0x50, 0x0a, 0xd9, 0x98,
0x63, 0x9c, 0xd7, 0x28, 0x9e, 0xc9, 0x16, 0xd4, 0xa4, 0x3f, 0xe6, 0x42, 0xb2, 0xf1, 0x04, 0xa3,
0xbd, 0x48, 0xe7, 0x08, 0xf5, 0xd4, 0xf7, 0x78, 0x28, 0x7d, 0x37, 0x0a, 0xdb, 0x45, 0x64, 0x9b,
0x23, 0xc8, 0xe7, 0x00, 0x6e, 0x14, 0x44, 0xb1, 0x33, 0x62, 0x62, 0x64, 0x02, 0x7a, 0x7b, 0xae,
0x6c, 0xf6, 0xdd, 0x3b, 0x5d, 0x45, 0xf8, 0x94, 0x89, 0x11, 0xad, 0xb9, 0xc9, 0x91, 0xdc, 0x55,
0x39, 0xa5, 0x04, 0xf8, 0x1e, 0x06, 0x74, 0x91, 0x56, 0x10, 0xde, 0xf3, 0xc8, 0x7b, 0xa9, 0x35,
0x1c, 0x53, 0x5e, 0x30, 0x3c, 0x6b, 0xb4, 0x69, 0xd0, 0x47, 0x1a, 0x4b, 0xee, 0x40, 0xe5, 0x9c,
0xcf, 0x9c, 0xa9, 0xef, 0x61, 0xcc, 0xd5, 0x68, 0xf9, 0x9c, 0xcf, 0x86, 0xbe, 0x47, 0x3e, 0x85,
0xb2, 0x3f, 0x66, 0x67, 0x5c, 0xc5, 0x93, 0xd2, 0xec, 0x9d, 0x15, 0x9a, 0xed, 0xe1, 0x7d, 0xe4,
0x6c, 0x4f, 0x11, 0x53, 0xc3, 0x43, 0x1e, 0xc1, 0x2d, 0x77, 0x2a, 0x64, 0x34, 0xf6, 0xbf, 0xd1,
0xa5, 0x0a, 0x15, 0xc3, 0x90, 0xaa, 0x51, 0x92, 0x7b, 0x84, 0x57, 0xdb, 0x7c, 0x00, 0xb5, 0xf4,
0x8e, 0xaa, 0xa4, 0xf8, 0xa1, 0xc7, 0x7f, 0xd1, 0xb6, 0xb6, 0x8b, 0x0f, 0x8b, 0x54, 0x03, 0x9b,
0x7f, 0xb1, 0x60, 0x2d, 0xf7, 0xb6, 0xac, 0xf2, 0x56, 0x4e, 0xf9, 0xc4, 0x55, 0x85, 0x8c, 0xab,
0xda, 0x50, 0x99, 0xb0, 0x59, 0x10, 0x31, 0x0f, 0x5d, 0xd1, 0xa0, 0x09, 0xa8, 0x5e, 0xf7, 0xca,
0xf7, 0xa4, 0xf2, 0x81, 0x32, 0xa2, 0x06, 0xc8, 0x6d, 0x28, 0x8f, 0xb8, 0x7f, 0x36, 0x92, 0xc6,
0xb6, 0x06, 0x22, 0x9b, 0x50, 0x55, 0x09, 0x23, 0xfc, 0x6f, 0x38, 0xda, 0xb4, 0x48, 0x53, 0x98,
0xbc, 0x0d, 0x6b, 0x31, 0x9e, 0x1c, 0xc9, 0xe2, 0x33, 0x2e, 0xd1, 0xa6, 0x45, 0xda, 0xd0, 0xc8,
0x13, 0xc4, 0xcd, 0x0b, 0x66, 0x35, 0x53, 0x30, 0xed, 0x3f, 0x5b, 0x70, 0xeb, 0x79, 0xe4, 0xb2,
0xc0, 0x78, 0xe6, 0xc8, 0x28, 0xf7, 0x21, 0x94, 0xce, 0xf9, 0x4c, 0xa0, 0x29, 0xea, 0xbb, 0x0f,
0xe6, 0x5e, 0x58, 0x42, 0xbc, 0xb3, 0xcf, 0x67, 0x14, 0xc9, 0xc9, 0x63, 0x68, 0x8c, 0x95, 0x9b,
0x98, 0x76, 0x13, 0x5a, 0xa2, 0xbe, 0x7b, 0x7b, 0xb9, 0x13, 0x69, 0x8e, 0x56, 0xdd, 0x70, 0xc2,
0x84, 0x78, 0x15, 0xc5, 0x9e, 0x89, 0xda, 0x14, 0xde, 0xfc, 0x3f, 0x28, 0xee, 0xf3, 0xd9, 0xd2,
0x5c, 0x20, 0x50, 0x52, 0x4d, 0x04, 0x5f, 0xd5, 0xa0, 0x78, 0xb6, 0xbf, 0xb5, 0xa0, 0xa5, 0x74,
0xcc, 0x56, 0xf7, 0x15, 0x1d, 0xe3, 0x3d, 0x58, 0xf7, 0x33, 0x54, 0x4e, 0xda, 0x3e, 0x9a, 0x59,
0xf4, 0x9e, 0x87, 0xfd, 0x8b, 0x5f, 0xf8, 0x2e, 0x77, 0xe4, 0x6c, 0xc2, 0x8d, 0x86, 0xa0, 0x51,
0x27, 0xb3, 0x09, 0x4f, 0x95, 0x2b, 0xe5, 0xbd, 0x7f, 0xc1, 0x63, 0xe1, 0x47, 0x21, 0xba, 0x73,
0x8d, 0x26, 0xa0, 0xfd, 0x77, 0x0b, 0xee, 0xac, 0x68, 0x40, 0xd7, 0xec, 0x6d, 0x6f, 0xc3, 0x9a,
0xa9, 0xa2, 0x0e, 0x86, 0xbf, 0x51, 0xa9, 0x61, 0x90, 0x3a, 0x56, 0xef, 0x42, 0x95, 0x87, 0xc2,
0xc9, 0x28, 0x56, 0xe1, 0xa1, 0x18, 0x28, 0xdd, 0x1e, 0x40, 0x23, 0x60, 0x42, 0x3a, 0xd3, 0x89,
0xc7, 0x24, 0xd7, 0xb9, 0x5c, 0xa2, 0x75, 0x85, 0x1b, 0x6a, 0x94, 0xba, 0xb3, 0x98, 0x09, 0xc9,
0xc7, 0x8e, 0x64, 0x67, 0xaa, 0xd5, 0x14, 0xd5, 0x9d, 0x35, 0xea, 0x84, 0x9d, 0x09, 0xf2, 0x2e,
0x34, 0x03, 0x15, 0x10, 0x4e, 0xe8, 0xbb, 0xe7, 0xf8, 0x12, 0x9d, 0xce, 0x6b, 0x88, 0x1d, 0x18,
0xa4, 0xfd, 0xcb, 0x32, 0xdc, 0x5d, 0xd9, 0x6d, 0xc9, 0xff, 0xc3, 0x46, 0x56, 0x11, 0x07, 0x79,
0x83, 0x99, 0xb9, 0x3d, 0xc9, 0x28, 0xf4, 0x5c, 0x3f, 0xf9, 0x2f, 0x36, 0x85, 0xf2, 0x2d, 0xf3,
0x3c, 0xee, 0x61, 0x51, 0xaa, 0x52, 0x0d, 0xa8, 0x38, 0x39, 0x55, 0x4e, 0xe6, 0x1e, 0xb6, 0xb1,
0x2a, 0x4d, 0x40, 0x45, 0x3f, 0x9e, 0x2a, 0x9d, 0xea, 0x9a, 0x1e, 0x01, 0x45, 0x1f, 0xf3, 0x71,
0x74, 0xc1, 0x3d, 0x6c, 0x37, 0x55, 0x9a, 0x80, 0x64, 0x1b, 0x1a, 0x23, 0x26, 0x1c, 0x14, 0xeb,
0x4c, 0x45, 0x7b, 0x0d, 0x1f, 0xc3, 0x88, 0x89, 0x8e, 0x42, 0x0d, 0xb1, 0x48, 0x5e, 0xf0, 0xd8,
0x7f, 0x99, 0x8c, 0x73, 0x42, 0x32, 0x39, 0x15, 0xed, 0x26, 0xd6, 0x0c, 0x92, 0x7d, 0x74, 0x8c,
0x4f, 0x70, 0x30, 0x8b, 0xa7, 0x42, 0x26, 0x94, 0xeb, 0x48, 0x59, 0x47, 0x9c, 0x21, 0xf9, 0x0c,
0xee, 0x99, 0x69, 0xc5, 0x89, 0xf9, 0xcf, 0xa7, 0x5c, 0x48, 0xed, 0x45, 0x64, 0xe1, 0xed, 0x16,
0x72, 0xb4, 0x0d, 0x09, 0xd5, 0x14, 0xe8, 0x4c, 0xc5, 0xcf, 0x57, 0xb3, 0xeb, 0x34, 0xb8, 0xb9,
0x92, 0xbd, 0x8b, 0x99, 0xf1, 0x39, 0x6c, 0x2d, 0xb2, 0x2b, 0x73, 0x48, 0x6e, 0x5e, 0x4f, 0x90,
0xff, 0x6e, 0x9e, 0x9f, 0x22, 0x85, 0x7e, 0xff, 0x6a, 0x01, 0x5a, 0x81, 0x5b, 0xab, 0x05, 0x68,
0x0d, 0x1e, 0x40, 0xc3, 0xf3, 0xc5, 0x24, 0x60, 0x33, 0x1d, 0x5f, 0x1b, 0xe8, 0xfa, 0xba, 0xc1,
0xa9, 0x18, 0xb3, 0x5f, 0x5d, 0xce, 0xf7, 0xa4, 0xc5, 0x2f, 0xcf, 0xf7, 0x4b, 0x41, 0x5d, 0x58,
0x12, 0xd4, 0x8b, 0x91, 0x5b, 0xbc, 0x14, 0xb9, 0xf6, 0x13, 0xd8, 0x5c, 0x7c, 0xf1, 0xd1, 0xf4,
0x34, 0xf0, 0xdd, 0xee, 0x88, 0x5d, 0xb3, 0xd6, 0xd8, 0xdf, 0x15, 0x61, 0x2d, 0x37, 0xea, 0xfe,
0x5b, 0xbe, 0x06, 0x26, 0xe6, 0x7d, 0xa8, 0x4f, 0x62, 0xff, 0x82, 0x49, 0xee, 0x9c, 0xf3, 0x99,
0xe9, 0x80, 0x60, 0x50, 0xaa, 0xa2, 0x6f, 0xab, 0xaa, 0x2a, 0xdc, 0xd8, 0x9f, 0x28, 0xbd, 0x30,
0x2f, 0x1b, 0x34, 0x8b, 0x52, 0x0d, 0xf1, 0x67, 0x91, 0x1f, 0x9a, 0xac, 0xac, 0x52, 0x03, 0xa9,
0x76, 0xa1, 0x63, 0x95, 0x7b, 0xd8, 0x10, 0xab, 0x34, 0x85, 0xe7, 0x49, 0x53, 0xc9, 0x26, 0xcd,
0x21, 0xb4, 0x8c, 0x77, 0x85, 0x23, 0x23, 0x47, 0xc9, 0x31, 0x53, 0xc6, 0xbb, 0xab, 0x06, 0x7a,
0x43, 0x7e, 0x12, 0x3d, 0x8b, 0xfc, 0x90, 0x36, 0xe3, 0x1c, 0x4c, 0x3e, 0x81, 0x6a, 0x32, 0x46,
0x9a, 0xb1, 0xf5, 0xfe, 0x0a, 0x41, 0x66, 0x7e, 0x15, 0x34, 0x65, 0x50, 0x53, 0x1a, 0x0f, 0xdd,
0x78, 0x36, 0x91, 0x69, 0xd2, 0xcf, 0x11, 0xea, 0xa9, 0x98, 0x70, 0x57, 0xb2, 0x79, 0xea, 0xcf,
0x11, 0xaa, 0x69, 0x19, 0x52, 0x95, 0xc0, 0xd8, 0xa8, 0x1b, 0x68, 0xb9, 0xe6, 0x1c, 0xbd, 0xcf,
0x67, 0xc2, 0xfe, 0x55, 0x11, 0xee, 0x5d, 0x71, 0x23, 0xe3, 0x2f, 0x2b, 0xf5, 0xd7, 0x5b, 0x00,
0x13, 0x8c, 0x0d, 0x74, 0x97, 0xf6, 0x7f, 0x4d, 0x63, 0x94, 0xb7, 0x52, 0xa7, 0x17, 0xb3, 0x4e,
0xbf, 0xa2, 0xb0, 0xde, 0x81, 0x8a, 0x3b, 0x62, 0x32, 0x19, 0x15, 0x6b, 0xb4, 0xac, 0xc0, 0x3d,
0x4f, 0xc5, 0x6d, 0xb2, 0x8a, 0xcc, 0xd4, 0xd3, 0xb2, 0x76, 0x7c, 0x8a, 0xdb, 0x43, 0x27, 0xea,
0xf4, 0xad, 0xe8, 0x97, 0x21, 0x40, 0xce, 0x81, 0xc4, 0xfc, 0x82, 0xb3, 0x80, 0x7b, 0xaa, 0xc8,
0xc5, 0x5c, 0x88, 0x74, 0x58, 0xfc, 0xf4, 0x5a, 0x6e, 0xdc, 0xa1, 0x86, 0xbf, 0x93, 0xb0, 0xf7,
0x43, 0x19, 0xcf, 0xe8, 0xcd, 0x78, 0x11, 0xbf, 0xd9, 0x83, 0xdb, 0xcb, 0x89, 0x49, 0x0b, 0x8a,
0xca, 0x42, 0x7a, 0x10, 0x51, 0x47, 0xa5, 0xee, 0x05, 0x0b, 0xa6, 0xdc, 0x44, 0xbf, 0x06, 0x1e,
0x17, 0x3e, 0xb6, 0xec, 0x5f, 0x17, 0xa0, 0xb5, 0x98, 0x81, 0xe4, 0xb3, 0xcc, 0x66, 0x7a, 0x69,
0xc8, 0x5a, 0xd1, 0x2b, 0x33, 0x7b, 0xe9, 0x17, 0xd0, 0x30, 0x8e, 0x52, 0x06, 0x15, 0xed, 0xc2,
0xe2, 0xb4, 0xbc, 0x3a, 0xe5, 0x69, 0x7d, 0x92, 0x9e, 0x05, 0xf9, 0x04, 0x2a, 0xc9, 0xb0, 0x56,
0xc4, 0x10, 0xbe, 0x42, 0x8d, 0x64, 0x6e, 0x4b, 0x38, 0xfe, 0x83, 0xed, 0xd8, 0xfe, 0x08, 0xd6,
0xf1, 0xa9, 0x52, 0xc8, 0xb4, 0xae, 0xeb, 0x95, 0xa2, 0x4f, 0x61, 0x23, 0x61, 0x3c, 0xd0, 0xdf,
0x1f, 0x04, 0xe5, 0xec, 0xba, 0xdc, 0x3f, 0x82, 0xdb, 0xb8, 0xcc, 0xb9, 0xd2, 0xbf, 0xf0, 0xe5,
0xac, 0xcb, 0x43, 0xc9, 0xe3, 0x2b, 0xf8, 0x5b, 0x50, 0xf4, 0x3d, 0x6d, 0xde, 0x06, 0x55, 0x47,
0xbb, 0xa7, 0xcb, 0x69, 0x5e, 0x42, 0xc7, 0x75, 0x39, 0xe6, 0xed, 0x75, 0xa5, 0xf4, 0x75, 0x5e,
0xe6, 0xa5, 0xf4, 0x7c, 0x31, 0xf6, 0x85, 0x78, 0x0d, 0x31, 0xdf, 0x5a, 0xd0, 0x50, 0x72, 0x9e,
0x44, 0xd1, 0xf9, 0x98, 0xc5, 0xe7, 0xab, 0x19, 0xa7, 0x71, 0x60, 0xcc, 0xa0, 0x8e, 0xe9, 0xb0,
0x5a, 0xcc, 0x0c, 0xab, 0xf7, 0xa0, 0x86, 0x8d, 0xc6, 0x51, 0xb4, 0x3a, 0x91, 0xab, 0x88, 0x18,
0xc6, 0x41, 0x76, 0xe2, 0xb8, 0x91, 0x9f, 0x38, 0xde, 0x02, 0xf0, 0x78, 0xc0, 0xd5, 0xe4, 0xc6,
0x24, 0x26, 0x72, 0x89, 0xd6, 0x0c, 0xa6, 0x23, 0xed, 0x67, 0x3a, 0xf8, 0xbb, 0x01, 0x67, 0xf1,
0x53, 0x5f, 0xc8, 0x28, 0x9e, 0x65, 0xcb, 0x82, 0x95, 0x2b, 0x0b, 0x6f, 0x01, 0xb8, 0x8a, 0x50,
0xcb, 0x2a, 0x68, 0x59, 0x06, 0xd3, 0x91, 0xf6, 0x9f, 0x2c, 0x20, 0x4a, 0x98, 0xf9, 0x1c, 0x71,
0xe4, 0xbb, 0x72, 0x1a, 0xf3, 0xa5, 0x6b, 0x41, 0x66, 0xef, 0x2a, 0xac, 0xd8, 0xbb, 0x8a, 0x38,
0x91, 0x5f, 0xda, 0xbb, 0x4a, 0x88, 0x4e, 0xf6, 0xae, 0x7b, 0x50, 0xc3, 0x16, 0x8c, 0x8b, 0x97,
0x9e, 0xe1, 0x71, 0xf1, 0x3a, 0x5e, 0xba, 0x78, 0x95, 0x91, 0x60, 0xc5, 0xe2, 0x55, 0xc9, 0x2e,
0x5e, 0x23, 0xb8, 0x75, 0xf9, 0x26, 0x62, 0xf5, 0x6e, 0xf9, 0x31, 0x54, 0x27, 0x86, 0xc8, 0x24,
0xfb, 0x56, 0x3e, 0xcf, 0xf2, 0x92, 0x68, 0x4a, 0x6d, 0xff, 0xbe, 0x00, 0x37, 0x15, 0xc1, 0x97,
0x2c, 0x08, 0xb8, 0xbc, 0x7a, 0xe6, 0x68, 0x43, 0xc5, 0x14, 0xd5, 0xc4, 0x6a, 0x06, 0x54, 0xf6,
0x79, 0x85, 0x02, 0xd0, 0x6c, 0x55, 0x6a, 0x20, 0x65, 0x7b, 0xe5, 0x3b, 0xb4, 0x5a, 0x95, 0xe2,
0x59, 0xe1, 0x70, 0x47, 0xd2, 0x25, 0x1f, 0xcf, 0x4a, 0xb2, 0xf2, 0xbd, 0x9a, 0x63, 0xf4, 0x27,
0x81, 0x04, 0x54, 0xd4, 0x13, 0x26, 0x47, 0x66, 0x5c, 0xc6, 0xb3, 0x6a, 0x7f, 0x69, 0xd7, 0xc1,
0x85, 0xb5, 0x91, 0x6d, 0x43, 0x89, 0xbf, 0x6b, 0x19, 0x7f, 0xab, 0xfb, 0xe0, 0xb2, 0x0f, 0x88,
0xd4, 0x00, 0x7a, 0xd5, 0xf7, 0x3c, 0x1e, 0x9a, 0x1e, 0x6a, 0xa0, 0xd5, 0xf3, 0xb3, 0x7d, 0xa0,
0x23, 0x2c, 0x67, 0x2c, 0x41, 0x3e, 0x82, 0xaa, 0xa9, 0x79, 0x49, 0xb5, 0xbe, 0x97, 0xb7, 0x7e,
0x8e, 0x9e, 0xa6, 0xc4, 0xf6, 0x3f, 0x2d, 0x1d, 0xfe, 0xc7, 0xec, 0x22, 0xed, 0x21, 0x59, 0x2b,
0x5b, 0x79, 0x2b, 0x2f, 0xfb, 0x82, 0xb0, 0x05, 0xb5, 0x97, 0xec, 0x22, 0x9a, 0xc6, 0xbe, 0xe4,
0xc6, 0xf8, 0x73, 0xc4, 0x15, 0x79, 0xf9, 0x00, 0x1a, 0x7a, 0x2a, 0x74, 0xb2, 0xe1, 0x57, 0xd7,
0x38, 0x3d, 0xb6, 0xfe, 0x2f, 0xdc, 0x74, 0x47, 0xcc, 0x0f, 0x1d, 0x31, 0x8a, 0x62, 0x89, 0x1d,
0x5c, 0x7f, 0xc8, 0xab, 0xd1, 0x75, 0x7c, 0x70, 0xac, 0xf0, 0xaa, 0x93, 0x0b, 0x55, 0x43, 0x78,
0x28, 0x8c, 0xcd, 0xd5, 0x51, 0xc5, 0xaa, 0x2f, 0x1c, 0xc9, 0x85, 0x34, 0xf3, 0x4b, 0xd9, 0x17,
0x27, 0x5c, 0xc8, 0x67, 0xa5, 0x6a, 0xa9, 0x75, 0xc3, 0xfe, 0x8d, 0x05, 0x6f, 0x2e, 0x1d, 0x82,
0x56, 0xc4, 0xde, 0xe2, 0x48, 0xa0, 0x6d, 0x90, 0x1b, 0x09, 0xfa, 0x70, 0x7f, 0xa4, 0x4b, 0x88,
0xc3, 0x62, 0x77, 0xe4, 0x5f, 0x70, 0x47, 0x4c, 0x27, 0x13, 0xa5, 0x3b, 0x0f, 0xd9, 0x69, 0x60,
0x06, 0xe0, 0x2a, 0xdd, 0x32, 0x64, 0x1d, 0x4d, 0x75, 0xac, 0x89, 0xfa, 0x9a, 0xc6, 0xfe, 0x83,
0xa5, 0x9b, 0xcf, 0x89, 0xda, 0x60, 0xd4, 0x4e, 0xc4, 0xe3, 0x6b, 0xee, 0xdc, 0x9f, 0x41, 0xd9,
0x2c, 0x41, 0xea, 0x3d, 0xcd, 0xc5, 0xc1, 0x31, 0x23, 0x70, 0xe7, 0x64, 0xbe, 0x1e, 0x51, 0xc3,
0x64, 0x3f, 0x86, 0x7a, 0x06, 0x4d, 0xea, 0x50, 0x19, 0x0e, 0xf6, 0x07, 0x87, 0x5f, 0x0e, 0x5a,
0x6f, 0x28, 0xe0, 0x84, 0x0e, 0x8f, 0x4f, 0xfa, 0xbd, 0x96, 0x45, 0x6e, 0xc2, 0xda, 0x70, 0x80,
0xe0, 0x97, 0x87, 0xf4, 0xe4, 0xe9, 0x57, 0xad, 0x82, 0xfd, 0x6d, 0x51, 0x2f, 0x10, 0x2f, 0x32,
0x0b, 0x9a, 0x19, 0x6c, 0x56, 0x28, 0x4f, 0xa0, 0xf4, 0x32, 0x8e, 0xc6, 0x49, 0x30, 0xa9, 0xb3,
0xba, 0x90, 0x8c, 0x4c, 0xd5, 0x2f, 0xc8, 0x48, 0x05, 0x97, 0x3b, 0x52, 0xb1, 0x1b, 0x9e, 0x25,
0xc3, 0xdb, 0x1c, 0xa1, 0x5c, 0x62, 0x46, 0x5e, 0x5d, 0x90, 0xcd, 0x5e, 0x9c, 0xe2, 0x3a, 0xf8,
0xd5, 0x26, 0xe6, 0x62, 0x12, 0x85, 0x22, 0x49, 0xec, 0x14, 0x56, 0xd5, 0x3c, 0xe6, 0x93, 0xc0,
0xd7, 0xcc, 0x3a, 0xfe, 0x6a, 0x06, 0xd3, 0x91, 0x84, 0x2f, 0x5f, 0x44, 0xab, 0x68, 0xd9, 0xef,
0xe7, 0x2d, 0xbb, 0xe4, 0xd6, 0x3b, 0x2f, 0x2e, 0xad, 0xaa, 0x4b, 0xd7, 0x57, 0xed, 0xc3, 0x5a,
0x3a, 0x02, 0xfc, 0x04, 0xc8, 0x65, 0xce, 0x4b, 0xbe, 0x38, 0xea, 0x0f, 0x7a, 0x7b, 0x83, 0x2f,
0x5a, 0x16, 0x69, 0x40, 0xb5, 0xd3, 0xed, 0xf6, 0x8f, 0x94, 0x67, 0x0a, 0x0a, 0xea, 0xf5, 0xbb,
0xcf, 0xf7, 0x06, 0xfd, 0x5e, 0xab, 0xa8, 0xa0, 0x6e, 0x67, 0xd0, 0xed, 0x3f, 0xef, 0xf7, 0x5a,
0x25, 0xfb, 0xaf, 0x96, 0x9e, 0x0d, 0xba, 0xb9, 0x3d, 0xb1, 0xc7, 0x5d, 0x5f, 0xac, 0xfe, 0x00,
0xb5, 0x05, 0x35, 0x63, 0xcf, 0xbd, 0x24, 0xd2, 0xe6, 0x08, 0xf2, 0x53, 0x58, 0xf7, 0x0c, 0xbf,
0x93, 0x8b, 0xbc, 0x0f, 0x16, 0xa7, 0xac, 0x65, 0xaf, 0xdc, 0x49, 0x0e, 0xc6, 0x3c, 0x4d, 0x2f,
0x07, 0xdb, 0xef, 0x43, 0x33, 0x4f, 0x91, 0xbb, 0xec, 0x1b, 0xb9, 0xcb, 0x5a, 0xf6, 0x77, 0x16,
0xac, 0x2f, 0xfc, 0x21, 0xb0, 0xba, 0x5f, 0x2d, 0x6e, 0xc4, 0x85, 0x4b, 0x1b, 0x31, 0x79, 0x1f,
0x48, 0x96, 0xc4, 0xc9, 0xae, 0x16, 0xad, 0x0c, 0xa1, 0xae, 0x55, 0xd9, 0x06, 0x58, 0x7a, 0xad,
0x06, 0x28, 0x00, 0x28, 0x7b, 0x65, 0x86, 0xc5, 0xec, 0x60, 0x60, 0xe5, 0x07, 0x83, 0x7d, 0xa8,
0x9b, 0x7f, 0xb4, 0x4e, 0x54, 0xf7, 0x2a, 0xa0, 0x9d, 0xff, 0x67, 0xfe, 0x92, 0xce, 0xfc, 0x3f,
0xb0, 0x03, 0xf3, 0x17, 0x98, 0x11, 0xba, 0xa3, 0x18, 0x68, 0x96, 0xdb, 0xfe, 0x9d, 0x05, 0x4d,
0xa5, 0x55, 0xe6, 0xcd, 0x3f, 0x80, 0x7a, 0x9c, 0x42, 0x49, 0x1f, 0xd9, 0x98, 0xcb, 0x9f, 0x93,
0xd2, 0x2c, 0x21, 0xd9, 0x85, 0x0d, 0x31, 0x3d, 0x4d, 0x7a, 0xd1, 0x33, 0x11, 0x85, 0x4f, 0x66,
0x92, 0x27, 0x1d, 0x7a, 0xe9, 0x33, 0xf2, 0x3e, 0xdc, 0x4c, 0x36, 0xcd, 0x39, 0x83, 0x5e, 0xbf,
0x2f, 0x3f, 0xb0, 0x7f, 0x6b, 0x41, 0x5d, 0x29, 0x6b, 0xfe, 0xe0, 0xc0, 0x79, 0x31, 0xf5, 0xa8,
0x3a, 0x2e, 0x6d, 0x4c, 0xb7, 0xa1, 0x6c, 0xbe, 0x59, 0x99, 0x91, 0xc0, 0x7c, 0xb2, 0xca, 0xc4,
0x44, 0x29, 0x17, 0x13, 0x5b, 0x50, 0x9b, 0xaf, 0x6c, 0x37, 0x70, 0x8a, 0x9d, 0x23, 0xe6, 0xe9,
0x51, 0xce, 0xce, 0x49, 0x7f, 0x34, 0xd3, 0x8b, 0x51, 0x4d, 0x0d, 0xcc, 0x51, 0x48, 0x1e, 0x43,
0x99, 0xe1, 0x09, 0x75, 0x6c, 0xee, 0xda, 0xf9, 0x50, 0xc8, 0x11, 0xef, 0xe8, 0x1f, 0x6a, 0x38,
0xc8, 0x3b, 0xb0, 0x16, 0x05, 0x9e, 0x21, 0x19, 0xa6, 0xe5, 0x3d, 0x8f, 0x24, 0x8f, 0xf0, 0x12,
0x0a, 0x32, 0x7b, 0xd1, 0x9b, 0x4b, 0x5f, 0x41, 0x13, 0x2a, 0xd5, 0xee, 0xca, 0x46, 0xbb, 0x9b,
0xb0, 0xb6, 0xdf, 0xff, 0xaa, 0xdb, 0xa1, 0x3d, 0xa7, 0xd3, 0xeb, 0x61, 0x26, 0x11, 0x68, 0x76,
0xba, 0xdd, 0xc3, 0xe1, 0xe0, 0xe4, 0xd8, 0xe0, 0x2c, 0x72, 0x0b, 0xd6, 0x13, 0xb2, 0x5e, 0xff,
0x79, 0x5f, 0xd7, 0x97, 0x0d, 0x68, 0xa5, 0x84, 0xb4, 0x7f, 0x70, 0xf8, 0x02, 0xeb, 0x0c, 0x40,
0xf9, 0xf9, 0x61, 0x77, 0x5f, 0x55, 0x19, 0x95, 0x94, 0xc3, 0x81, 0x81, 0x6e, 0x90, 0x75, 0xa8,
0x0f, 0xf7, 0x7a, 0xce, 0xf0, 0xa8, 0xd7, 0x51, 0x02, 0xca, 0xa4, 0x05, 0x8d, 0x41, 0xe7, 0xa0,
0xef, 0x74, 0x9f, 0x76, 0x06, 0x5f, 0xf4, 0x7b, 0xad, 0x8a, 0xfd, 0xb5, 0xee, 0x76, 0x99, 0x3f,
0xb0, 0xc8, 0xf7, 0x32, 0xff, 0x76, 0xe9, 0x38, 0x5c, 0x71, 0xbd, 0xf9, 0x3f, 0x5d, 0xa9, 0x7b,
0x0a, 0x19, 0xf7, 0x3c, 0x59, 0xfb, 0xba, 0xbe, 0xf3, 0xe8, 0x93, 0x84, 0xf5, 0xb4, 0x8c, 0xa7,
0x0f, 0xfe, 0x15, 0x00, 0x00, 0xff, 0xff, 0xf0, 0xeb, 0x53, 0xb8, 0x5e, 0x1e, 0x00, 0x00,
2022-03-24 09:35:56 +00:00
}