feat: introduce and distribute RequestToLeave community

closes: #2812
This commit is contained in:
Patryk Osmaczko 2022-08-22 12:10:31 +02:00 committed by osmaczko
parent 26b33aa09d
commit 7e25a6125f
17 changed files with 471 additions and 216 deletions

View File

@ -26,4 +26,5 @@ var ErrNotAdmin = errors.New("no admin privileges for this community")
var ErrInvalidGrant = errors.New("invalid grant")
var ErrNotAuthorized = errors.New("not authorized")
var ErrAlreadyMember = errors.New("already a member")
var ErrAlreadyJoined = errors.New("already joined")
var ErrInvalidMessage = errors.New("invalid community description message")

View File

@ -853,11 +853,6 @@ func (m *Manager) HandleCommunityRequestToJoin(signer *ecdsa.PublicKey, request
return nil, ErrOrgNotFound
}
// If they are already a member, ignore
if community.HasMember(signer) {
return nil, ErrAlreadyMember
}
if err := community.ValidateRequestToJoin(signer, request); err != nil {
return nil, err
}
@ -876,7 +871,11 @@ func (m *Manager) HandleCommunityRequestToJoin(signer *ecdsa.PublicKey, request
return nil, err
}
if community.AcceptRequestToJoinAutomatically() {
// If user is already a member, then accept request automatically
// It may happen when member removes itself from community and then tries to rejoin
// More specifically, CommunityRequestToLeave may be delivered later than CommunityRequestToJoin, or not delivered at all
acceptAutomatically := community.AcceptRequestToJoinAutomatically() || community.HasMember(signer)
if acceptAutomatically {
err = m.markRequestToJoin(signer, community)
if err != nil {
return nil, err
@ -933,6 +932,24 @@ func (m *Manager) HandleCommunityRequestToJoinResponse(signer *ecdsa.PublicKey,
return m.persistence.SetRequestToJoinState(common.PubkeyToHex(m.identity), community.ID(), RequestToJoinStateDeclined)
}
func (m *Manager) HandleCommunityRequestToLeave(signer *ecdsa.PublicKey, proto *protobuf.CommunityRequestToLeave) error {
requestToLeave := NewRequestToLeave(common.PubkeyToHex(signer), proto)
if err := m.persistence.SaveRequestToLeave(requestToLeave); err != nil {
return err
}
// Ensure corresponding requestToJoin clock is older than requestToLeave
requestToJoin, err := m.persistence.GetRequestToJoin(requestToLeave.ID)
if err != nil {
return err
}
if requestToJoin.Clock > requestToLeave.Clock {
return ErrOldRequestToLeave
}
return nil
}
func (m *Manager) HandleWrappedCommunityDescriptionMessage(payload []byte) (*CommunityResponse, error) {
m.logger.Debug("Handling wrapped community description message")
@ -1178,9 +1195,9 @@ func (m *Manager) RequestToJoin(requester *ecdsa.PublicKey, request *requests.Re
return nil, nil, err
}
// We don't allow requesting access if already a member
if community.HasMember(m.identity) {
return nil, nil, ErrAlreadyMember
// We don't allow requesting access if already joined
if community.Joined() {
return nil, nil, ErrAlreadyJoined
}
clock := uint64(time.Now().Unix())
@ -1335,6 +1352,14 @@ func (m *Manager) GetAdminCommunitiesChatIDs() (map[string]bool, error) {
return chatIDs, nil
}
func (m *Manager) IsAdminCommunityByID(communityID types.HexBytes) (bool, error) {
pubKey, err := crypto.DecompressPubkey(communityID)
if err != nil {
return false, err
}
return m.IsAdminCommunity(pubKey)
}
func (m *Manager) IsAdminCommunity(pubKey *ecdsa.PublicKey) (bool, error) {
adminCommunities, err := m.Created()
if err != nil {

View File

@ -22,6 +22,7 @@ type Persistence struct {
}
var ErrOldRequestToJoin = errors.New("old request to join")
var ErrOldRequestToLeave = errors.New("old request to leave")
const OR = " OR "
const communitiesBaseQuery = `SELECT c.id, c.private_key, c.description,c.joined,c.verified,c.muted,r.clock FROM communities_communities c LEFT JOIN communities_requests_to_join r ON c.id = r.community_id AND r.public_key = ?`
@ -309,6 +310,37 @@ func (p *Persistence) SaveRequestToJoin(request *RequestToJoin) (err error) {
return err
}
func (p *Persistence) SaveRequestToLeave(request *RequestToLeave) error {
tx, err := p.db.BeginTx(context.Background(), &sql.TxOptions{})
if err != nil {
return err
}
defer func() {
if err == nil {
err = tx.Commit()
return
}
// don't shadow original error
_ = tx.Rollback()
}()
var clock uint64
// Fetch any existing request to leave
err = tx.QueryRow(`SELECT clock FROM communities_requests_to_leave WHERE public_key = ? AND community_id = ?`, request.PublicKey, request.CommunityID).Scan(&clock)
if err != nil && err != sql.ErrNoRows {
return err
}
// This is already processed
if clock >= request.Clock {
return ErrOldRequestToLeave
}
_, err = tx.Exec(`INSERT INTO communities_requests_to_leave(id,public_key,clock,community_id) VALUES (?, ?, ?, ?)`, request.ID, request.PublicKey, request.Clock, request.CommunityID)
return err
}
func (p *Persistence) PendingRequestsToJoinForUser(pk string) ([]*RequestToJoin, error) {
var requests []*RequestToJoin
rows, err := p.db.Query(`SELECT id,public_key,clock,ens_name,chat_id,community_id,state FROM communities_requests_to_join WHERE state = ? AND public_key = ?`, RequestToJoinStatePending, pk)

View File

@ -202,6 +202,23 @@ func (s *PersistenceSuite) TestJoinedAndPendingCommunitiesWithRequests() {
}
}
func (s *PersistenceSuite) TestSaveRequestToLeave() {
rtl := &RequestToLeave{
ID: []byte("0x123456"),
PublicKey: "0xffffff",
Clock: 2,
CommunityID: []byte("0x654321"),
}
err := s.db.SaveRequestToLeave(rtl)
s.NoError(err)
// older clocks should not be saved
rtl.Clock = 1
err = s.db.SaveRequestToLeave(rtl)
s.Error(err)
}
func (s *PersistenceSuite) makeNewCommunity(identity *ecdsa.PrivateKey) *Community {
comPrivKey, err := crypto.GenerateKey()
s.NoError(err, "crypto.GenerateKey shouldn't give any error")

View File

@ -1,9 +1,6 @@
package communities
import (
"fmt"
"github.com/status-im/status-go/eth-node/crypto"
"github.com/status-im/status-go/eth-node/types"
"github.com/status-im/status-go/protocol/protobuf"
)
@ -28,8 +25,7 @@ type RequestToJoin struct {
}
func (r *RequestToJoin) CalculateID() {
idString := fmt.Sprintf("%s-%s", r.PublicKey, r.CommunityID)
r.ID = crypto.Keccak256([]byte(idString))
r.ID = CalculateRequestID(r.PublicKey, r.CommunityID)
}
func (r *RequestToJoin) ToSyncProtobuf() *protobuf.SyncCommunityRequestsToJoin {

View File

@ -0,0 +1,22 @@
package communities
import (
"github.com/status-im/status-go/eth-node/types"
"github.com/status-im/status-go/protocol/protobuf"
)
type RequestToLeave struct {
ID types.HexBytes `json:"id"`
PublicKey string `json:"publicKey"`
Clock uint64 `json:"clock"`
CommunityID types.HexBytes `json:"communityId"`
}
func NewRequestToLeave(publicKey string, protobuf *protobuf.CommunityRequestToLeave) *RequestToLeave {
return &RequestToLeave{
ID: CalculateRequestID(publicKey, protobuf.CommunityId),
PublicKey: publicKey,
Clock: protobuf.Clock,
CommunityID: protobuf.CommunityId,
}
}

View File

@ -0,0 +1,13 @@
package communities
import (
"fmt"
"github.com/status-im/status-go/eth-node/crypto"
"github.com/status-im/status-go/eth-node/types"
)
func CalculateRequestID(publicKey string, communityID types.HexBytes) types.HexBytes {
idString := fmt.Sprintf("%s-%s", publicKey, communityID)
return crypto.Keccak256([]byte(idString))
}

View File

@ -4408,6 +4408,14 @@ func (m *Messenger) handleRetrievedMessages(chatWithMessages map[transport.Filte
allMessagesProcessed = false
continue
}
case protobuf.CommunityRequestToLeave:
logger.Debug("Handling CommunityRequestToLeave")
request := msg.ParsedMessage.Interface().(protobuf.CommunityRequestToLeave)
err = m.HandleCommunityRequestToLeave(messageState, publicKey, request)
if err != nil {
logger.Warn("failed to handle CommunityRequestToLeave", zap.Error(err))
continue
}
case protobuf.CommunityMessageArchiveMagnetlink:
logger.Debug("Handling CommunityMessageArchiveMagnetlink")

View File

@ -614,6 +614,34 @@ func (m *Messenger) LeaveCommunity(communityID types.HexBytes) (*MessengerRespon
}
}
isAdmin, err := m.communitiesManager.IsAdminCommunityByID(communityID)
if err != nil {
return nil, err
}
if !isAdmin {
requestToLeaveProto := &protobuf.CommunityRequestToLeave{
Clock: uint64(time.Now().Unix()),
CommunityId: communityID,
}
payload, err := proto.Marshal(requestToLeaveProto)
if err != nil {
return nil, err
}
rawMessage := common.RawMessage{
Payload: payload,
CommunityID: communityID,
SkipEncryption: true,
MessageType: protobuf.ApplicationMetadataMessage_COMMUNITY_REQUEST_TO_LEAVE,
}
_, err = m.sender.SendCommunityMessage(context.Background(), rawMessage)
if err != nil {
return nil, err
}
}
return mr, nil
}

View File

@ -1022,6 +1022,28 @@ func (m *Messenger) HandleCommunityRequestToJoinResponse(state *ReceivedMessageS
return nil
}
func (m *Messenger) HandleCommunityRequestToLeave(state *ReceivedMessageState, signer *ecdsa.PublicKey, requestToLeaveProto protobuf.CommunityRequestToLeave) error {
if requestToLeaveProto.CommunityId == nil {
return errors.New("invalid community id")
}
err := m.communitiesManager.HandleCommunityRequestToLeave(signer, &requestToLeaveProto)
if err != nil {
return err
}
response, err := m.RemoveUserFromCommunity(requestToLeaveProto.CommunityId, common.PubkeyToHex(signer))
if err != nil {
return err
}
if len(response.Communities()) > 0 {
state.Response.AddCommunity(response.Communities()[0])
}
return nil
}
// handleWrappedCommunityDescriptionMessage handles a wrapped community description
func (m *Messenger) handleWrappedCommunityDescriptionMessage(payload []byte) (*communities.CommunityResponse, error) {
return m.communitiesManager.HandleWrappedCommunityDescriptionMessage(payload)

View File

@ -57,6 +57,7 @@
// 1659619997_add_discord_messages_table.up.sql (371B)
// 1660226788_create_chat_identity_social_links.up.sql (318B)
// 1660226789_add_walletconnectsessions_table.up.sql (215B)
// 1661242854_add_communities_requests_to_leave.up.sql (204B)
// README.md (554B)
// doc.go (850B)
@ -142,7 +143,7 @@ func _000001_initDownDbSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "000001_init.down.db.sql", size: 65, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xbb, 0x3f, 0x1, 0x75, 0x19, 0x70, 0x86, 0xa7, 0x34, 0x40, 0x17, 0x34, 0x3e, 0x18, 0x51, 0x79, 0xd4, 0x22, 0xad, 0x8f, 0x80, 0xcc, 0xa6, 0xcc, 0x6, 0x2b, 0x62, 0x2, 0x47, 0xba, 0xf9}}
return a, nil
}
@ -162,7 +163,7 @@ func _000001_initUpDbSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "000001_init.up.db.sql", size: 2719, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x60, 0xdc, 0xeb, 0xe, 0xc2, 0x4f, 0x75, 0xa, 0xf6, 0x3e, 0xc7, 0xc4, 0x4, 0xe2, 0xe1, 0xa4, 0x73, 0x2f, 0x4a, 0xad, 0x1a, 0x0, 0xc3, 0x93, 0x9d, 0x77, 0x3e, 0x31, 0x91, 0x77, 0x2e, 0xc8}}
return a, nil
}
@ -182,7 +183,7 @@ func _000002_add_last_ens_clock_valueUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "000002_add_last_ens_clock_value.up.sql", size: 77, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4d, 0x3, 0x8f, 0xd5, 0x85, 0x83, 0x47, 0xbe, 0xf9, 0x82, 0x7e, 0x81, 0xa4, 0xbd, 0xaa, 0xd5, 0x98, 0x18, 0x5, 0x2d, 0x82, 0x42, 0x3b, 0x3, 0x50, 0xc3, 0x1e, 0x84, 0x35, 0xf, 0xb6, 0x2b}}
return a, nil
}
@ -202,7 +203,7 @@ func _1586358095_add_replaceUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1586358095_add_replace.up.sql", size: 224, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd2, 0xb3, 0xa9, 0xc7, 0x7f, 0x9d, 0x8f, 0x43, 0x8c, 0x9e, 0x58, 0x8d, 0x44, 0xbc, 0xfa, 0x6b, 0x5f, 0x3f, 0x5a, 0xbe, 0xe8, 0xb1, 0x16, 0xf, 0x91, 0x2a, 0xa0, 0x71, 0xbb, 0x8d, 0x6b, 0xcb}}
return a, nil
}
@ -222,7 +223,7 @@ func _1588665364_add_image_dataUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1588665364_add_image_data.up.sql", size: 186, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd6, 0xc6, 0x35, 0xb4, 0x4c, 0x39, 0x96, 0x29, 0x30, 0xda, 0xf4, 0x8f, 0xcb, 0xf1, 0x9f, 0x84, 0xdc, 0x88, 0xd4, 0xd5, 0xbc, 0xb6, 0x5b, 0x46, 0x78, 0x67, 0x76, 0x1a, 0x5, 0x36, 0xdc, 0xe5}}
return a, nil
}
@ -242,7 +243,7 @@ func _1589365189_add_pow_targetUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1589365189_add_pow_target.up.sql", size: 66, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x4e, 0x3a, 0xe2, 0x2e, 0x7d, 0xaf, 0xbb, 0xcc, 0x21, 0xa1, 0x7a, 0x41, 0x9a, 0xd0, 0xbb, 0xa9, 0xc8, 0x35, 0xf9, 0x32, 0x34, 0x46, 0x44, 0x9a, 0x86, 0x40, 0x7c, 0xb9, 0x23, 0xc7, 0x3, 0x3f}}
return a, nil
}
@ -262,7 +263,7 @@ func _1591277220_add_index_messagesUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1591277220_add_index_messages.up.sql", size: 240, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9c, 0xfe, 0xbe, 0xd5, 0xb8, 0x8f, 0xdd, 0xef, 0xbb, 0xa8, 0xad, 0x7f, 0xed, 0x5b, 0x5b, 0x2f, 0xe6, 0x82, 0x27, 0x78, 0x1f, 0xb9, 0x57, 0xdc, 0x8, 0xc2, 0xb2, 0xa9, 0x9a, 0x4, 0xe1, 0x7a}}
return a, nil
}
@ -282,7 +283,7 @@ func _1593087212_add_mute_chat_and_raw_message_fieldsUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1593087212_add_mute_chat_and_raw_message_fields.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1593087212_add_mute_chat_and_raw_message_fields.up.sql", size: 215, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x73, 0x99, 0x61, 0xd1, 0xaa, 0xb4, 0xbf, 0xaf, 0xd7, 0x20, 0x17, 0x40, 0xf9, 0x2, 0xfb, 0xcc, 0x40, 0x2a, 0xd, 0x86, 0x36, 0x30, 0x88, 0x89, 0x25, 0x80, 0x42, 0xb0, 0x5b, 0xe9, 0x73, 0x78}}
return a, nil
}
@ -302,7 +303,7 @@ func _1595862781_add_audio_dataUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1595862781_add_audio_data.up.sql", size: 246, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xae, 0xd2, 0xee, 0x55, 0xfb, 0x36, 0xa4, 0x92, 0x66, 0xe, 0x81, 0x62, 0x1e, 0x7a, 0x69, 0xa, 0xd5, 0x4b, 0xa5, 0x6a, 0x8d, 0x1d, 0xce, 0xf3, 0x3e, 0xc0, 0x5f, 0x9c, 0x66, 0x1b, 0xb4, 0xed}}
return a, nil
}
@ -322,7 +323,7 @@ func _1595865249_create_emoji_reactions_tableUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1595865249_create_emoji_reactions_table.up.sql", size: 300, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3e, 0xc5, 0x43, 0x5c, 0x3d, 0x53, 0x43, 0x2c, 0x1a, 0xa5, 0xb6, 0xbf, 0x7, 0x4, 0x5a, 0x3e, 0x40, 0x8b, 0xa4, 0x57, 0x12, 0x58, 0xbc, 0x42, 0xe2, 0xc3, 0xde, 0x76, 0x98, 0x80, 0xe2, 0xbe}}
return a, nil
}
@ -342,7 +343,7 @@ func _1596805115_create_group_chat_invitations_tableUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1596805115_create_group_chat_invitations_table.up.sql", size: 231, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6d, 0xb1, 0x14, 0x6d, 0x54, 0x28, 0x67, 0xc3, 0x23, 0x6a, 0xfc, 0x80, 0xdf, 0x9e, 0x4c, 0x35, 0x36, 0xf, 0xf8, 0xf3, 0x5f, 0xae, 0xad, 0xb, 0xc1, 0x51, 0x8e, 0x17, 0x7, 0xe5, 0x7f, 0x91}}
return a, nil
}
@ -362,7 +363,7 @@ func _1597322655_add_invitation_admin_chat_fieldUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1597322655_add_invitation_admin_chat_field.up.sql", size: 54, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0x7a, 0xa0, 0xf2, 0xdb, 0x13, 0x91, 0x91, 0xa8, 0x34, 0x1a, 0xa1, 0x49, 0x68, 0xd5, 0xae, 0x2c, 0xd8, 0xd5, 0xea, 0x8f, 0x8c, 0xc7, 0x2, 0x4e, 0x58, 0x2c, 0x3a, 0x14, 0xd4, 0x4f, 0x2c}}
return a, nil
}
@ -382,7 +383,7 @@ func _1597757544_add_nicknameUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1597757544_add_nickname.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf4, 0xa2, 0x64, 0x50, 0xc5, 0x4, 0xb9, 0x8b, 0xd1, 0x18, 0x9b, 0xc3, 0x91, 0x36, 0x2a, 0x1f, 0xc3, 0x6c, 0x2d, 0x92, 0xf8, 0x5e, 0xff, 0xb1, 0x59, 0x61, 0x2, 0x1c, 0xe1, 0x85, 0x90, 0xa4}}
return a, nil
}
@ -402,7 +403,7 @@ func _1598955122_add_mentionsUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1598955122_add_mentions.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8d, 0x22, 0x17, 0x92, 0xd2, 0x11, 0x4e, 0x7, 0x93, 0x9a, 0x55, 0xfd, 0xb, 0x97, 0xc4, 0x63, 0x6a, 0x81, 0x97, 0xcd, 0xb2, 0xf8, 0x4b, 0x5f, 0x3c, 0xfa, 0x3a, 0x38, 0x53, 0x10, 0xed, 0x9d}}
return a, nil
}
@ -422,7 +423,7 @@ func _1599641390_add_emoji_reactions_indexUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1599641390_add_emoji_reactions_index.up.sql", size: 126, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0xd8, 0xdc, 0xa7, 0xb, 0x92, 0x7a, 0x61, 0x37, 0x24, 0x1c, 0x77, 0x5e, 0xe, 0x7e, 0xfc, 0x9f, 0x98, 0x7b, 0x65, 0xe7, 0xf9, 0x71, 0x57, 0x89, 0x2d, 0x90, 0x1b, 0xf6, 0x5e, 0x37, 0xe8}}
return a, nil
}
@ -442,7 +443,7 @@ func _1599720851_add_seen_index_remove_long_messagesUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1599720851_add_seen_index_remove_long_messages.up.sql", size: 150, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x24, 0x1c, 0xc4, 0x78, 0x91, 0xc7, 0xeb, 0xfe, 0xc8, 0xa0, 0xd8, 0x13, 0x27, 0x97, 0xc8, 0x96, 0x56, 0x97, 0x33, 0x2c, 0x1e, 0x16, 0x8a, 0xd3, 0x49, 0x99, 0x3, 0xe9, 0xbb, 0xc4, 0x5, 0x3c}}
return a, nil
}
@ -462,7 +463,7 @@ func _1603198582_add_profile_chat_fieldUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1603198582_add_profile_chat_field.up.sql", size: 45, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0xca, 0xe, 0x46, 0xa0, 0x9, 0x9d, 0x47, 0x57, 0xe9, 0xfb, 0x17, 0xeb, 0x9c, 0xf6, 0xb8, 0x1d, 0xe9, 0xd, 0x0, 0xd5, 0xe5, 0xd8, 0x9e, 0x60, 0xa, 0xbf, 0x32, 0x2c, 0x52, 0x7f, 0x6a}}
return a, nil
}
@ -482,7 +483,7 @@ func _1603816533_add_linksUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "1603816533_add_links.up.sql", size: 48, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc9, 0x24, 0xd6, 0x1d, 0xa, 0x83, 0x1e, 0x4d, 0xf, 0xae, 0x4d, 0x8c, 0x51, 0x32, 0xa8, 0x37, 0xb0, 0x14, 0xfb, 0x32, 0x34, 0xc8, 0xc, 0x4e, 0x5b, 0xc5, 0x15, 0x65, 0x73, 0x0, 0x0, 0x1d}}
return a, nil
}
@ -502,7 +503,7 @@ func _1603888149_create_chat_identity_last_published_tableUpSql() (*asset, error
return nil, err
}
info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0644), modTime: time.Unix(1608652331, 0)}
info := bindataFileInfo{name: "1603888149_create_chat_identity_last_published_table.up.sql", size: 407, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7f, 0x9, 0xf, 0xfb, 0xdb, 0x3c, 0x86, 0x70, 0x82, 0xda, 0x10, 0x25, 0xe2, 0x4e, 0x40, 0x45, 0xab, 0x8b, 0x1c, 0x91, 0x7c, 0xf1, 0x70, 0x2e, 0x81, 0xf3, 0x71, 0x45, 0xda, 0xe2, 0xa4, 0x57}}
return a, nil
}
@ -522,7 +523,7 @@ func _1605075346_add_communitiesUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0644), modTime: time.Unix(1610388501, 0)}
info := bindataFileInfo{name: "1605075346_add_communities.up.sql", size: 6971, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1f, 0x64, 0xea, 0xb4, 0xae, 0x9e, 0xdb, 0x9, 0x58, 0xb6, 0x5c, 0x7a, 0x50, 0xc5, 0xfe, 0x93, 0x5d, 0x36, 0x85, 0x5d, 0x6a, 0xba, 0xc9, 0x7e, 0x84, 0xd7, 0xbf, 0x2a, 0x53, 0xf3, 0x97, 0xf1}}
return a, nil
}
@ -542,7 +543,7 @@ func _1610117927_add_message_cacheUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0644), modTime: time.Unix(1611563400, 0)}
info := bindataFileInfo{name: "1610117927_add_message_cache.up.sql", size: 142, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0xf1, 0xf0, 0x82, 0x79, 0x28, 0x19, 0xc2, 0x39, 0x6a, 0xa5, 0x96, 0x59, 0x23, 0xa0, 0xed, 0x60, 0x58, 0x86, 0x9, 0xb9, 0xad, 0xfb, 0xa, 0xe3, 0x47, 0x6e, 0xa1, 0x18, 0xe8, 0x39, 0x2c}}
return a, nil
}
@ -562,7 +563,7 @@ func _1610959908_add_dont_wrap_to_raw_messagesUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0644), modTime: time.Unix(1611825589, 0)}
info := bindataFileInfo{name: "1610959908_add_dont_wrap_to_raw_messages.up.sql", size: 83, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0x2, 0x9a, 0xca, 0xd4, 0x38, 0x44, 0x30, 0x2b, 0xa8, 0x27, 0x32, 0x63, 0x53, 0x22, 0x60, 0x59, 0x84, 0x23, 0x96, 0x77, 0xf0, 0x56, 0xd7, 0x94, 0xe0, 0x95, 0x28, 0x6, 0x1d, 0x4e, 0xb1}}
return a, nil
}
@ -582,7 +583,7 @@ func _1610960912_add_send_on_personal_topicUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1611825589, 0)}
info := bindataFileInfo{name: "1610960912_add_send_on_personal_topic.up.sql", size: 82, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x77, 0xac, 0x2f, 0xc4, 0xd, 0xa7, 0x1b, 0x37, 0x30, 0xc2, 0x68, 0xee, 0xde, 0x54, 0x5e, 0xbf, 0x3f, 0xa0, 0xd6, 0xc6, 0x9f, 0xd4, 0x34, 0x12, 0x76, 0x1e, 0x66, 0x4a, 0xfc, 0xf, 0xee, 0xc9}}
return a, nil
}
@ -602,7 +603,7 @@ func _1612870480_add_datasync_idUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0644), modTime: time.Unix(1614251236, 0)}
info := bindataFileInfo{name: "1612870480_add_datasync_id.up.sql", size: 111, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x34, 0x9a, 0xbc, 0xfa, 0xaa, 0x8c, 0x9c, 0x37, 0x67, 0x15, 0x9c, 0x7e, 0x78, 0x75, 0x66, 0x82, 0x18, 0x72, 0x10, 0xbc, 0xd4, 0xab, 0x44, 0xfe, 0x57, 0x85, 0x6d, 0x19, 0xf5, 0x96, 0x8a, 0xbe}}
return a, nil
}
@ -622,7 +623,7 @@ func _1614152139_add_communities_request_to_joinUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0644), modTime: time.Unix(1614608661, 0)}
info := bindataFileInfo{name: "1614152139_add_communities_request_to_join.up.sql", size: 831, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x11, 0x3, 0x26, 0xf9, 0x29, 0x50, 0x4f, 0xcd, 0x46, 0xe5, 0xb1, 0x6b, 0xb9, 0x2, 0x40, 0xb1, 0xdf, 0x4a, 0x4c, 0x7a, 0xda, 0x3, 0x35, 0xcd, 0x2d, 0xcc, 0x80, 0x7d, 0x57, 0x5f, 0x3, 0x5c}}
return a, nil
}
@ -642,7 +643,7 @@ func _1615374373_add_confirmationsUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0644), modTime: time.Unix(1615904318, 0)}
info := bindataFileInfo{name: "1615374373_add_confirmations.up.sql", size: 227, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdd, 0xa6, 0x65, 0xc5, 0x1d, 0xb2, 0x77, 0x36, 0xe3, 0x79, 0xda, 0xe8, 0x7a, 0xa4, 0xdf, 0x45, 0xae, 0xd8, 0xb4, 0xba, 0x90, 0xfd, 0x74, 0x71, 0x14, 0x75, 0x73, 0x72, 0xb9, 0x9e, 0x1, 0x81}}
return a, nil
}
@ -662,7 +663,7 @@ func _1617694931_add_notification_centerUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0644), modTime: time.Unix(1618824585, 0)}
info := bindataFileInfo{name: "1617694931_add_notification_center.up.sql", size: 572, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x45, 0xc6, 0xc9, 0x73, 0xbb, 0x1f, 0xda, 0xa3, 0x4d, 0x19, 0x98, 0x85, 0x2d, 0xca, 0xda, 0xcc, 0x3b, 0x32, 0xff, 0xc7, 0x7b, 0xe3, 0x9f, 0x9b, 0x2a, 0x93, 0xf5, 0xdf, 0x65, 0x38, 0x91}}
return a, nil
}
@ -682,7 +683,7 @@ func _1618923660_create_pin_messagesUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0644), modTime: time.Unix(1621413223, 0)}
info := bindataFileInfo{name: "1618923660_create_pin_messages.up.sql", size: 265, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x61, 0x44, 0x3a, 0xbe, 0x30, 0xd2, 0x7e, 0xc0, 0xe2, 0x8e, 0x65, 0x53, 0x54, 0xbb, 0x7a, 0x1c, 0xb3, 0x5d, 0xd2, 0xa6, 0xa9, 0x28, 0xb7, 0xa4, 0x5f, 0x8b, 0x9, 0x5f, 0x17, 0xc1, 0x85, 0x21}}
return a, nil
}
@ -702,7 +703,7 @@ func _1619094007_add_joined_chat_fieldUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0644), modTime: time.Unix(1621413223, 0)}
info := bindataFileInfo{name: "1619094007_add_joined_chat_field.up.sql", size: 101, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xfa, 0x30, 0x81, 0x3a, 0x2f, 0x9f, 0xb3, 0x0, 0x55, 0x8e, 0x1d, 0xa8, 0xb0, 0x68, 0xf0, 0x40, 0x1a, 0x6c, 0xaa, 0xfc, 0x33, 0xd1, 0xd1, 0x55, 0x3f, 0xf2, 0xbd, 0x54, 0xa1, 0x2b, 0x40, 0x95}}
return a, nil
}
@ -722,7 +723,7 @@ func _1619099821_add_last_synced_fieldUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0644), modTime: time.Unix(1621576592, 0)}
info := bindataFileInfo{name: "1619099821_add_last_synced_field.up.sql", size: 226, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf, 0x52, 0x22, 0xe, 0x2f, 0xd7, 0x93, 0x5f, 0x42, 0xc2, 0x93, 0x4, 0x35, 0x6f, 0xc9, 0x19, 0xed, 0x6b, 0x52, 0x6f, 0xae, 0x99, 0xe2, 0x68, 0x3d, 0x4f, 0x40, 0xe, 0xe1, 0xa, 0x47, 0x21}}
return a, nil
}
@ -742,7 +743,7 @@ func _1621933219_add_mentionedUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0644), modTime: time.Unix(1623420243, 0)}
info := bindataFileInfo{name: "1621933219_add_mentioned.up.sql", size: 70, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x76, 0x8a, 0xc9, 0x7, 0x8f, 0xa5, 0xcb, 0x12, 0x21, 0x4e, 0xfe, 0x96, 0x77, 0xcf, 0x7f, 0x76, 0x75, 0x36, 0x2c, 0xf8, 0x1d, 0x13, 0xcb, 0xcd, 0x6e, 0x70, 0xbf, 0xf5, 0x93, 0x67, 0xd1}}
return a, nil
}
@ -762,7 +763,7 @@ func _1622010048_add_unviewed_mentions_countUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0644), modTime: time.Unix(1623420243, 0)}
info := bindataFileInfo{name: "1622010048_add_unviewed_mentions_count.up.sql", size: 114, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7c, 0x16, 0x85, 0xa6, 0x5b, 0xe1, 0x66, 0xb9, 0x84, 0xbe, 0x7f, 0xa, 0x77, 0x23, 0xb9, 0xef, 0x8e, 0x2, 0x8, 0xfc, 0x61, 0xb2, 0x43, 0xa9, 0x63, 0xae, 0xb4, 0xdf, 0x30, 0xb1, 0x61, 0x4b}}
return a, nil
}
@ -782,7 +783,7 @@ func _1622061278_add_message_activity_center_notification_fieldUpSql() (*asset,
return nil, err
}
info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1623420243, 0)}
info := bindataFileInfo{name: "1622061278_add_message_activity_center_notification_field.up.sql", size: 80, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x8, 0xc, 0xa6, 0x1f, 0xa5, 0xc6, 0x7c, 0x6f, 0xab, 0x2c, 0x2d, 0xb5, 0xa4, 0xdd, 0xc1, 0xd6, 0x44, 0x83, 0xf9, 0xb1, 0xa5, 0xce, 0x34, 0x3d, 0x2, 0xa9, 0x35, 0xcf, 0xc6, 0xb2, 0x43, 0x37}}
return a, nil
}
@ -802,7 +803,7 @@ func _1622464518_set_synced_to_fromUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0644), modTime: time.Unix(1623420243, 0)}
info := bindataFileInfo{name: "1622464518_set_synced_to_from.up.sql", size: 105, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x33, 0x3e, 0x2b, 0xa, 0x1e, 0xc7, 0x6d, 0x6f, 0xd1, 0x1d, 0xe8, 0x4b, 0xdd, 0x92, 0x76, 0xea, 0xf2, 0x3e, 0x15, 0x85, 0xc4, 0xc3, 0x31, 0xf1, 0xc0, 0xa2, 0xd7, 0x47, 0xde, 0x4e, 0xfd, 0xc6}}
return a, nil
}
@ -822,7 +823,7 @@ func _1622464519_add_chat_descriptionUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0644), modTime: time.Unix(1623420243, 0)}
info := bindataFileInfo{name: "1622464519_add_chat_description.up.sql", size: 93, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0x2e, 0x89, 0x31, 0xec, 0xef, 0xeb, 0x43, 0xf5, 0x96, 0x6d, 0xce, 0x91, 0x8a, 0x37, 0x2a, 0x11, 0x7a, 0x3f, 0xd9, 0x10, 0xbb, 0xa1, 0xbc, 0x7, 0xe0, 0x3b, 0xa5, 0xf4, 0xa6, 0xf4, 0xa1}}
return a, nil
}
@ -842,7 +843,7 @@ func _1622622253_add_pinned_by_to_pin_messagesUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1623420243, 0)}
info := bindataFileInfo{name: "1622622253_add_pinned_by_to_pin_messages.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0x94, 0xa3, 0x45, 0x91, 0x1e, 0x66, 0xd1, 0x96, 0x5a, 0xaf, 0xfa, 0x29, 0x39, 0xa8, 0x3a, 0x97, 0x4c, 0x65, 0x6, 0x96, 0x90, 0x4c, 0xfe, 0xce, 0x7d, 0x5d, 0xd4, 0xb3, 0x8, 0x6d, 0x5f}}
return a, nil
}
@ -862,7 +863,7 @@ func _1623938329_add_author_activity_center_notification_fieldUpSql() (*asset, e
return nil, err
}
info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0644), modTime: time.Unix(1624017080, 0)}
info := bindataFileInfo{name: "1623938329_add_author_activity_center_notification_field.up.sql", size: 66, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x36, 0xe6, 0xa7, 0xd5, 0x26, 0xff, 0xab, 0x92, 0x88, 0xf0, 0xd3, 0x34, 0xd9, 0x2f, 0xe7, 0x18, 0x1a, 0x40, 0xf9, 0xbe, 0x8e, 0xfc, 0xd0, 0x4f, 0x1f, 0x4a, 0xb9, 0x83, 0x3f, 0xa9, 0xde, 0xb}}
return a, nil
}
@ -882,7 +883,7 @@ func _1623938330_add_edit_messagesUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0644), modTime: time.Unix(1628358694, 0)}
info := bindataFileInfo{name: "1623938330_add_edit_messages.up.sql", size: 369, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x7e, 0xd2, 0xce, 0xe, 0x5c, 0x19, 0xbe, 0x5e, 0x29, 0xbe, 0x9b, 0x31, 0x53, 0x76, 0xb2, 0xc8, 0x56, 0xf0, 0x82, 0xfe, 0x7d, 0x6c, 0xe8, 0x5c, 0xe9, 0x7a, 0x5d, 0x5, 0xc4, 0x92, 0x38, 0xe3}}
return a, nil
}
@ -902,7 +903,7 @@ func _1624978434_add_muted_communityUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0644), modTime: time.Unix(1628358694, 0)}
info := bindataFileInfo{name: "1624978434_add_muted_community.up.sql", size: 82, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6, 0xdc, 0x6e, 0x6f, 0x97, 0xc7, 0x3d, 0x50, 0xab, 0x80, 0x87, 0x44, 0x43, 0x38, 0xe6, 0xc5, 0xc1, 0x91, 0x26, 0xf, 0x16, 0xe, 0xd9, 0x32, 0x37, 0x25, 0x96, 0x25, 0x6, 0xc8, 0xb5, 0x4a}}
return a, nil
}
@ -922,7 +923,7 @@ func _1625018910_add_repply_message_activity_center_notification_fieldUpSql() (*
return nil, err
}
info := bindataFileInfo{name: "1625018910_add_repply_message_activity_center_notification_field.up.sql", size: 86, mode: os.FileMode(0644), modTime: time.Unix(1628358694, 0)}
info := bindataFileInfo{name: "1625018910_add_repply_message_activity_center_notification_field.up.sql", size: 86, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf2, 0x52, 0x12, 0x40, 0xd8, 0x6f, 0x71, 0x97, 0x46, 0x39, 0xaa, 0x74, 0x41, 0xcd, 0x45, 0x4c, 0xe8, 0xd9, 0xe2, 0x56, 0x8e, 0x78, 0x18, 0x62, 0xf6, 0xa8, 0x36, 0xe9, 0x9a, 0x1f, 0xc, 0xb1}}
return a, nil
}
@ -942,7 +943,7 @@ func _1625762506_add_deleted_messagesUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0644), modTime: time.Unix(1628358701, 0)}
info := bindataFileInfo{name: "1625762506_add_deleted_messages.up.sql", size: 357, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd5, 0x61, 0x42, 0xb6, 0x8c, 0x7f, 0x2d, 0xec, 0xa9, 0x6d, 0x3d, 0x0, 0xa3, 0x32, 0xd8, 0x4a, 0x38, 0x5c, 0x97, 0xfc, 0x68, 0xde, 0xa9, 0xb7, 0xd8, 0xde, 0xb, 0x29, 0x93, 0xdc, 0x81, 0xf8}}
return a, nil
}
@ -962,7 +963,7 @@ func _1627388946_add_communities_synced_atUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0644), modTime: time.Unix(1628358701, 0)}
info := bindataFileInfo{name: "1627388946_add_communities_synced_at.up.sql", size: 87, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc1, 0xbd, 0x9b, 0x6a, 0xc9, 0x1a, 0x7a, 0x34, 0xcf, 0x5f, 0x80, 0x9e, 0x8c, 0x1c, 0xc0, 0xec, 0x4e, 0x78, 0xb0, 0x2d, 0x15, 0x77, 0x38, 0x4a, 0x6a, 0x5, 0x84, 0xf5, 0x8d, 0x8b, 0xbe, 0x9}}
return a, nil
}
@ -982,7 +983,7 @@ func _1628280060_createUsermessagesIndexSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0644), modTime: time.Unix(1628783235, 0)}
info := bindataFileInfo{name: "1628280060_create-usermessages-index.sql", size: 80, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x10, 0x6f, 0x70, 0x47, 0x40, 0xab, 0xa8, 0x60, 0xe0, 0xf9, 0x8, 0x7e, 0x19, 0x9d, 0xba, 0x33, 0x16, 0xfc, 0x3c, 0xdc, 0xa8, 0xa6, 0x53, 0x61, 0x39, 0x82, 0x91, 0xcf, 0x69, 0xd8, 0xf2, 0xcf}}
return a, nil
}
@ -1002,7 +1003,7 @@ func _1632303896_modify_contacts_tableUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0644), modTime: time.Unix(1633515512, 0)}
info := bindataFileInfo{name: "1632303896_modify_contacts_table.up.sql", size: 1574, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x81, 0x1e, 0x6c, 0x3c, 0xd, 0xd7, 0x7d, 0xbb, 0x19, 0xbc, 0xe4, 0x7, 0xfd, 0xf8, 0x66, 0x6d, 0x78, 0xf6, 0x4, 0xe6, 0x51, 0xe4, 0xe6, 0xdc, 0xe, 0x5a, 0x2e, 0xac, 0xe6, 0xe7, 0x24, 0x69}}
return a, nil
}
@ -1022,7 +1023,7 @@ func _1633349838_add_emoji_column_in_chatsUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0644), modTime: time.Unix(1633515512, 0)}
info := bindataFileInfo{name: "1633349838_add_emoji_column_in_chats.up.sql", size: 52, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xcb, 0x33, 0xcb, 0x3b, 0xa9, 0x99, 0x77, 0x6a, 0xea, 0xc4, 0x39, 0xd7, 0xa1, 0x49, 0xa7, 0xdf, 0xff, 0x72, 0xda, 0x34, 0x21, 0x67, 0x66, 0xca, 0x65, 0x46, 0x1, 0xa6, 0x4e, 0xf9, 0x38, 0x86}}
return a, nil
}
@ -1042,7 +1043,7 @@ func _1634831235_add_highlight_column_in_chatsUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0644), modTime: time.Unix(1635162188, 0)}
info := bindataFileInfo{name: "1634831235_add_highlight_column_in_chats.up.sql", size: 62, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0x63, 0x5c, 0x73, 0x19, 0x83, 0xbd, 0x35, 0x80, 0x9f, 0x66, 0xec, 0x4c, 0xbc, 0x9d, 0x2d, 0x52, 0x91, 0x6d, 0xb3, 0x2b, 0x87, 0xde, 0x24, 0x46, 0x5c, 0xd, 0xfd, 0x78, 0xf5, 0xe3, 0xe9}}
return a, nil
}
@ -1062,7 +1063,7 @@ func _1634896007_add_last_updated_locally_and_removedUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0644), modTime: time.Unix(1637051072, 0)}
info := bindataFileInfo{name: "1634896007_add_last_updated_locally_and_removed.up.sql", size: 131, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2e, 0xa8, 0x34, 0xe2, 0xc0, 0x62, 0xc8, 0xd6, 0x5a, 0x87, 0xe3, 0x70, 0xe1, 0xc4, 0x16, 0x9c, 0x60, 0x2e, 0x98, 0xf0, 0x91, 0x84, 0xbe, 0xe0, 0xdf, 0x3e, 0x4d, 0x24, 0xc4, 0x6c, 0x40, 0x17}}
return a, nil
}
@ -1082,7 +1083,7 @@ func _1635840039_add_clock_read_at_column_in_chatsUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1635840039_add_clock_read_at_column_in_chats.up.sql", size: 245, mode: os.FileMode(0644), modTime: time.Unix(1636362489, 0)}
info := bindataFileInfo{name: "1635840039_add_clock_read_at_column_in_chats.up.sql", size: 245, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x6c, 0xba, 0x3f, 0xba, 0x1a, 0x71, 0xa8, 0x9, 0x19, 0xbe, 0x1e, 0x38, 0x50, 0x30, 0x3a, 0x52, 0x15, 0x29, 0xee, 0x49, 0x19, 0x6f, 0x53, 0xc2, 0xc6, 0x6c, 0xd9, 0x80, 0x7e, 0xb9, 0x58, 0x7a}}
return a, nil
}
@ -1102,7 +1103,7 @@ func _1637852321_add_received_invitation_admin_column_in_chatsUpSql() (*asset, e
return nil, err
}
info := bindataFileInfo{name: "1637852321_add_received_invitation_admin_column_in_chats.up.sql", size: 72, mode: os.FileMode(0644), modTime: time.Unix(1638003948, 0)}
info := bindataFileInfo{name: "1637852321_add_received_invitation_admin_column_in_chats.up.sql", size: 72, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x70, 0x8b, 0x92, 0x56, 0x83, 0x70, 0x7f, 0x6, 0xb2, 0xd, 0x1c, 0x2f, 0xcc, 0x93, 0xc3, 0x85, 0x8c, 0xc2, 0x38, 0x94, 0x7e, 0x88, 0x3f, 0x39, 0x34, 0xf8, 0x90, 0xcf, 0x83, 0x68, 0x3d, 0xe5}}
return a, nil
}
@ -1122,7 +1123,7 @@ func _1645034601_display_nameUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0644), modTime: time.Unix(1649237052, 0)}
info := bindataFileInfo{name: "1645034601_display_name.up.sql", size: 110, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x15, 0xfc, 0xda, 0x70, 0x53, 0x19, 0x90, 0x20, 0x4, 0x1c, 0x99, 0x42, 0x53, 0x1a, 0xd6, 0xb8, 0xbb, 0x8a, 0xe8, 0xbe, 0xcc, 0xb7, 0xc, 0x7f, 0x73, 0x50, 0x18, 0xf1, 0x8b, 0x18, 0x54, 0x64}}
return a, nil
}
@ -1142,7 +1143,7 @@ func _1645034602_add_mutual_contact_requestUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0644), modTime: time.Unix(1659358463, 0)}
info := bindataFileInfo{name: "1645034602_add_mutual_contact_request.up.sql", size: 454, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1a, 0xe0, 0x5d, 0x68, 0xb8, 0x50, 0xa4, 0xbb, 0x3e, 0x4f, 0x2, 0x87, 0xad, 0x87, 0x6e, 0x38, 0xdf, 0xc8, 0x4c, 0xe2, 0x5f, 0xd1, 0x6, 0xdc, 0xe7, 0xbd, 0x4a, 0x9c, 0xf3, 0x91, 0xa1, 0x51}}
return a, nil
}
@ -1162,7 +1163,7 @@ func _1650373957_add_contact_request_stateUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0644), modTime: time.Unix(1659358463, 0)}
info := bindataFileInfo{name: "1650373957_add_contact_request_state.up.sql", size: 59, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x5e, 0xc1, 0x3f, 0x29, 0xe, 0x19, 0x86, 0x1a, 0x4c, 0x6c, 0x2a, 0x90, 0x9d, 0xdf, 0xb1, 0xb, 0x72, 0x25, 0xcd, 0x6c, 0x5f, 0xd, 0x51, 0x9e, 0x85, 0xc0, 0x9, 0xb7, 0xbc, 0x87, 0x23, 0xec}}
return a, nil
}
@ -1182,7 +1183,7 @@ func _1656958989_contact_verificationUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0644), modTime: time.Unix(1659358463, 0)}
info := bindataFileInfo{name: "1656958989_contact_verification.up.sql", size: 624, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0x3f, 0x28, 0x38, 0x33, 0xdb, 0xe9, 0x4d, 0xc0, 0x54, 0x8c, 0x2a, 0x73, 0xc4, 0xdd, 0x5c, 0xc5, 0x1a, 0x93, 0x4b, 0x6, 0x13, 0xbe, 0x42, 0xd2, 0x7f, 0xd4, 0xc, 0xc5, 0x4e, 0x6d, 0xce}}
return a, nil
}
@ -1202,7 +1203,7 @@ func _1658236268_add_discord_message_authors_tableUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1658236268_add_discord_message_authors_table.up.sql", size: 191, mode: os.FileMode(0644), modTime: time.Unix(1660209377, 0)}
info := bindataFileInfo{name: "1658236268_add_discord_message_authors_table.up.sql", size: 191, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3d, 0xb7, 0xdb, 0x79, 0x1, 0x15, 0xe7, 0x76, 0x5d, 0x22, 0x54, 0x82, 0x9a, 0xbe, 0x24, 0xc1, 0x82, 0xcf, 0x67, 0x91, 0x53, 0xcc, 0xac, 0x74, 0x18, 0x61, 0x69, 0x68, 0x19, 0xca, 0x2b, 0xa8}}
return a, nil
}
@ -1222,7 +1223,7 @@ func _1659619997_add_discord_messages_tableUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1659619997_add_discord_messages_table.up.sql", size: 371, mode: os.FileMode(0644), modTime: time.Unix(1660209377, 0)}
info := bindataFileInfo{name: "1659619997_add_discord_messages_table.up.sql", size: 371, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xde, 0x12, 0x9c, 0x96, 0xe2, 0x42, 0x3f, 0x94, 0x62, 0xc2, 0x76, 0xab, 0x3b, 0x4c, 0x85, 0x36, 0x48, 0xcc, 0x73, 0x60, 0x93, 0x5a, 0xd6, 0x7, 0xd6, 0x0, 0xee, 0x1b, 0x1e, 0x34, 0x58, 0x99}}
return a, nil
}
@ -1242,7 +1243,7 @@ func _1660226788_create_chat_identity_social_linksUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1660226788_create_chat_identity_social_links.up.sql", size: 318, mode: os.FileMode(0644), modTime: time.Unix(1660836709, 0)}
info := bindataFileInfo{name: "1660226788_create_chat_identity_social_links.up.sql", size: 318, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3c, 0x76, 0x40, 0xe9, 0x85, 0xc4, 0x38, 0xf8, 0xe5, 0x5d, 0xe8, 0x13, 0x46, 0x1b, 0xc, 0x1, 0xe9, 0x2f, 0x74, 0xd1, 0x79, 0x59, 0xa4, 0xdb, 0x4a, 0x4a, 0xf4, 0x98, 0x58, 0x3c, 0x57, 0xd3}}
return a, nil
}
@ -1262,11 +1263,31 @@ func _1660226789_add_walletconnectsessions_tableUpSql() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "1660226789_add_walletconnectsessions_table.up.sql", size: 215, mode: os.FileMode(0644), modTime: time.Unix(1661179580, 0)}
info := bindataFileInfo{name: "1660226789_add_walletconnectsessions_table.up.sql", size: 215, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf8, 0x5c, 0x72, 0x2, 0xed, 0x36, 0x19, 0x91, 0x4d, 0x1a, 0xc1, 0xab, 0x84, 0xfa, 0x41, 0xb1, 0x46, 0xa5, 0xdb, 0x3f, 0x76, 0x47, 0xd3, 0x75, 0x3c, 0x6a, 0x8e, 0x78, 0xe6, 0x41, 0xdc, 0x7f}}
return a, nil
}
var __1661242854_add_communities_requests_to_leaveUpSql = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x6c\x8d\xb1\xce\x82\x30\x18\x45\xf7\x3e\xc5\x1d\x21\xf9\xdf\xe0\x9f\x4a\xf3\x11\x1b\x6b\x4b\x4a\x35\x32\x35\x5a\x3a\x34\x80\xa8\x80\x09\x6f\x6f\x62\x5c\x48\x5c\xef\xcd\x39\x47\x58\xe2\x8e\xe0\x78\xa1\x08\xb2\x84\x36\x0e\x74\x96\xb5\xab\x11\xc6\x61\x58\x6e\x69\x4e\x71\xf2\xcf\xf8\x58\xe2\x34\x4f\x7e\x1e\x7d\x1f\x2f\xaf\x88\x8c\x01\xa9\x45\xa1\x4c\xf1\x81\xf4\x51\xa9\x3f\x06\xdc\x97\x6b\x9f\x82\xef\xe2\x8a\x13\xb7\x62\xc7\xed\xe6\x0e\xfd\x18\x3a\x48\xed\xb6\xeb\x37\xb5\xfa\x5f\xca\xca\xca\x03\xb7\x0d\xf6\xd4\x20\x4b\x6d\x0e\xa3\x21\x8c\x2e\x95\x14\x0e\x96\x2a\xc5\x05\xb1\xfc\x9f\xbd\x03\x00\x00\xff\xff\xc1\xbf\x3e\x0f\xcc\x00\x00\x00")
func _1661242854_add_communities_requests_to_leaveUpSqlBytes() ([]byte, error) {
return bindataRead(
__1661242854_add_communities_requests_to_leaveUpSql,
"1661242854_add_communities_requests_to_leave.up.sql",
)
}
func _1661242854_add_communities_requests_to_leaveUpSql() (*asset, error) {
bytes, err := _1661242854_add_communities_requests_to_leaveUpSqlBytes()
if err != nil {
return nil, err
}
info := bindataFileInfo{name: "1661242854_add_communities_requests_to_leave.up.sql", size: 204, mode: os.FileMode(0664), modTime: time.Unix(1661496536, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x49, 0x2e, 0x7d, 0x14, 0xef, 0x6e, 0x95, 0x4b, 0x6, 0x70, 0x2e, 0xd1, 0xf6, 0x59, 0xf9, 0xe, 0x56, 0xa, 0x9c, 0x80, 0x18, 0xca, 0xb9, 0x49, 0x19, 0xf, 0x89, 0x94, 0x36, 0x6d, 0x93, 0x9a}}
return a, nil
}
var _readmeMd = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x91\xc1\xce\xd3\x30\x10\x84\xef\x7e\x8a\x91\x7a\x01\xa9\x2a\x8f\xc0\x0d\x71\x82\x03\x48\x1c\xc9\x36\x9e\x36\x96\x1c\x6f\xf0\xae\x93\xe6\xed\x91\xa3\xc2\xdf\xff\x66\xed\xd8\x33\xdf\x78\x4f\xa7\x13\xbe\xea\x06\x57\x6c\x35\x39\x31\xa7\x7b\x15\x4f\x5a\xec\x73\x08\xbf\x08\x2d\x79\x7f\x4a\x43\x5b\x86\x17\xfd\x8c\x21\xea\x56\x5e\x47\x90\x4a\x14\x75\x48\xde\x64\x37\x2c\x6a\x96\xae\x99\x48\x05\xf6\x27\x77\x13\xad\x08\xae\x8a\x51\xe7\x25\xf3\xf1\xa9\x9f\xf9\x58\x58\x2c\xad\xbc\xe0\x8b\x56\xf0\x21\x5d\xeb\x4c\x95\xb3\xae\x84\x60\xd4\xdc\xe6\x82\x5d\x1b\x36\x6d\x39\x62\x92\xf5\xb8\x11\xdb\x92\xd3\x28\xce\xe0\x13\xe1\x72\xcd\x3c\x63\xd4\x65\x87\xae\xac\xe8\xc3\x28\x2e\x67\x44\x66\x3a\x21\x25\xa2\x72\xac\x14\x67\xbc\x84\x9f\x53\x32\x8c\x52\x70\x25\x56\xd6\xfd\x8d\x05\x37\xad\x30\x9d\x9f\xa6\x86\x0f\xcd\x58\x7f\xcf\x34\x93\x3b\xed\x90\x9f\xa4\x1f\xcf\x30\x85\x4d\x07\x58\xaf\x7f\x25\xc4\x9d\xf3\x72\x64\x84\xd0\x7f\xf9\x9b\x3a\x2d\x84\xef\x85\x48\x66\x8d\xd8\x88\x9b\x8c\x8c\x98\x5b\xf6\x74\x14\x4e\x33\x0d\xc9\xe0\x93\x38\xda\x12\xc5\x69\xbd\xe4\xf0\x2e\x7a\x78\x07\x1c\xfe\x13\x9f\x91\x29\x31\x95\x7b\x7f\x62\x59\x37\xb4\xe5\x5e\x25\xfe\x33\xee\xd5\x53\x71\xd6\xda\x3a\xd8\xcb\xde\x2e\xf8\xa1\x90\x55\x53\x0c\xc7\xaa\x0d\xe9\x76\x14\x29\x1c\x7b\x68\xdd\x2f\xe1\x6f\x00\x00\x00\xff\xff\x3c\x0a\xc2\xfe\x2a\x02\x00\x00")
func readmeMdBytes() ([]byte, error) {
@ -1282,7 +1303,7 @@ func readmeMd() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0644), modTime: time.Unix(1610388501, 0)}
info := bindataFileInfo{name: "README.md", size: 554, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1c, 0x6e, 0xfb, 0xcc, 0x81, 0x94, 0x4d, 0x8c, 0xa0, 0x3b, 0x5, 0xb0, 0x18, 0xd6, 0xbb, 0xb3, 0x79, 0xc8, 0x8f, 0xff, 0xc1, 0x10, 0xf9, 0xf, 0x20, 0x1b, 0x4a, 0x74, 0x96, 0x42, 0xd7, 0xa8}}
return a, nil
}
@ -1302,7 +1323,7 @@ func docGo() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0644), modTime: time.Unix(1607354881, 0)}
info := bindataFileInfo{name: "doc.go", size: 850, mode: os.FileMode(0664), modTime: time.Unix(1661495993, 0)}
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa0, 0xcc, 0x41, 0xe1, 0x61, 0x12, 0x97, 0xe, 0x36, 0x8c, 0xa7, 0x9e, 0xe0, 0x6e, 0x59, 0x9e, 0xee, 0xd5, 0x4a, 0xcf, 0x1e, 0x60, 0xd6, 0xc3, 0x3a, 0xc9, 0x6c, 0xf2, 0x86, 0x5a, 0xb4, 0x1e}}
return a, nil
}
@ -1512,6 +1533,8 @@ var _bindata = map[string]func() (*asset, error){
"1660226789_add_walletconnectsessions_table.up.sql": _1660226789_add_walletconnectsessions_tableUpSql,
"1661242854_add_communities_requests_to_leave.up.sql": _1661242854_add_communities_requests_to_leaveUpSql,
"README.md": readmeMd,
"doc.go": docGo,
@ -1615,6 +1638,7 @@ var _bintree = &bintree{nil, map[string]*bintree{
"1659619997_add_discord_messages_table.up.sql": &bintree{_1659619997_add_discord_messages_tableUpSql, map[string]*bintree{}},
"1660226788_create_chat_identity_social_links.up.sql": &bintree{_1660226788_create_chat_identity_social_linksUpSql, map[string]*bintree{}},
"1660226789_add_walletconnectsessions_table.up.sql": &bintree{_1660226789_add_walletconnectsessions_tableUpSql, map[string]*bintree{}},
"1661242854_add_communities_requests_to_leave.up.sql": &bintree{_1661242854_add_communities_requests_to_leaveUpSql, map[string]*bintree{}},
"README.md": &bintree{readmeMd, map[string]*bintree{}},
"doc.go": &bintree{docGo, map[string]*bintree{}},
}}

View File

@ -0,0 +1,7 @@
CREATE TABLE IF NOT EXISTS communities_requests_to_leave (
id BLOB NOT NULL,
public_key VARCHAR NOT NULL,
clock INT NOT NULL,
community_id BLOB NOT NULL,
PRIMARY KEY (id) ON CONFLICT REPLACE
);

View File

@ -80,6 +80,7 @@ const (
ApplicationMetadataMessage_SYNC_VERIFICATION_REQUEST ApplicationMetadataMessage_Type = 54
ApplicationMetadataMessage_CONTACT_VERIFICATION_TRUSTED ApplicationMetadataMessage_Type = 55
ApplicationMetadataMessage_SYNC_CONTACT_REQUEST_DECISION ApplicationMetadataMessage_Type = 56
ApplicationMetadataMessage_COMMUNITY_REQUEST_TO_LEAVE ApplicationMetadataMessage_Type = 57
)
var ApplicationMetadataMessage_Type_name = map[int32]string{
@ -140,6 +141,7 @@ var ApplicationMetadataMessage_Type_name = map[int32]string{
54: "SYNC_VERIFICATION_REQUEST",
55: "CONTACT_VERIFICATION_TRUSTED",
56: "SYNC_CONTACT_REQUEST_DECISION",
57: "COMMUNITY_REQUEST_TO_LEAVE",
}
var ApplicationMetadataMessage_Type_value = map[string]int32{
@ -200,6 +202,7 @@ var ApplicationMetadataMessage_Type_value = map[string]int32{
"SYNC_VERIFICATION_REQUEST": 54,
"CONTACT_VERIFICATION_TRUSTED": 55,
"SYNC_CONTACT_REQUEST_DECISION": 56,
"COMMUNITY_REQUEST_TO_LEAVE": 57,
}
func (x ApplicationMetadataMessage_Type) String() string {
@ -278,60 +281,60 @@ func init() {
}
var fileDescriptor_ad09a6406fcf24c7 = []byte{
// 865 bytes of a gzipped FileDescriptorProto
// 874 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x55, 0x5b, 0x73, 0x13, 0x37,
0x14, 0x6e, 0x20, 0x4d, 0x40, 0xb9, 0xa0, 0x88, 0x5c, 0x9c, 0xbb, 0x31, 0x34, 0x04, 0x68, 0x4d,
0x0b, 0xbd, 0xcd, 0x74, 0xfa, 0x20, 0x4b, 0x27, 0xb6, 0xf0, 0xae, 0xb4, 0x48, 0x5a, 0x33, 0xee,
0x8b, 0x66, 0x29, 0x2e, 0x93, 0x19, 0x20, 0x1e, 0x62, 0x1e, 0xf2, 0x5b, 0xfb, 0x2b, 0xfa, 0x0f,
0x3a, 0xda, 0xab, 0x6f, 0x21, 0x4f, 0xf6, 0x9e, 0xef, 0xd3, 0x39, 0x3a, 0xdf, 0xf9, 0xce, 0x2e,
0x6a, 0x24, 0xc3, 0xe1, 0x87, 0xf3, 0xbf, 0x93, 0xd1, 0xf9, 0xc5, 0x27, 0xf7, 0x71, 0x30, 0x4a,
0xde, 0x25, 0xa3, 0xc4, 0x7d, 0x1c, 0x5c, 0x5e, 0x26, 0xef, 0x07, 0xcd, 0xe1, 0xe7, 0x8b, 0xd1,
0x05, 0xb9, 0x93, 0xfe, 0xbc, 0xfd, 0xf2, 0x4f, 0xe3, 0xbf, 0x35, 0xb4, 0x47, 0xab, 0x03, 0x61,
0xce, 0x0f, 0x33, 0x3a, 0x39, 0x40, 0x77, 0x2f, 0xcf, 0xdf, 0x7f, 0x4a, 0x46, 0x5f, 0x3e, 0x0f,
0x6a, 0x0b, 0xf5, 0x85, 0xd3, 0x55, 0x5d, 0x05, 0x48, 0x0d, 0x2d, 0x0f, 0x93, 0xab, 0x0f, 0x17,
0xc9, 0xbb, 0xda, 0xad, 0x14, 0x2b, 0x1e, 0xc9, 0x9f, 0x68, 0x71, 0x74, 0x35, 0x1c, 0xd4, 0x6e,
0xd7, 0x17, 0x4e, 0xd7, 0x5f, 0x3c, 0x69, 0x16, 0xf5, 0x9a, 0xd7, 0xd7, 0x6a, 0xda, 0xab, 0xe1,
0x40, 0xa7, 0xc7, 0x1a, 0xff, 0xae, 0xa2, 0x45, 0xff, 0x48, 0x56, 0xd0, 0x72, 0x2c, 0xbb, 0x52,
0xbd, 0x91, 0xf8, 0x1b, 0x82, 0xd1, 0x2a, 0xeb, 0x50, 0xeb, 0x42, 0x30, 0x86, 0xb6, 0x01, 0x2f,
0x10, 0x82, 0xd6, 0x99, 0x92, 0x96, 0x32, 0xeb, 0xe2, 0x88, 0x53, 0x0b, 0xf8, 0x16, 0x39, 0x44,
0xbb, 0x21, 0x84, 0x2d, 0xd0, 0xa6, 0x23, 0xa2, 0x3c, 0x5c, 0x1e, 0xb9, 0x4d, 0xb6, 0xd0, 0x46,
0x44, 0x85, 0x76, 0x42, 0x1a, 0x4b, 0x83, 0x80, 0x5a, 0xa1, 0x24, 0x5e, 0xf4, 0x61, 0xd3, 0x97,
0x6c, 0x32, 0xfc, 0x2d, 0x79, 0x88, 0x8e, 0x35, 0xbc, 0x8e, 0xc1, 0x58, 0x47, 0x39, 0xd7, 0x60,
0x8c, 0x3b, 0x53, 0xda, 0x59, 0x4d, 0xa5, 0xa1, 0x2c, 0x25, 0x2d, 0x91, 0xa7, 0xe8, 0x84, 0x32,
0x06, 0x91, 0x75, 0x37, 0x71, 0x97, 0xc9, 0x33, 0xf4, 0x98, 0x03, 0x0b, 0x84, 0x84, 0x1b, 0xc9,
0x77, 0xc8, 0x0e, 0xba, 0x5f, 0x90, 0xc6, 0x81, 0xbb, 0x64, 0x13, 0x61, 0x03, 0x92, 0x4f, 0x44,
0x11, 0x39, 0x46, 0xfb, 0xd3, 0xb9, 0xc7, 0x09, 0x2b, 0x5e, 0x9a, 0x99, 0x26, 0x5d, 0x2e, 0x20,
0x5e, 0x9d, 0x0f, 0x53, 0xc6, 0x54, 0x2c, 0x2d, 0x5e, 0x23, 0x0f, 0xd0, 0xe1, 0x2c, 0x1c, 0xc5,
0xad, 0x40, 0x30, 0xe7, 0xe7, 0x82, 0xd7, 0xc9, 0x11, 0xda, 0x2b, 0xe6, 0xc1, 0x14, 0x07, 0x47,
0x79, 0x0f, 0xb4, 0x15, 0x06, 0x42, 0x90, 0x16, 0xdf, 0x23, 0x0d, 0x74, 0x14, 0xc5, 0xa6, 0xe3,
0xa4, 0xb2, 0xe2, 0x4c, 0xb0, 0x2c, 0x85, 0x86, 0xb6, 0x30, 0x56, 0x67, 0x92, 0x63, 0xaf, 0xd0,
0xd7, 0x39, 0x4e, 0x83, 0x89, 0x94, 0x34, 0x80, 0x37, 0xc8, 0x3e, 0xda, 0x99, 0x25, 0xbf, 0x8e,
0x41, 0xf7, 0x31, 0x21, 0x8f, 0x50, 0xfd, 0x1a, 0xb0, 0x4a, 0x71, 0xdf, 0x77, 0x3d, 0xaf, 0x5e,
0xaa, 0x1f, 0xde, 0xf4, 0x2d, 0xcd, 0x83, 0xf3, 0xe3, 0x5b, 0xde, 0x82, 0x10, 0xaa, 0x57, 0xc2,
0x69, 0xc8, 0x75, 0xde, 0x26, 0xbb, 0x68, 0xab, 0xad, 0x55, 0x1c, 0xa5, 0xb2, 0x38, 0x21, 0x7b,
0xc2, 0x66, 0xdd, 0xed, 0x90, 0x0d, 0xb4, 0x96, 0x05, 0x39, 0x48, 0x2b, 0x6c, 0x1f, 0xd7, 0x3c,
0x9b, 0xa9, 0x30, 0x8c, 0xa5, 0xb0, 0x7d, 0xc7, 0xc1, 0x30, 0x2d, 0xa2, 0x94, 0xbd, 0x4b, 0x6a,
0x68, 0xb3, 0x82, 0xc6, 0xf2, 0xec, 0xf9, 0x5b, 0x57, 0x48, 0x39, 0x6d, 0xe5, 0x5e, 0x29, 0x21,
0xf1, 0x3e, 0xb9, 0x87, 0x56, 0x22, 0x21, 0x4b, 0xdb, 0x1f, 0xf8, 0xdd, 0x01, 0x2e, 0xaa, 0xdd,
0x39, 0xf4, 0x37, 0x31, 0x96, 0xda, 0xd8, 0x14, 0xab, 0x73, 0xe4, 0x7b, 0xe1, 0x10, 0xc0, 0xd8,
0xbe, 0x1c, 0x7b, 0x53, 0xcd, 0xf3, 0x4c, 0x5e, 0x1a, 0xd7, 0xc9, 0x1e, 0xda, 0xa6, 0x52, 0xc9,
0x7e, 0xa8, 0x62, 0xe3, 0x42, 0xb0, 0x5a, 0x30, 0xd7, 0xa2, 0x96, 0x75, 0xf0, 0x83, 0x72, 0xab,
0xd2, 0x96, 0x35, 0x84, 0xaa, 0x07, 0x1c, 0x37, 0xfc, 0xd4, 0xaa, 0x70, 0x5e, 0xca, 0x78, 0x01,
0x39, 0x7e, 0x48, 0x10, 0x5a, 0x6a, 0x51, 0xd6, 0x8d, 0x23, 0xfc, 0xa8, 0x74, 0xa4, 0x57, 0xb6,
0xe7, 0x3b, 0x65, 0x20, 0x2d, 0xe8, 0x8c, 0xfa, 0x5d, 0xe9, 0xc8, 0x69, 0x38, 0xdb, 0x46, 0xe0,
0xf8, 0xc4, 0x3b, 0x6e, 0x2e, 0x85, 0x0b, 0x13, 0x0a, 0x63, 0x80, 0xe3, 0xc7, 0xa9, 0x12, 0x9e,
0xd3, 0x52, 0xaa, 0x1b, 0x52, 0xdd, 0xc5, 0xa7, 0x64, 0x1b, 0x91, 0xec, 0x86, 0x01, 0x50, 0xed,
0x3a, 0xc2, 0x58, 0xa5, 0xfb, 0xf8, 0x89, 0x97, 0x31, 0x8d, 0x1b, 0xb0, 0x56, 0xc8, 0x36, 0x7e,
0x4a, 0xea, 0xe8, 0xa0, 0x1a, 0x04, 0xd5, 0xac, 0x23, 0x7a, 0xe0, 0x42, 0xda, 0x96, 0x60, 0x03,
0x21, 0xbb, 0xf8, 0x99, 0x1f, 0x62, 0x7a, 0x26, 0xd2, 0xea, 0x4c, 0x04, 0xe0, 0x22, 0xc1, 0x6c,
0xac, 0x01, 0x7f, 0xef, 0xf7, 0x3b, 0x45, 0xde, 0xd0, 0x20, 0x00, 0x5b, 0xae, 0xda, 0x0f, 0xa9,
0xa6, 0xd9, 0x1b, 0xa5, 0x58, 0xa7, 0xc2, 0x90, 0x4d, 0x2f, 0x9e, 0x06, 0xab, 0xb3, 0x1d, 0x9b,
0x04, 0x9f, 0x93, 0x13, 0xd4, 0xb8, 0xd6, 0x16, 0x95, 0x6b, 0x7f, 0xac, 0x26, 0x50, 0x92, 0xf3,
0x8e, 0x0c, 0xfe, 0xc9, 0xb7, 0x54, 0x1c, 0x2d, 0x2a, 0xf4, 0x40, 0x97, 0xee, 0xc7, 0x2f, 0xbc,
0x29, 0xa6, 0xee, 0x37, 0x41, 0x78, 0xe9, 0x53, 0x14, 0xaf, 0xa2, 0xb9, 0x8c, 0x9f, 0x4b, 0x6b,
0x58, 0x1d, 0x1b, 0x0b, 0xdc, 0xc5, 0x06, 0x34, 0xfe, 0xa5, 0x9c, 0xf8, 0x38, 0xbb, 0xec, 0xef,
0xd7, 0x4c, 0xed, 0xd9, 0x7c, 0x45, 0x16, 0xfc, 0x5b, 0xe9, 0x89, 0x29, 0x6d, 0x1c, 0x07, 0x26,
0x8c, 0x2f, 0xfd, 0x7b, 0x6b, 0xed, 0xaf, 0x95, 0xe6, 0xf3, 0x3f, 0x8a, 0x4f, 0xd2, 0xdb, 0xa5,
0xf4, 0xdf, 0xcb, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x23, 0x35, 0x10, 0x56, 0x39, 0x07, 0x00,
0x00,
0x0b, 0xbd, 0x4e, 0xa7, 0x0f, 0xb2, 0x74, 0x62, 0x0b, 0xef, 0x4a, 0x8b, 0xa4, 0x35, 0xe3, 0xbe,
0x68, 0x96, 0xe2, 0x32, 0x99, 0x01, 0xe2, 0x21, 0xe6, 0x21, 0x3f, 0xa3, 0xbf, 0xb7, 0x2f, 0x1d,
0xed, 0xd5, 0xb7, 0x34, 0x4f, 0xc9, 0x9e, 0xef, 0xd3, 0x39, 0x3a, 0xdf, 0xf9, 0x8e, 0x8c, 0x1a,
0xc9, 0x70, 0xf8, 0xe1, 0xfc, 0xaf, 0x64, 0x74, 0x7e, 0xf1, 0xc9, 0x7d, 0x1c, 0x8c, 0x92, 0x77,
0xc9, 0x28, 0x71, 0x1f, 0x07, 0x97, 0x97, 0xc9, 0xfb, 0x41, 0x73, 0xf8, 0xf9, 0x62, 0x74, 0x41,
0xee, 0xa4, 0x7f, 0xde, 0x7e, 0xf9, 0xbb, 0xf1, 0xcf, 0x3a, 0xda, 0xa3, 0xd5, 0x81, 0x30, 0xe7,
0x87, 0x19, 0x9d, 0x1c, 0xa0, 0xbb, 0x97, 0xe7, 0xef, 0x3f, 0x25, 0xa3, 0x2f, 0x9f, 0x07, 0xb5,
0x85, 0xfa, 0xc2, 0xe9, 0xaa, 0xae, 0x02, 0xa4, 0x86, 0x96, 0x87, 0xc9, 0xd5, 0x87, 0x8b, 0xe4,
0x5d, 0xed, 0x56, 0x8a, 0x15, 0x9f, 0xe4, 0x0f, 0xb4, 0x38, 0xba, 0x1a, 0x0e, 0x6a, 0xb7, 0xeb,
0x0b, 0xa7, 0xeb, 0x2f, 0x9e, 0x34, 0x8b, 0x7a, 0xcd, 0xeb, 0x6b, 0x35, 0xed, 0xd5, 0x70, 0xa0,
0xd3, 0x63, 0x8d, 0x7f, 0x57, 0xd1, 0xa2, 0xff, 0x24, 0x2b, 0x68, 0x39, 0x96, 0x5d, 0xa9, 0xde,
0x48, 0xfc, 0x15, 0xc1, 0x68, 0x95, 0x75, 0xa8, 0x75, 0x21, 0x18, 0x43, 0xdb, 0x80, 0x17, 0x08,
0x41, 0xeb, 0x4c, 0x49, 0x4b, 0x99, 0x75, 0x71, 0xc4, 0xa9, 0x05, 0x7c, 0x8b, 0x1c, 0xa2, 0xdd,
0x10, 0xc2, 0x16, 0x68, 0xd3, 0x11, 0x51, 0x1e, 0x2e, 0x8f, 0xdc, 0x26, 0x5b, 0x68, 0x23, 0xa2,
0x42, 0x3b, 0x21, 0x8d, 0xa5, 0x41, 0x40, 0xad, 0x50, 0x12, 0x2f, 0xfa, 0xb0, 0xe9, 0x4b, 0x36,
0x19, 0xfe, 0x9a, 0x3c, 0x44, 0xc7, 0x1a, 0x5e, 0xc7, 0x60, 0xac, 0xa3, 0x9c, 0x6b, 0x30, 0xc6,
0x9d, 0x29, 0xed, 0xac, 0xa6, 0xd2, 0x50, 0x96, 0x92, 0x96, 0xc8, 0x53, 0x74, 0x42, 0x19, 0x83,
0xc8, 0xba, 0x9b, 0xb8, 0xcb, 0xe4, 0x19, 0x7a, 0xcc, 0x81, 0x05, 0x42, 0xc2, 0x8d, 0xe4, 0x3b,
0x64, 0x07, 0xdd, 0x2f, 0x48, 0xe3, 0xc0, 0x5d, 0xb2, 0x89, 0xb0, 0x01, 0xc9, 0x27, 0xa2, 0x88,
0x1c, 0xa3, 0xfd, 0xe9, 0xdc, 0xe3, 0x84, 0x15, 0x2f, 0xcd, 0x4c, 0x93, 0x2e, 0x17, 0x10, 0xaf,
0xce, 0x87, 0x29, 0x63, 0x2a, 0x96, 0x16, 0xaf, 0x91, 0x07, 0xe8, 0x70, 0x16, 0x8e, 0xe2, 0x56,
0x20, 0x98, 0xf3, 0x73, 0xc1, 0xeb, 0xe4, 0x08, 0xed, 0x15, 0xf3, 0x60, 0x8a, 0x83, 0xa3, 0xbc,
0x07, 0xda, 0x0a, 0x03, 0x21, 0x48, 0x8b, 0xef, 0x91, 0x06, 0x3a, 0x8a, 0x62, 0xd3, 0x71, 0x52,
0x59, 0x71, 0x26, 0x58, 0x96, 0x42, 0x43, 0x5b, 0x18, 0xab, 0x33, 0xc9, 0xb1, 0x57, 0xe8, 0xff,
0x39, 0x4e, 0x83, 0x89, 0x94, 0x34, 0x80, 0x37, 0xc8, 0x3e, 0xda, 0x99, 0x25, 0xbf, 0x8e, 0x41,
0xf7, 0x31, 0x21, 0x8f, 0x50, 0xfd, 0x1a, 0xb0, 0x4a, 0x71, 0xdf, 0x77, 0x3d, 0xaf, 0x5e, 0xaa,
0x1f, 0xde, 0xf4, 0x2d, 0xcd, 0x83, 0xf3, 0xe3, 0x5b, 0xde, 0x82, 0x10, 0xaa, 0x57, 0xc2, 0x69,
0xc8, 0x75, 0xde, 0x26, 0xbb, 0x68, 0xab, 0xad, 0x55, 0x1c, 0xa5, 0xb2, 0x38, 0x21, 0x7b, 0xc2,
0x66, 0xdd, 0xed, 0x90, 0x0d, 0xb4, 0x96, 0x05, 0x39, 0x48, 0x2b, 0x6c, 0x1f, 0xd7, 0x3c, 0x9b,
0xa9, 0x30, 0x8c, 0xa5, 0xb0, 0x7d, 0xc7, 0xc1, 0x30, 0x2d, 0xa2, 0x94, 0xbd, 0x4b, 0x6a, 0x68,
0xb3, 0x82, 0xc6, 0xf2, 0xec, 0xf9, 0x5b, 0x57, 0x48, 0x39, 0x6d, 0xe5, 0x5e, 0x29, 0x21, 0xf1,
0x3e, 0xb9, 0x87, 0x56, 0x22, 0x21, 0x4b, 0xdb, 0x1f, 0xf8, 0xdd, 0x01, 0x2e, 0xaa, 0xdd, 0x39,
0xf4, 0x37, 0x31, 0x96, 0xda, 0xd8, 0x14, 0xab, 0x73, 0xe4, 0x7b, 0xe1, 0x10, 0xc0, 0xd8, 0xbe,
0x1c, 0x7b, 0x53, 0xcd, 0xf3, 0x4c, 0x5e, 0x1a, 0xd7, 0xc9, 0x1e, 0xda, 0xa6, 0x52, 0xc9, 0x7e,
0xa8, 0x62, 0xe3, 0x42, 0xb0, 0x5a, 0x30, 0xd7, 0xa2, 0x96, 0x75, 0xf0, 0x83, 0x72, 0xab, 0xd2,
0x96, 0x35, 0x84, 0xaa, 0x07, 0x1c, 0x37, 0xfc, 0xd4, 0xaa, 0x70, 0x5e, 0xca, 0x78, 0x01, 0x39,
0x7e, 0x48, 0x10, 0x5a, 0x6a, 0x51, 0xd6, 0x8d, 0x23, 0xfc, 0xa8, 0x74, 0xa4, 0x57, 0xb6, 0xe7,
0x3b, 0x65, 0x20, 0x2d, 0xe8, 0x8c, 0xfa, 0x4d, 0xe9, 0xc8, 0x69, 0x38, 0xdb, 0x46, 0xe0, 0xf8,
0xc4, 0x3b, 0x6e, 0x2e, 0x85, 0x0b, 0x13, 0x0a, 0x63, 0x80, 0xe3, 0xc7, 0xa9, 0x12, 0x9e, 0xd3,
0x52, 0xaa, 0x1b, 0x52, 0xdd, 0xc5, 0xa7, 0x64, 0x1b, 0x91, 0xec, 0x86, 0x01, 0x50, 0xed, 0x3a,
0xc2, 0x58, 0xa5, 0xfb, 0xf8, 0x89, 0x97, 0x31, 0x8d, 0x1b, 0xb0, 0x56, 0xc8, 0x36, 0x7e, 0x4a,
0xea, 0xe8, 0xa0, 0x1a, 0x04, 0xd5, 0xac, 0x23, 0x7a, 0xe0, 0x42, 0xda, 0x96, 0x60, 0x03, 0x21,
0xbb, 0xf8, 0x99, 0x1f, 0x62, 0x7a, 0x26, 0xd2, 0xea, 0x4c, 0x04, 0xe0, 0x22, 0xc1, 0x6c, 0xac,
0x01, 0x7f, 0xeb, 0xf7, 0x3b, 0x45, 0xde, 0xd0, 0x20, 0x00, 0x5b, 0xae, 0xda, 0x77, 0xa9, 0xa6,
0xd9, 0x8b, 0x52, 0xac, 0x53, 0x61, 0xc8, 0xa6, 0x17, 0x4f, 0x83, 0xd5, 0xd9, 0x8e, 0x4d, 0x82,
0xcf, 0xc9, 0x09, 0x6a, 0x5c, 0x6b, 0x8b, 0xca, 0xb5, 0xdf, 0x57, 0x13, 0x28, 0xc9, 0x79, 0x47,
0x06, 0xff, 0xe0, 0x5b, 0x2a, 0x8e, 0x16, 0x15, 0x7a, 0xa0, 0x4b, 0xf7, 0xe3, 0x17, 0xde, 0x14,
0x53, 0xf7, 0x9b, 0x20, 0xbc, 0xf4, 0x29, 0x8a, 0xa7, 0x68, 0x2e, 0xe3, 0xc7, 0xd2, 0x1a, 0x56,
0xc7, 0xc6, 0x02, 0x77, 0xb1, 0x01, 0x8d, 0x7f, 0x2a, 0x27, 0x3e, 0xce, 0x2e, 0xfb, 0xfb, 0x39,
0x53, 0x7b, 0x36, 0x5f, 0x91, 0x05, 0xff, 0x52, 0x7a, 0x62, 0x4a, 0x1b, 0xc7, 0x81, 0x09, 0xe3,
0x4b, 0xff, 0x9a, 0xbd, 0x52, 0x73, 0x44, 0x0a, 0x80, 0xf6, 0x00, 0xff, 0xd6, 0x5a, 0xfb, 0x73,
0xa5, 0xf9, 0xfc, 0xf7, 0xe2, 0x27, 0xeb, 0xed, 0x52, 0xfa, 0xdf, 0xcb, 0xff, 0x02, 0x00, 0x00,
0xff, 0xff, 0x9a, 0x46, 0x2c, 0xd1, 0x59, 0x07, 0x00, 0x00,
}

View File

@ -70,5 +70,6 @@ message ApplicationMetadataMessage {
SYNC_VERIFICATION_REQUEST = 54;
CONTACT_VERIFICATION_TRUSTED = 55;
SYNC_CONTACT_REQUEST_DECISION = 56;
COMMUNITY_REQUEST_TO_LEAVE = 57;
}
}

View File

@ -742,6 +742,53 @@ func (m *CommunityRequestToJoinResponse) GetCommunityId() []byte {
return nil
}
type CommunityRequestToLeave struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
CommunityId []byte `protobuf:"bytes,2,opt,name=community_id,json=communityId,proto3" json:"community_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CommunityRequestToLeave) Reset() { *m = CommunityRequestToLeave{} }
func (m *CommunityRequestToLeave) String() string { return proto.CompactTextString(m) }
func (*CommunityRequestToLeave) ProtoMessage() {}
func (*CommunityRequestToLeave) Descriptor() ([]byte, []int) {
return fileDescriptor_f937943d74c1cd8b, []int{10}
}
func (m *CommunityRequestToLeave) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommunityRequestToLeave.Unmarshal(m, b)
}
func (m *CommunityRequestToLeave) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CommunityRequestToLeave.Marshal(b, m, deterministic)
}
func (m *CommunityRequestToLeave) XXX_Merge(src proto.Message) {
xxx_messageInfo_CommunityRequestToLeave.Merge(m, src)
}
func (m *CommunityRequestToLeave) XXX_Size() int {
return xxx_messageInfo_CommunityRequestToLeave.Size(m)
}
func (m *CommunityRequestToLeave) XXX_DiscardUnknown() {
xxx_messageInfo_CommunityRequestToLeave.DiscardUnknown(m)
}
var xxx_messageInfo_CommunityRequestToLeave proto.InternalMessageInfo
func (m *CommunityRequestToLeave) GetClock() uint64 {
if m != nil {
return m.Clock
}
return 0
}
func (m *CommunityRequestToLeave) GetCommunityId() []byte {
if m != nil {
return m.CommunityId
}
return nil
}
type CommunityMessageArchiveMagnetlink struct {
Clock uint64 `protobuf:"varint,1,opt,name=clock,proto3" json:"clock,omitempty"`
MagnetUri string `protobuf:"bytes,2,opt,name=magnet_uri,json=magnetUri,proto3" json:"magnet_uri,omitempty"`
@ -754,7 +801,7 @@ func (m *CommunityMessageArchiveMagnetlink) Reset() { *m = CommunityMess
func (m *CommunityMessageArchiveMagnetlink) String() string { return proto.CompactTextString(m) }
func (*CommunityMessageArchiveMagnetlink) ProtoMessage() {}
func (*CommunityMessageArchiveMagnetlink) Descriptor() ([]byte, []int) {
return fileDescriptor_f937943d74c1cd8b, []int{10}
return fileDescriptor_f937943d74c1cd8b, []int{11}
}
func (m *CommunityMessageArchiveMagnetlink) XXX_Unmarshal(b []byte) error {
@ -805,7 +852,7 @@ func (m *WakuMessage) Reset() { *m = WakuMessage{} }
func (m *WakuMessage) String() string { return proto.CompactTextString(m) }
func (*WakuMessage) ProtoMessage() {}
func (*WakuMessage) Descriptor() ([]byte, []int) {
return fileDescriptor_f937943d74c1cd8b, []int{11}
return fileDescriptor_f937943d74c1cd8b, []int{12}
}
func (m *WakuMessage) XXX_Unmarshal(b []byte) error {
@ -882,7 +929,7 @@ func (m *WakuMessageArchiveMetadata) Reset() { *m = WakuMessageArchiveMe
func (m *WakuMessageArchiveMetadata) String() string { return proto.CompactTextString(m) }
func (*WakuMessageArchiveMetadata) ProtoMessage() {}
func (*WakuMessageArchiveMetadata) Descriptor() ([]byte, []int) {
return fileDescriptor_f937943d74c1cd8b, []int{12}
return fileDescriptor_f937943d74c1cd8b, []int{13}
}
func (m *WakuMessageArchiveMetadata) XXX_Unmarshal(b []byte) error {
@ -944,7 +991,7 @@ func (m *WakuMessageArchive) Reset() { *m = WakuMessageArchive{} }
func (m *WakuMessageArchive) String() string { return proto.CompactTextString(m) }
func (*WakuMessageArchive) ProtoMessage() {}
func (*WakuMessageArchive) Descriptor() ([]byte, []int) {
return fileDescriptor_f937943d74c1cd8b, []int{13}
return fileDescriptor_f937943d74c1cd8b, []int{14}
}
func (m *WakuMessageArchive) XXX_Unmarshal(b []byte) error {
@ -1001,7 +1048,7 @@ func (m *WakuMessageArchiveIndexMetadata) Reset() { *m = WakuMessageArch
func (m *WakuMessageArchiveIndexMetadata) String() string { return proto.CompactTextString(m) }
func (*WakuMessageArchiveIndexMetadata) ProtoMessage() {}
func (*WakuMessageArchiveIndexMetadata) Descriptor() ([]byte, []int) {
return fileDescriptor_f937943d74c1cd8b, []int{14}
return fileDescriptor_f937943d74c1cd8b, []int{15}
}
func (m *WakuMessageArchiveIndexMetadata) XXX_Unmarshal(b []byte) error {
@ -1068,7 +1115,7 @@ func (m *WakuMessageArchiveIndex) Reset() { *m = WakuMessageArchiveIndex
func (m *WakuMessageArchiveIndex) String() string { return proto.CompactTextString(m) }
func (*WakuMessageArchiveIndex) ProtoMessage() {}
func (*WakuMessageArchiveIndex) Descriptor() ([]byte, []int) {
return fileDescriptor_f937943d74c1cd8b, []int{15}
return fileDescriptor_f937943d74c1cd8b, []int{16}
}
func (m *WakuMessageArchiveIndex) XXX_Unmarshal(b []byte) error {
@ -1113,6 +1160,7 @@ func init() {
proto.RegisterType((*CommunityInvitation)(nil), "protobuf.CommunityInvitation")
proto.RegisterType((*CommunityRequestToJoin)(nil), "protobuf.CommunityRequestToJoin")
proto.RegisterType((*CommunityRequestToJoinResponse)(nil), "protobuf.CommunityRequestToJoinResponse")
proto.RegisterType((*CommunityRequestToLeave)(nil), "protobuf.CommunityRequestToLeave")
proto.RegisterType((*CommunityMessageArchiveMagnetlink)(nil), "protobuf.CommunityMessageArchiveMagnetlink")
proto.RegisterType((*WakuMessage)(nil), "protobuf.WakuMessage")
proto.RegisterType((*WakuMessageArchiveMetadata)(nil), "protobuf.WakuMessageArchiveMetadata")
@ -1127,89 +1175,90 @@ func init() {
}
var fileDescriptor_f937943d74c1cd8b = []byte{
// 1329 bytes of a gzipped FileDescriptorProto
// 1345 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcd, 0x6f, 0x1b, 0x45,
0x14, 0xef, 0xfa, 0xdb, 0xcf, 0x1f, 0x75, 0xa6, 0x6d, 0xba, 0x4d, 0x69, 0xe3, 0x2e, 0x20, 0xb9,
0x42, 0xb8, 0x6a, 0x2a, 0xa4, 0x8a, 0x8f, 0xb6, 0x6e, 0x6a, 0x15, 0xd3, 0xc4, 0x6e, 0xc7, 0x09,
0x85, 0x1e, 0x58, 0x8d, 0xbd, 0x13, 0x67, 0x94, 0xf5, 0xac, 0xd9, 0x19, 0x47, 0x98, 0x03, 0x67,
0xfe, 0x04, 0x04, 0x47, 0x2e, 0xfc, 0x1f, 0x9c, 0xb8, 0x70, 0xe7, 0xc6, 0x9f, 0x82, 0x66, 0xf6,
0xc3, 0x6b, 0xc7, 0x4e, 0x23, 0x55, 0x9c, 0x3c, 0xef, 0xcd, 0x7b, 0xbf, 0x79, 0xdf, 0x6f, 0x0d,
0x1b, 0x43, 0x6f, 0x3c, 0x9e, 0x72, 0x26, 0x19, 0x15, 0xcd, 0x89, 0xef, 0x49, 0x0f, 0x15, 0xf4,
0xcf, 0x60, 0x7a, 0xb4, 0x75, 0x65, 0x78, 0x4c, 0xa4, 0xcd, 0x1c, 0xca, 0x25, 0x93, 0xb3, 0xe0,
0xda, 0x3a, 0x85, 0xec, 0x73, 0x9f, 0x70, 0x89, 0xee, 0x40, 0x39, 0x52, 0x9e, 0xd9, 0xcc, 0x31,
0x8d, 0xba, 0xd1, 0x28, 0xe3, 0x52, 0xcc, 0xeb, 0x38, 0xe8, 0x26, 0x14, 0xc7, 0x74, 0x3c, 0xa0,
0xbe, 0xba, 0x4f, 0xe9, 0xfb, 0x42, 0xc0, 0xe8, 0x38, 0xe8, 0x3a, 0xe4, 0x43, 0x7c, 0x33, 0x5d,
0x37, 0x1a, 0x45, 0x9c, 0x53, 0x64, 0xc7, 0x41, 0x57, 0x21, 0x3b, 0x74, 0xbd, 0xe1, 0x89, 0x99,
0xa9, 0x1b, 0x8d, 0x0c, 0x0e, 0x08, 0xeb, 0x67, 0x03, 0x2e, 0xef, 0x46, 0xd8, 0xfb, 0x1a, 0x04,
0x7d, 0x02, 0x59, 0xdf, 0x73, 0xa9, 0x30, 0x8d, 0x7a, 0xba, 0x51, 0xdd, 0xd9, 0x6e, 0x46, 0xa6,
0x37, 0x97, 0x24, 0x9b, 0x58, 0x89, 0xe1, 0x40, 0xda, 0x7a, 0x04, 0x59, 0x4d, 0xa3, 0x1a, 0x94,
0x0f, 0xbb, 0x2f, 0xba, 0xbd, 0xd7, 0x5d, 0x1b, 0xf7, 0xf6, 0xda, 0xb5, 0x4b, 0xa8, 0x0c, 0x05,
0x75, 0xb2, 0x5b, 0x7b, 0x7b, 0x35, 0x03, 0x5d, 0x83, 0x0d, 0x4d, 0xed, 0xb7, 0xba, 0xad, 0xe7,
0x6d, 0xfb, 0xb0, 0xdf, 0xc6, 0xfd, 0x5a, 0xca, 0xfa, 0xd7, 0x80, 0xab, 0xf1, 0x03, 0x2f, 0xa9,
0x3f, 0x66, 0x42, 0x30, 0x8f, 0x0b, 0x74, 0x03, 0x0a, 0x94, 0x0b, 0xdb, 0xe3, 0xee, 0x4c, 0x87,
0xa3, 0x80, 0xf3, 0x94, 0x8b, 0x1e, 0x77, 0x67, 0xc8, 0x84, 0xfc, 0xc4, 0x67, 0xa7, 0x44, 0x52,
0x1d, 0x88, 0x02, 0x8e, 0x48, 0xf4, 0x05, 0xe4, 0xc8, 0x70, 0x48, 0x85, 0xd0, 0x61, 0xa8, 0xee,
0x7c, 0xb8, 0xc2, 0x8b, 0xc4, 0x23, 0xcd, 0x96, 0x16, 0xc6, 0xa1, 0x92, 0x75, 0x00, 0xb9, 0x80,
0x83, 0x10, 0x54, 0x23, 0x6f, 0x5a, 0xbb, 0xbb, 0xed, 0x7e, 0xbf, 0x76, 0x09, 0x6d, 0x40, 0xa5,
0xdb, 0xb3, 0xf7, 0xdb, 0xfb, 0x4f, 0xdb, 0xb8, 0xff, 0x65, 0xe7, 0x65, 0xcd, 0x40, 0x57, 0xe0,
0x72, 0xa7, 0xfb, 0x75, 0xe7, 0xa0, 0x75, 0xd0, 0xe9, 0x75, 0xed, 0x5e, 0x77, 0xef, 0xdb, 0x5a,
0x0a, 0x55, 0x01, 0x7a, 0x5d, 0x1b, 0xb7, 0x5f, 0x1d, 0xb6, 0xfb, 0x07, 0xb5, 0xb4, 0xf5, 0x6b,
0x3e, 0xe1, 0xe2, 0x33, 0x2a, 0x86, 0x3e, 0x9b, 0x48, 0xe6, 0xf1, 0x79, 0x72, 0x8c, 0x44, 0x72,
0x50, 0x1b, 0xf2, 0x41, 0x5e, 0x85, 0x99, 0xaa, 0xa7, 0x1b, 0xa5, 0x9d, 0x8f, 0x56, 0x38, 0x91,
0x80, 0x69, 0x06, 0x69, 0x11, 0x6d, 0x2e, 0xfd, 0x19, 0x8e, 0x74, 0xd1, 0x13, 0x28, 0x4d, 0xe6,
0x9e, 0xea, 0x78, 0x94, 0x76, 0x6e, 0x9f, 0x1f, 0x0f, 0x9c, 0x54, 0x41, 0x3b, 0x50, 0x88, 0xea,
0xd5, 0xcc, 0x6a, 0xf5, 0xcd, 0x84, 0xba, 0xae, 0xaf, 0xe0, 0x16, 0xc7, 0x72, 0xe8, 0x31, 0x64,
0x55, 0xe5, 0x09, 0x33, 0xa7, 0x4d, 0xbf, 0xfb, 0x16, 0xd3, 0x15, 0x4a, 0x68, 0x78, 0xa0, 0xa7,
0xd2, 0x3e, 0x20, 0xdc, 0x76, 0x99, 0x90, 0x66, 0xbe, 0x9e, 0x6e, 0x14, 0x71, 0x7e, 0x40, 0xf8,
0x1e, 0x13, 0x12, 0x75, 0x01, 0x86, 0x44, 0xd2, 0x91, 0xe7, 0x33, 0x2a, 0xcc, 0x82, 0x7e, 0xa0,
0xf9, 0xb6, 0x07, 0x62, 0x85, 0xe0, 0x95, 0x04, 0x02, 0x7a, 0x08, 0x26, 0xf1, 0x87, 0xc7, 0xec,
0x94, 0xda, 0x63, 0x32, 0xe2, 0x54, 0xba, 0x8c, 0x9f, 0xd8, 0x41, 0x46, 0x8a, 0x3a, 0x23, 0x9b,
0xe1, 0xfd, 0x7e, 0x7c, 0xbd, 0xab, 0x53, 0xf4, 0x1c, 0xaa, 0xc4, 0x19, 0x33, 0x6e, 0x0b, 0x2a,
0x25, 0xe3, 0x23, 0x61, 0x82, 0x8e, 0x4f, 0x7d, 0x85, 0x35, 0x2d, 0x25, 0xd8, 0x0f, 0xe5, 0x70,
0x85, 0x24, 0x49, 0xf4, 0x3e, 0x54, 0x18, 0x97, 0xbe, 0x67, 0x8f, 0xa9, 0x10, 0x64, 0x44, 0xcd,
0x92, 0xee, 0xde, 0xb2, 0x66, 0xee, 0x07, 0x3c, 0x25, 0xe4, 0x4d, 0x93, 0x42, 0xe5, 0x40, 0x48,
0x33, 0x23, 0xa1, 0xf7, 0xa0, 0x48, 0xf9, 0xd0, 0x9f, 0x4d, 0x24, 0x75, 0xcc, 0x8a, 0xee, 0x8a,
0x39, 0x03, 0x21, 0xc8, 0x48, 0x32, 0x12, 0x66, 0x55, 0x47, 0x54, 0x9f, 0xb7, 0x0e, 0xa1, 0x9c,
0xac, 0x1c, 0x54, 0x83, 0xf4, 0x09, 0x0d, 0x7a, 0xad, 0x88, 0xd5, 0x11, 0xdd, 0x83, 0xec, 0x29,
0x71, 0xa7, 0x41, 0x97, 0x95, 0x76, 0x6e, 0xac, 0x1d, 0x09, 0x38, 0x90, 0xfb, 0x34, 0xf5, 0xd0,
0xd8, 0x7a, 0x05, 0x30, 0xcf, 0xea, 0x0a, 0xd0, 0x8f, 0x17, 0x41, 0xaf, 0xaf, 0x00, 0x55, 0xfa,
0x49, 0xc8, 0x37, 0x70, 0x79, 0x29, 0x8f, 0x2b, 0x70, 0xef, 0x2f, 0xe2, 0xde, 0x5c, 0x85, 0x1b,
0x80, 0xcc, 0x12, 0xd8, 0xd6, 0x77, 0xb0, 0xb9, 0x3a, 0x55, 0xe8, 0x19, 0x6c, 0x4f, 0x18, 0x8f,
0x82, 0x6e, 0x13, 0xd7, 0xb5, 0xc3, 0xde, 0xb2, 0x29, 0x27, 0x03, 0x97, 0x3a, 0xe1, 0x5c, 0xba,
0x39, 0x61, 0x3c, 0x4c, 0x43, 0xcb, 0x75, 0xe3, 0x98, 0x6a, 0x11, 0xeb, 0x9f, 0x14, 0x54, 0x16,
0x1c, 0x43, 0x8f, 0xe6, 0xfd, 0x6d, 0xe8, 0x1a, 0xfe, 0x60, 0x4d, 0x08, 0x2e, 0xd6, 0xd8, 0xa9,
0x77, 0x6b, 0xec, 0xf4, 0x05, 0x1b, 0x7b, 0x1b, 0x4a, 0x61, 0xeb, 0xe8, 0x05, 0x95, 0xd1, 0x81,
0x8f, 0xba, 0x49, 0xed, 0xa7, 0x2d, 0x28, 0x4c, 0x3c, 0xc1, 0x54, 0xd7, 0xe9, 0x69, 0x91, 0xc5,
0x31, 0xfd, 0x3f, 0x95, 0x9a, 0xe5, 0xc0, 0xc6, 0x99, 0xdc, 0x2e, 0x1b, 0x6a, 0x9c, 0x31, 0x14,
0x41, 0x86, 0x93, 0x71, 0xf0, 0x52, 0x11, 0xeb, 0xf3, 0x82, 0xf1, 0xe9, 0x45, 0xe3, 0xad, 0x5f,
0x0c, 0xb8, 0x12, 0x3f, 0xd3, 0xe1, 0xa7, 0x4c, 0x12, 0x3d, 0xbd, 0x1f, 0xc0, 0xb5, 0xf9, 0xce,
0x76, 0xe6, 0x33, 0x27, 0x5c, 0xde, 0x57, 0x87, 0x6b, 0x46, 0xfe, 0x48, 0x6d, 0xfc, 0x70, 0x83,
0x07, 0xc4, 0xfa, 0xf5, 0x7d, 0x0b, 0x60, 0x32, 0x1d, 0xb8, 0x6c, 0x68, 0xab, 0x78, 0x65, 0xb4,
0x4e, 0x31, 0xe0, 0xbc, 0xa0, 0x33, 0xeb, 0x0f, 0x23, 0x51, 0xbd, 0x98, 0x7e, 0x3f, 0xa5, 0x42,
0x1e, 0x78, 0x5f, 0x79, 0x6c, 0xdd, 0x6e, 0x09, 0x97, 0x6a, 0xc2, 0x7f, 0xb5, 0x54, 0xbb, 0x2a,
0x04, 0x6b, 0x6d, 0x58, 0xfe, 0x36, 0xc9, 0x9c, 0xfd, 0x36, 0xb9, 0x03, 0x65, 0x87, 0x89, 0x89,
0x4b, 0x66, 0x01, 0x74, 0x56, 0x03, 0x94, 0x42, 0x9e, 0x82, 0xb7, 0xfe, 0x32, 0xe0, 0xf6, 0x6a,
0x53, 0x31, 0x15, 0x13, 0x8f, 0x0b, 0xba, 0xc6, 0xe4, 0xcf, 0xa1, 0x18, 0x3f, 0x75, 0x4e, 0xb1,
0x27, 0x82, 0x8c, 0xe7, 0x0a, 0x2a, 0xb1, 0x6a, 0xb7, 0xeb, 0xa9, 0x98, 0xd6, 0xdd, 0x1a, 0xd3,
0xf3, 0x5c, 0x64, 0x92, 0xb9, 0x58, 0x76, 0x37, 0x7b, 0xc6, 0x5d, 0xeb, 0x1b, 0xb8, 0x93, 0xa8,
0xca, 0xa0, 0xf1, 0x97, 0x17, 0xc5, 0x1a, 0x6f, 0x6e, 0x01, 0x04, 0xbb, 0xc6, 0x9e, 0xfa, 0x2c,
0x4c, 0x41, 0x31, 0xe0, 0x1c, 0xfa, 0xcc, 0xfa, 0xcd, 0x80, 0xd2, 0x6b, 0x72, 0x32, 0x8d, 0xa6,
0x7a, 0x0d, 0xd2, 0x82, 0x8d, 0xc2, 0x8a, 0x52, 0x47, 0x35, 0xe7, 0x25, 0x1b, 0x53, 0x21, 0xc9,
0x78, 0xa2, 0xf5, 0x33, 0x78, 0xce, 0x50, 0x8f, 0x4a, 0x6f, 0xc2, 0x86, 0xda, 0xd7, 0x32, 0x0e,
0x08, 0xfd, 0xbd, 0x44, 0x66, 0xae, 0x47, 0xa2, 0xe4, 0x45, 0x64, 0x70, 0xe3, 0x38, 0x8c, 0x8f,
0x42, 0x3f, 0x23, 0x52, 0x75, 0xc9, 0x31, 0x11, 0xc7, 0x66, 0x4e, 0xb3, 0xf5, 0xd9, 0xfa, 0x09,
0xb6, 0x12, 0xc6, 0x45, 0x2e, 0x53, 0x49, 0x1c, 0x22, 0x89, 0xc2, 0x3a, 0xa5, 0xbe, 0x88, 0x3a,
0xa0, 0x82, 0x23, 0x52, 0x61, 0x1d, 0xf9, 0xde, 0x38, 0x34, 0x57, 0x9f, 0x51, 0x15, 0x52, 0xd2,
0xd3, 0x66, 0x66, 0x70, 0x4a, 0x7a, 0xc8, 0x52, 0x61, 0xe7, 0x92, 0x72, 0x79, 0xa0, 0x1d, 0xc8,
0xd4, 0xd3, 0x8d, 0x32, 0x5e, 0xe0, 0x59, 0xbf, 0x1b, 0x80, 0xce, 0x1a, 0x70, 0xce, 0xc3, 0x4f,
0xa0, 0x30, 0x0e, 0xcd, 0x0b, 0x4b, 0x27, 0x31, 0x6b, 0xd7, 0xbb, 0x82, 0x63, 0x2d, 0x74, 0x5f,
0x21, 0x68, 0x19, 0xf5, 0x09, 0xa5, 0xa6, 0xf5, 0xb5, 0x95, 0x08, 0x38, 0x16, 0xb3, 0xfe, 0x34,
0x60, 0xfb, 0x2c, 0x76, 0x87, 0x3b, 0xf4, 0x87, 0x0b, 0xc4, 0xea, 0xdd, 0x4d, 0xde, 0x84, 0x9c,
0x77, 0x74, 0x24, 0xa8, 0x0c, 0xa3, 0x1b, 0x52, 0x2a, 0x0b, 0x82, 0xfd, 0x48, 0xc3, 0x7f, 0x02,
0xfa, 0xbc, 0x9c, 0xff, 0x4c, 0x9c, 0x7f, 0xeb, 0x6f, 0x03, 0xae, 0xaf, 0xf1, 0x02, 0xbd, 0x80,
0x42, 0xf8, 0x61, 0x14, 0xad, 0xb0, 0x7b, 0xe7, 0xd9, 0xa8, 0x95, 0x9a, 0x21, 0x11, 0x6e, 0xb3,
0x18, 0x60, 0xeb, 0x08, 0x2a, 0x0b, 0x57, 0x2b, 0x96, 0xc3, 0xe3, 0xc5, 0xe5, 0x70, 0xf7, 0xad,
0x8f, 0xc5, 0x51, 0x99, 0x2f, 0x8b, 0xa7, 0x95, 0x37, 0xa5, 0xe6, 0xbd, 0xcf, 0x22, 0xcd, 0x41,
0x4e, 0x9f, 0x1e, 0xfc, 0x17, 0x00, 0x00, 0xff, 0xff, 0x02, 0x65, 0xc2, 0x05, 0xb5, 0x0d, 0x00,
0x14, 0xef, 0xfa, 0x23, 0xb1, 0x9f, 0x3f, 0xea, 0x4c, 0xdb, 0x64, 0x9b, 0xd2, 0xc6, 0x5d, 0x40,
0x72, 0x85, 0x70, 0xd5, 0x54, 0x48, 0x15, 0x1f, 0x6d, 0xdd, 0xd4, 0x2a, 0xa6, 0x89, 0xdd, 0x8e,
0x13, 0x0a, 0x3d, 0xb0, 0x1a, 0x7b, 0x27, 0xce, 0x28, 0xeb, 0x59, 0xb3, 0x33, 0xb6, 0x30, 0x07,
0xce, 0xfc, 0x09, 0x08, 0x8e, 0x5c, 0xf8, 0x3f, 0x38, 0x71, 0xe1, 0xce, 0x8d, 0x3f, 0x05, 0xcd,
0xec, 0x87, 0xd7, 0x5f, 0x69, 0xa5, 0x8a, 0x93, 0xe7, 0xbd, 0x79, 0xef, 0xf7, 0xbe, 0xe7, 0xad,
0x61, 0xab, 0xef, 0x0d, 0x87, 0x63, 0xce, 0x24, 0xa3, 0xa2, 0x3e, 0xf2, 0x3d, 0xe9, 0xa1, 0x9c,
0xfe, 0xe9, 0x8d, 0x4f, 0x77, 0xaf, 0xf4, 0xcf, 0x88, 0xb4, 0x99, 0x43, 0xb9, 0x64, 0x72, 0x1a,
0x5c, 0x5b, 0x13, 0xc8, 0x3e, 0xf3, 0x09, 0x97, 0xe8, 0x36, 0x14, 0x23, 0xe5, 0xa9, 0xcd, 0x1c,
0xd3, 0xa8, 0x1a, 0xb5, 0x22, 0x2e, 0xc4, 0xbc, 0x96, 0x83, 0x6e, 0x40, 0x7e, 0x48, 0x87, 0x3d,
0xea, 0xab, 0xfb, 0x94, 0xbe, 0xcf, 0x05, 0x8c, 0x96, 0x83, 0x76, 0x60, 0x33, 0xc4, 0x37, 0xd3,
0x55, 0xa3, 0x96, 0xc7, 0x1b, 0x8a, 0x6c, 0x39, 0xe8, 0x2a, 0x64, 0xfb, 0xae, 0xd7, 0x3f, 0x37,
0x33, 0x55, 0xa3, 0x96, 0xc1, 0x01, 0x61, 0xfd, 0x6c, 0xc0, 0xe5, 0x83, 0x08, 0xfb, 0x48, 0x83,
0xa0, 0x4f, 0x20, 0xeb, 0x7b, 0x2e, 0x15, 0xa6, 0x51, 0x4d, 0xd7, 0xca, 0xfb, 0x7b, 0xf5, 0xc8,
0xf5, 0xfa, 0x82, 0x64, 0x1d, 0x2b, 0x31, 0x1c, 0x48, 0x5b, 0x0f, 0x21, 0xab, 0x69, 0x54, 0x81,
0xe2, 0x49, 0xfb, 0x79, 0xbb, 0xf3, 0xaa, 0x6d, 0xe3, 0xce, 0x61, 0xb3, 0x72, 0x09, 0x15, 0x21,
0xa7, 0x4e, 0x76, 0xe3, 0xf0, 0xb0, 0x62, 0xa0, 0x6b, 0xb0, 0xa5, 0xa9, 0xa3, 0x46, 0xbb, 0xf1,
0xac, 0x69, 0x9f, 0x74, 0x9b, 0xb8, 0x5b, 0x49, 0x59, 0xff, 0x1a, 0x70, 0x35, 0x36, 0xf0, 0x82,
0xfa, 0x43, 0x26, 0x04, 0xf3, 0xb8, 0x40, 0xd7, 0x21, 0x47, 0xb9, 0xb0, 0x3d, 0xee, 0x4e, 0x75,
0x3a, 0x72, 0x78, 0x93, 0x72, 0xd1, 0xe1, 0xee, 0x14, 0x99, 0xb0, 0x39, 0xf2, 0xd9, 0x84, 0x48,
0xaa, 0x13, 0x91, 0xc3, 0x11, 0x89, 0xbe, 0x80, 0x0d, 0xd2, 0xef, 0x53, 0x21, 0x74, 0x1a, 0xca,
0xfb, 0x1f, 0xae, 0x88, 0x22, 0x61, 0xa4, 0xde, 0xd0, 0xc2, 0x38, 0x54, 0xb2, 0x8e, 0x61, 0x23,
0xe0, 0x20, 0x04, 0xe5, 0x28, 0x9a, 0xc6, 0xc1, 0x41, 0xb3, 0xdb, 0xad, 0x5c, 0x42, 0x5b, 0x50,
0x6a, 0x77, 0xec, 0xa3, 0xe6, 0xd1, 0x93, 0x26, 0xee, 0x7e, 0xd9, 0x7a, 0x51, 0x31, 0xd0, 0x15,
0xb8, 0xdc, 0x6a, 0x7f, 0xdd, 0x3a, 0x6e, 0x1c, 0xb7, 0x3a, 0x6d, 0xbb, 0xd3, 0x3e, 0xfc, 0xb6,
0x92, 0x42, 0x65, 0x80, 0x4e, 0xdb, 0xc6, 0xcd, 0x97, 0x27, 0xcd, 0xee, 0x71, 0x25, 0x6d, 0xfd,
0xba, 0x99, 0x08, 0xf1, 0x29, 0x15, 0x7d, 0x9f, 0x8d, 0x24, 0xf3, 0xf8, 0xac, 0x38, 0x46, 0xa2,
0x38, 0xa8, 0x09, 0x9b, 0x41, 0x5d, 0x85, 0x99, 0xaa, 0xa6, 0x6b, 0x85, 0xfd, 0x8f, 0x56, 0x04,
0x91, 0x80, 0xa9, 0x07, 0x65, 0x11, 0x4d, 0x2e, 0xfd, 0x29, 0x8e, 0x74, 0xd1, 0x63, 0x28, 0x8c,
0x66, 0x91, 0xea, 0x7c, 0x14, 0xf6, 0x6f, 0x5d, 0x9c, 0x0f, 0x9c, 0x54, 0x41, 0xfb, 0x90, 0x8b,
0xfa, 0xd5, 0xcc, 0x6a, 0xf5, 0xed, 0x84, 0xba, 0xee, 0xaf, 0xe0, 0x16, 0xc7, 0x72, 0xe8, 0x11,
0x64, 0x55, 0xe7, 0x09, 0x73, 0x43, 0xbb, 0x7e, 0xe7, 0x0d, 0xae, 0x2b, 0x94, 0xd0, 0xf1, 0x40,
0x4f, 0x95, 0xbd, 0x47, 0xb8, 0xed, 0x32, 0x21, 0xcd, 0xcd, 0x6a, 0xba, 0x96, 0xc7, 0x9b, 0x3d,
0xc2, 0x0f, 0x99, 0x90, 0xa8, 0x0d, 0xd0, 0x27, 0x92, 0x0e, 0x3c, 0x9f, 0x51, 0x61, 0xe6, 0xb4,
0x81, 0xfa, 0x9b, 0x0c, 0xc4, 0x0a, 0x81, 0x95, 0x04, 0x02, 0x7a, 0x00, 0x26, 0xf1, 0xfb, 0x67,
0x6c, 0x42, 0xed, 0x21, 0x19, 0x70, 0x2a, 0x5d, 0xc6, 0xcf, 0xed, 0xa0, 0x22, 0x79, 0x5d, 0x91,
0xed, 0xf0, 0xfe, 0x28, 0xbe, 0x3e, 0xd0, 0x25, 0x7a, 0x06, 0x65, 0xe2, 0x0c, 0x19, 0xb7, 0x05,
0x95, 0x92, 0xf1, 0x81, 0x30, 0x41, 0xe7, 0xa7, 0xba, 0xc2, 0x9b, 0x86, 0x12, 0xec, 0x86, 0x72,
0xb8, 0x44, 0x92, 0x24, 0x7a, 0x1f, 0x4a, 0x8c, 0x4b, 0xdf, 0xb3, 0x87, 0x54, 0x08, 0x32, 0xa0,
0x66, 0x41, 0x4f, 0x6f, 0x51, 0x33, 0x8f, 0x02, 0x9e, 0x12, 0xf2, 0xc6, 0x49, 0xa1, 0x62, 0x20,
0xa4, 0x99, 0x91, 0xd0, 0x7b, 0x90, 0xa7, 0xbc, 0xef, 0x4f, 0x47, 0x92, 0x3a, 0x66, 0x49, 0x4f,
0xc5, 0x8c, 0x81, 0x10, 0x64, 0x24, 0x19, 0x08, 0xb3, 0xac, 0x33, 0xaa, 0xcf, 0xbb, 0x27, 0x50,
0x4c, 0x76, 0x0e, 0xaa, 0x40, 0xfa, 0x9c, 0x06, 0xb3, 0x96, 0xc7, 0xea, 0x88, 0xee, 0x42, 0x76,
0x42, 0xdc, 0x71, 0x30, 0x65, 0x85, 0xfd, 0xeb, 0x6b, 0x9f, 0x04, 0x1c, 0xc8, 0x7d, 0x9a, 0x7a,
0x60, 0xec, 0xbe, 0x04, 0x98, 0x55, 0x75, 0x05, 0xe8, 0xc7, 0xf3, 0xa0, 0x3b, 0x2b, 0x40, 0x95,
0x7e, 0x12, 0xf2, 0x35, 0x5c, 0x5e, 0xa8, 0xe3, 0x0a, 0xdc, 0x7b, 0xf3, 0xb8, 0x37, 0x56, 0xe1,
0x06, 0x20, 0xd3, 0x04, 0xb6, 0xf5, 0x1d, 0x6c, 0xaf, 0x2e, 0x15, 0x7a, 0x0a, 0x7b, 0x23, 0xc6,
0xa3, 0xa4, 0xdb, 0xc4, 0x75, 0xed, 0x70, 0xb6, 0x6c, 0xca, 0x49, 0xcf, 0xa5, 0x4e, 0xf8, 0x2e,
0xdd, 0x18, 0x31, 0x1e, 0x96, 0xa1, 0xe1, 0xba, 0x71, 0x4e, 0xb5, 0x88, 0xf5, 0x4f, 0x0a, 0x4a,
0x73, 0x81, 0xa1, 0x87, 0xb3, 0xf9, 0x36, 0x74, 0x0f, 0x7f, 0xb0, 0x26, 0x05, 0x6f, 0x37, 0xd8,
0xa9, 0x77, 0x1b, 0xec, 0xf4, 0x5b, 0x0e, 0xf6, 0x1e, 0x14, 0xc2, 0xd1, 0xd1, 0x0b, 0x2a, 0xa3,
0x13, 0x1f, 0x4d, 0x93, 0xda, 0x4f, 0xbb, 0x90, 0x1b, 0x79, 0x82, 0xa9, 0xa9, 0xd3, 0xaf, 0x45,
0x16, 0xc7, 0xf4, 0xff, 0xd4, 0x6a, 0x96, 0x03, 0x5b, 0x4b, 0xb5, 0x5d, 0x74, 0xd4, 0x58, 0x72,
0x14, 0x41, 0x86, 0x93, 0x61, 0x60, 0x29, 0x8f, 0xf5, 0x79, 0xce, 0xf9, 0xf4, 0xbc, 0xf3, 0xd6,
0x2f, 0x06, 0x5c, 0x89, 0xcd, 0xb4, 0xf8, 0x84, 0x49, 0xa2, 0x5f, 0xef, 0xfb, 0x70, 0x6d, 0xb6,
0xb3, 0x9d, 0xd9, 0x9b, 0x13, 0x2e, 0xef, 0xab, 0xfd, 0x35, 0x4f, 0xfe, 0x40, 0x6d, 0xfc, 0x70,
0x83, 0x07, 0xc4, 0xfa, 0xf5, 0x7d, 0x13, 0x60, 0x34, 0xee, 0xb9, 0xac, 0x6f, 0xab, 0x7c, 0x65,
0xb4, 0x4e, 0x3e, 0xe0, 0x3c, 0xa7, 0x53, 0xeb, 0x0f, 0x23, 0xd1, 0xbd, 0x98, 0x7e, 0x3f, 0xa6,
0x42, 0x1e, 0x7b, 0x5f, 0x79, 0x6c, 0xdd, 0x6e, 0x09, 0x97, 0x6a, 0x22, 0x7e, 0xb5, 0x54, 0xdb,
0x2a, 0x05, 0x6b, 0x7d, 0x58, 0xfc, 0x36, 0xc9, 0x2c, 0x7f, 0x9b, 0xdc, 0x86, 0xa2, 0xc3, 0xc4,
0xc8, 0x25, 0xd3, 0x00, 0x3a, 0xab, 0x01, 0x0a, 0x21, 0x4f, 0xc1, 0x5b, 0x7f, 0x19, 0x70, 0x6b,
0xb5, 0xab, 0x98, 0x8a, 0x91, 0xc7, 0x05, 0x5d, 0xe3, 0xf2, 0xe7, 0x90, 0x8f, 0x4d, 0x5d, 0xd0,
0xec, 0x89, 0x24, 0xe3, 0x99, 0x82, 0x2a, 0xac, 0xda, 0xed, 0xfa, 0x55, 0x4c, 0xeb, 0x69, 0x8d,
0xe9, 0x59, 0x2d, 0x32, 0xc9, 0x5a, 0x2c, 0x86, 0x9b, 0x5d, 0x0a, 0xd7, 0xc2, 0xb0, 0xb3, 0x1c,
0xca, 0x21, 0x25, 0x93, 0x75, 0x31, 0x2c, 0x62, 0xa6, 0x96, 0x31, 0xbf, 0x81, 0xdb, 0x89, 0x4e,
0x0f, 0x1e, 0x93, 0xc5, 0xe5, 0xb3, 0x06, 0xfd, 0x26, 0x40, 0xb0, 0xbf, 0xec, 0xb1, 0xcf, 0xc2,
0xb2, 0xe6, 0x03, 0xce, 0x89, 0xcf, 0xac, 0xdf, 0x0c, 0x28, 0xbc, 0x22, 0xe7, 0xe3, 0x68, 0x53,
0x54, 0x20, 0x2d, 0xd8, 0x20, 0xec, 0x52, 0x75, 0x54, 0xbb, 0x43, 0xb2, 0x21, 0x15, 0x92, 0x0c,
0x47, 0x5a, 0x3f, 0x83, 0x67, 0x0c, 0x65, 0x54, 0x7a, 0x23, 0xd6, 0xd7, 0xf9, 0x2b, 0xe2, 0x80,
0xd0, 0xdf, 0x60, 0x64, 0xea, 0x7a, 0x24, 0x6a, 0x88, 0x88, 0x0c, 0x6e, 0x1c, 0x87, 0xf1, 0x41,
0x98, 0xbb, 0x88, 0x54, 0x93, 0x77, 0x46, 0xc4, 0x99, 0xb9, 0xa1, 0xd9, 0xfa, 0x6c, 0xfd, 0x04,
0xbb, 0x09, 0xe7, 0xa2, 0x90, 0xa9, 0x24, 0x0e, 0x91, 0x44, 0x61, 0x4d, 0xa8, 0x2f, 0xa2, 0xa9,
0x2a, 0xe1, 0x88, 0x54, 0x58, 0xa7, 0xbe, 0x37, 0x0c, 0xdd, 0xd5, 0x67, 0x54, 0x86, 0x94, 0xf4,
0xb4, 0x9b, 0x19, 0x9c, 0x92, 0x1e, 0xb2, 0x54, 0xda, 0xb9, 0xa4, 0x5c, 0x1e, 0xeb, 0x00, 0x32,
0xd5, 0x74, 0xad, 0x88, 0xe7, 0x78, 0xd6, 0xef, 0x06, 0xa0, 0x65, 0x07, 0x2e, 0x30, 0xfc, 0x18,
0x72, 0xc3, 0xd0, 0xbd, 0xb0, 0x1d, 0x13, 0xef, 0xf7, 0xfa, 0x50, 0x70, 0xac, 0x85, 0xee, 0x29,
0x04, 0x2d, 0xa3, 0x3e, 0xcb, 0xd4, 0x06, 0xb8, 0xb6, 0x12, 0x01, 0xc7, 0x62, 0xd6, 0x9f, 0x06,
0xec, 0x2d, 0x63, 0xb7, 0xb8, 0x43, 0x7f, 0x78, 0x8b, 0x5c, 0xbd, 0xbb, 0xcb, 0xdb, 0xb0, 0xe1,
0x9d, 0x9e, 0x0a, 0x2a, 0xc3, 0xec, 0x86, 0x94, 0xaa, 0x82, 0x60, 0x3f, 0xd2, 0xf0, 0xdf, 0x85,
0x3e, 0x2f, 0xd6, 0x3f, 0x13, 0xd7, 0xdf, 0xfa, 0xdb, 0x80, 0x9d, 0x35, 0x51, 0xa0, 0xe7, 0x90,
0x0b, 0x3f, 0xb6, 0xa2, 0xb5, 0x78, 0xf7, 0x22, 0x1f, 0xb5, 0x52, 0x3d, 0x24, 0xc2, 0x0d, 0x19,
0x03, 0xec, 0x9e, 0x42, 0x69, 0xee, 0x6a, 0xc5, 0xc2, 0x79, 0x34, 0xbf, 0x70, 0xee, 0xbc, 0xd1,
0x58, 0x9c, 0x95, 0xd9, 0x02, 0x7a, 0x52, 0x7a, 0x5d, 0xa8, 0xdf, 0xfd, 0x2c, 0xd2, 0xec, 0x6d,
0xe8, 0xd3, 0xfd, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x87, 0x8a, 0x78, 0xd0, 0x09, 0x0e, 0x00,
0x00,
}

View File

@ -92,6 +92,11 @@ message CommunityRequestToJoinResponse {
bytes community_id = 5;
}
message CommunityRequestToLeave {
uint64 clock = 1;
bytes community_id = 2;
}
message CommunityMessageArchiveMagnetlink {
uint64 clock = 1;
string magnet_uri = 2;

View File

@ -241,6 +241,8 @@ func (m *StatusMessage) HandleApplication() error {
return m.unmarshalProtobufData(new(protobuf.CommunityRequestToJoin))
case protobuf.ApplicationMetadataMessage_COMMUNITY_REQUEST_TO_JOIN_RESPONSE:
return m.unmarshalProtobufData(new(protobuf.CommunityRequestToJoinResponse))
case protobuf.ApplicationMetadataMessage_COMMUNITY_REQUEST_TO_LEAVE:
return m.unmarshalProtobufData(new(protobuf.CommunityRequestToLeave))
case protobuf.ApplicationMetadataMessage_EDIT_MESSAGE:
return m.unmarshalProtobufData(new(protobuf.EditMessage))
case protobuf.ApplicationMetadataMessage_DELETE_MESSAGE: