Documentation
¶
Index ¶
- Constants
- Variables
- func AddTimeoutToRequestToJoinClock(clock uint64) (uint64, error)
- func CalculateRequestID(publicKey string, communityID types.HexBytes) types.HexBytes
- func CommunityDescriptionTokenOwnerChainID(description *protobuf.CommunityDescription) uint64
- func ExtractTokenCriteria(permissions []*CommunityTokenPermission) (erc20TokenCriteria map[uint64]map[string]*protobuf.TokenCriteria, ...)
- func HasTokenOwnership(description *protobuf.CommunityDescription) bool
- func RolesAuthorizedToPerformEvent(senderRoles []protobuf.CommunityMember_Roles, ...) bool
- func SetValidateInterval(duration time.Duration)
- func ToLinkPreveiwThumbnail(image images.IdentityImage) (*common.LinkPreviewThumbnail, error)
- func UnwrapCommunityDescriptionMessage(payload []byte) (*ecdsa.PublicKey, *protobuf.CommunityDescription, error)
- func ValidateCommunityDescription(desc *protobuf.CommunityDescription) error
- type AccountChainIDsCombination
- type BalancesByChain
- type CheckAllChannelsPermissionsResponse
- type CheckChannelPermissionsResponse
- type CheckChannelViewAndPostPermissionsResult
- type CheckChannelViewOnlyPermissionsResult
- type CheckPermissionToJoinResponse
- type CheckPermissionsResponse
- type CollectiblesByChain
- type CollectiblesManager
- type Community
- func (o *Community) AddCommunityTokensMetadata(token *protobuf.CommunityTokenMetadata) (*protobuf.CommunityDescription, error)
- func (o *Community) AddMember(publicKey *ecdsa.PublicKey, roles []protobuf.CommunityMember_Roles) (*CommunityChanges, error)
- func (o *Community) AddMemberToChat(chatID string, publicKey *ecdsa.PublicKey, ...) (*CommunityChanges, error)
- func (o *Community) AddMemberWithRevealedAccounts(dbRequest *RequestToJoin, roles []protobuf.CommunityMember_Roles, ...) (*CommunityChanges, error)
- func (o *Community) AddRequestToJoin(request *RequestToJoin)
- func (o *Community) AddRoleToMember(pk *ecdsa.PublicKey, role protobuf.CommunityMember_Roles) (*protobuf.CommunityDescription, error)
- func (o *Community) AdminSettings() *protobuf.CommunityAdminSettings
- func (o *Community) AllowsAllMembersToPinMessage() bool
- func (o *Community) AutoAccept() bool
- func (o *Community) BanUserFromCommunity(pk *ecdsa.PublicKey) (*protobuf.CommunityDescription, error)
- func (o *Community) BuildGrant(key *ecdsa.PublicKey, chatID string) ([]byte, error)
- func (o *Community) CanDeleteMessageForEveryone(pk *ecdsa.PublicKey) bool
- func (o *Community) CanManageUsers(pk *ecdsa.PublicKey) bool
- func (o *Community) CanManageUsersPublicKeys() ([]*ecdsa.PublicKey, error)
- func (o *Community) CanMemberIdentityPost(chatID string) (bool, error)
- func (o *Community) CanPost(pk *ecdsa.PublicKey, chatID string, grantBytes []byte) (bool, error)
- func (o *Community) CanRequestAccess(pk *ecdsa.PublicKey) bool
- func (o *Community) Categories() map[string]*protobuf.CommunityCategory
- func (o *Community) ChannelEncrypted(channelID string) bool
- func (o *Community) ChannelHasTokenPermissions(chatID string) bool
- func (o *Community) ChannelTokenPermissionsByType(channelID string, permissionType protobuf.CommunityTokenPermission_Type) []*CommunityTokenPermission
- func (o *Community) ChatID(channelID string) string
- func (o *Community) ChatIDs() (chatIDs []string)
- func (o *Community) Chats() map[string]*protobuf.CommunityChat
- func (o *Community) ChatsByCategoryID(categoryID string) []string
- func (o *Community) Clock() uint64
- func (o *Community) Color() string
- func (o *Community) CommunityChatsIDs() []string
- func (o *Community) CommunityShard() CommunityShard
- func (o *Community) CommunityTokensMetadata() []*protobuf.CommunityTokenMetadata
- func (o *Community) ControlNode() *ecdsa.PublicKey
- func (o *Community) CreateCategory(categoryID string, categoryName string, chatIDs []string) (*CommunityChanges, error)
- func (o *Community) CreateChat(chatID string, chat *protobuf.CommunityChat) (*CommunityChanges, error)
- func (o *Community) CreateDeepCopy() *Community
- func (o *Community) DeclineRequestToJoin(dbRequest *RequestToJoin) (adminEventCreated bool, err error)
- func (o *Community) DeleteCategory(categoryID string) (*CommunityChanges, error)
- func (o *Community) DeleteChat(chatID string) (*CommunityChanges, error)
- func (o *Community) DeleteTokenPermission(permissionID string) (*CommunityChanges, error)
- func (o *Community) Description() *protobuf.CommunityDescription
- func (o *Community) DescriptionProtocolMessage() []byte
- func (o *Community) DescriptionText() string
- func (o *Community) Edit(description *protobuf.CommunityDescription)
- func (o *Community) EditCategory(categoryID string, categoryName string, chatIDs []string) (*CommunityChanges, error)
- func (o *Community) EditChat(chatID string, chat *protobuf.CommunityChat) (*CommunityChanges, error)
- func (o *Community) Encrypted() bool
- func (o *Community) GetFilteredPrivilegedMembers(skipMembers map[string]struct{}) map[protobuf.CommunityMember_Roles][]*ecdsa.PublicKey
- func (o *Community) GetMember(pk *ecdsa.PublicKey) *protobuf.CommunityMember
- func (o *Community) GetMemberPubkeys() []*ecdsa.PublicKey
- func (o *Community) GetPrivilegedMembers() []*ecdsa.PublicKey
- func (o *Community) HasMember(pk *ecdsa.PublicKey) bool
- func (o *Community) HasPermissionToSendCommunityEvents() bool
- func (o *Community) HasTokenPermissions() bool
- func (o *Community) ID() types.HexBytes
- func (o *Community) IDString() string
- func (o *Community) Identity() *protobuf.ChatIdentity
- func (o *Community) Images() map[string]*protobuf.IdentityImage
- func (o *Community) IntroMessage() string
- func (o *Community) IsAdmin() bool
- func (o *Community) IsBanned(pk *ecdsa.PublicKey) bool
- func (o *Community) IsControlNode() bool
- func (o *Community) IsMemberAdmin(publicKey *ecdsa.PublicKey) bool
- func (o *Community) IsMemberInChat(pk *ecdsa.PublicKey, chatID string) bool
- func (o *Community) IsMemberOwner(publicKey *ecdsa.PublicKey) bool
- func (o *Community) IsMemberTokenMaster(publicKey *ecdsa.PublicKey) bool
- func (o *Community) IsOwner() bool
- func (o *Community) IsPrivilegedMember(publicKey *ecdsa.PublicKey) bool
- func (o *Community) IsTokenMaster() bool
- func (o *Community) Join()
- func (o *Community) Joined() bool
- func (o *Community) JoinedAt() int64
- func (o *Community) Leave()
- func (o *Community) MagnetlinkMessageChannelID() string
- func (o *Community) ManualAccept() bool
- func (o *Community) MarshalJSON() ([]byte, error)
- func (o *Community) MarshalPublicAPIJSON() ([]byte, error)
- func (o *Community) MarshaledDescription() ([]byte, error)
- func (o *Community) MemberCanManageToken(member *ecdsa.PublicKey, token *community_token.CommunityToken) bool
- func (o *Community) MemberIdentity() *ecdsa.PublicKey
- func (o *Community) MemberRole(pubKey *ecdsa.PublicKey) protobuf.CommunityMember_Roles
- func (o *Community) MemberUpdateChannelID() string
- func (o *Community) Members() map[string]*protobuf.CommunityMember
- func (o *Community) MembersCount() int
- func (o *Community) MuteTill() time.Time
- func (o *Community) Muted() bool
- func (o *Community) Name() string
- func (o *Community) NewCommunityEventClock() uint64
- func (o *Community) OutroMessage() string
- func (o *Community) PendingAndBannedMembers() map[string]CommunityMemberState
- func (o *Community) Permissions() *protobuf.CommunityPermissions
- func (o *Community) PopulateChatWithAllMembers(chatID string) (*CommunityChanges, error)
- func (o *Community) PrivateKey() *ecdsa.PrivateKey
- func (o *Community) PublicKey() *ecdsa.PublicKey
- func (o *Community) PubsubTopic() string
- func (o *Community) PubsubTopicKey() string
- func (o *Community) PubsubTopicPrivateKey() *ecdsa.PrivateKey
- func (o *Community) RemoveAllUsersFromOrg() *CommunityChanges
- func (o *Community) RemoveOurselvesFromOrg(pk *ecdsa.PublicKey)
- func (o *Community) RemoveRoleFromMember(pk *ecdsa.PublicKey, role protobuf.CommunityMember_Roles) (*protobuf.CommunityDescription, error)
- func (o *Community) RemoveUserFromChat(pk *ecdsa.PublicKey, chatID string) (*protobuf.CommunityDescription, error)
- func (o *Community) RemoveUserFromOrg(pk *ecdsa.PublicKey) (*protobuf.CommunityDescription, error)
- func (o *Community) ReorderCategories(categoryID string, newPosition int) (*CommunityChanges, error)
- func (o *Community) ReorderChat(categoryID string, chatID string, newPosition int) (*CommunityChanges, error)
- func (o *Community) RequestedToJoinAt() uint64
- func (o *Community) RequestsToJoin() []*RequestToJoin
- func (o *Community) SerializedID() (string, error)
- func (o *Community) SetActiveMembersCount(activeMembersCount uint64) (updated bool, err error)
- func (o *Community) SetPubsubTopicPrivateKey(privKey *ecdsa.PrivateKey)
- func (o *Community) Shard() *shard.Shard
- func (o *Community) SortCategoryChats(changes *CommunityChanges, categoryID string)
- func (o *Community) Spectate()
- func (o *Community) Spectated() bool
- func (o *Community) StatusUpdatesChannelID() string
- func (o *Community) Tags() []CommunityTag
- func (o *Community) TagsIndices() []uint32
- func (o *Community) TagsRaw() []string
- func (o *Community) ToAddTokenMetadataCommunityEvent(tokenMetadata *protobuf.CommunityTokenMetadata) *CommunityEvent
- func (o *Community) ToBanCommunityMemberCommunityEvent(pubkey string) *CommunityEvent
- func (o *Community) ToCommunityEditCommunityEvent(description *protobuf.CommunityDescription) *CommunityEvent
- func (o *Community) ToCommunityEventsMessage() *CommunityEventsMessage
- func (o *Community) ToCommunityRequestToJoinAcceptCommunityEvent(changes *CommunityEventChanges) *CommunityEvent
- func (o *Community) ToCommunityRequestToJoinRejectCommunityEvent(changes *CommunityEventChanges) *CommunityEvent
- func (o *Community) ToCommunityTokenPermissionChangeCommunityEvent(permission *protobuf.CommunityTokenPermission) *CommunityEvent
- func (o *Community) ToCommunityTokenPermissionDeleteCommunityEvent(permission *protobuf.CommunityTokenPermission) *CommunityEvent
- func (o *Community) ToCreateCategoryCommunityEvent(categoryID string, categoryName string, channelsIds []string) *CommunityEvent
- func (o *Community) ToCreateChannelCommunityEvent(channelID string, channel *protobuf.CommunityChat) *CommunityEvent
- func (o *Community) ToDeleteCategoryCommunityEvent(categoryID string) *CommunityEvent
- func (o *Community) ToDeleteChannelCommunityEvent(channelID string) *CommunityEvent
- func (o *Community) ToEditCategoryCommunityEvent(categoryID string, categoryName string, channelsIds []string) *CommunityEvent
- func (o *Community) ToEditChannelCommunityEvent(channelID string, channel *protobuf.CommunityChat) *CommunityEvent
- func (o *Community) ToKickCommunityMemberCommunityEvent(pubkey string) *CommunityEvent
- func (o *Community) ToProtocolMessageBytes() ([]byte, error)
- func (o *Community) ToReorderCategoryCommunityEvent(categoryID string, position int) *CommunityEvent
- func (o *Community) ToReorderChannelCommunityEvent(categoryID string, channelID string, position int) *CommunityEvent
- func (c *Community) ToStatusLinkPreview() (*common.StatusCommunityLinkPreview, error)
- func (o *Community) ToSyncInstallationCommunityProtobuf(clock uint64, communitySettings *CommunitySettings, ...) (*protobuf.SyncInstallationCommunity, error)
- func (o *Community) ToUnbanCommunityMemberCommunityEvent(pubkey string) *CommunityEvent
- func (o *Community) TokenPermissionByID(ID string) *CommunityTokenPermission
- func (o *Community) TokenPermissions() map[string]*CommunityTokenPermission
- func (o *Community) TokenPermissionsByType(permissionType protobuf.CommunityTokenPermission_Type) []*CommunityTokenPermission
- func (o *Community) UnbanUserFromCommunity(pk *ecdsa.PublicKey) (*protobuf.CommunityDescription, error)
- func (o *Community) UncompressedIDString() string
- func (o *Community) UpdateChatFirstMessageTimestamp(chatID string, timestamp uint32) (*CommunityChanges, error)
- func (o *Community) UpdateCommunityByEvents(communityEventMessage *CommunityEventsMessage) error
- func (o *Community) UpdateCommunityDescription(description *protobuf.CommunityDescription, rawMessage []byte, ...) (*CommunityChanges, error)
- func (o *Community) UpsertTokenPermission(tokenPermission *protobuf.CommunityTokenPermission) (*CommunityChanges, error)
- func (o *Community) ValidateEditSharedAddresses(signer *ecdsa.PublicKey, request *protobuf.CommunityEditSharedAddresses) error
- func (o *Community) ValidateEvent(event *CommunityEvent, signer *ecdsa.PublicKey) error
- func (o *Community) ValidateRequestToJoin(signer *ecdsa.PublicKey, request *protobuf.CommunityRequestToJoin) error
- func (o *Community) Verified() bool
- func (o *Community) VerifyGrantSignature(data []byte) (*protobuf.Grant, error)
- type CommunityAdminSettings
- type CommunityCategory
- type CommunityChanges
- type CommunityChat
- type CommunityChatChanges
- type CommunityEvent
- type CommunityEventChanges
- type CommunityEventsMessage
- type CommunityEventsMessageInvalidClockSignal
- type CommunityMemberState
- type CommunityPrivilegedMemberSyncMessage
- type CommunityRecord
- type CommunityRecordBundle
- type CommunityResponse
- type CommunitySettings
- type CommunityShard
- type CommunityTag
- type CommunityTokenPermission
- type Config
- type CuratedCommunities
- type DefaultPermissionChecker
- func (p *DefaultPermissionChecker) CheckPermissionToJoin(community *Community, addresses []gethcommon.Address) (*CheckPermissionToJoinResponse, error)
- func (p *DefaultPermissionChecker) CheckPermissions(permissions []*CommunityTokenPermission, ...) (*CheckPermissionsResponse, error)
- func (p *DefaultPermissionChecker) GetOwnedERC721Tokens(walletAddresses []gethcommon.Address, ...) (CollectiblesByChain, error)
- type DefaultTokenManager
- func (m *DefaultTokenManager) FindOrCreateTokenByAddress(ctx context.Context, chainID uint64, address gethcommon.Address) *token.Token
- func (m *DefaultTokenManager) GetAllChainIDs() ([]uint64, error)
- func (m *DefaultTokenManager) GetBalancesByChain(ctx context.Context, accounts, tokenAddresses []gethcommon.Address, ...) (BalancesByChain, error)
- type DescriptionEncryptor
- type EncodedArchiveData
- type EncryptionKeyAction
- type EncryptionKeyActionType
- type EncryptionKeyActions
- type EventsData
- type EventsRecord
- type HistoryArchiveDownloadTask
- type HistoryArchiveDownloadTaskInfo
- type KeyDistributor
- type KnownCommunitiesResponse
- type Manager
- func (m *Manager) AcceptRequestToJoin(dbRequest *RequestToJoin) (*Community, error)
- func (m *Manager) AcceptedPendingRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
- func (m *Manager) AcceptedRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
- func (m *Manager) AddCommunityToken(token *community_token.CommunityToken, clock uint64) (*Community, error)
- func (m *Manager) AddHistoryArchiveDownloadTask(communityID string, task *HistoryArchiveDownloadTask)
- func (m *Manager) AddMemberOwnerToCommunity(communityID types.HexBytes, pk *ecdsa.PublicKey) (*Community, error)
- func (m *Manager) AddRoleToMember(request *requests.AddRoleToMember) (*Community, error)
- func (m *Manager) All() ([]*Community, error)
- func (m *Manager) AllNonApprovedCommunitiesRequestsToJoin() ([]*RequestToJoin, error)
- func (m *Manager) BanUserFromCommunity(request *requests.BanUserFromCommunity) (*Community, error)
- func (m *Manager) CanPost(pk *ecdsa.PublicKey, communityID string, chatID string, grant []byte) (bool, error)
- func (m *Manager) CancelRequestToJoin(request *requests.CancelRequestToJoinCommunity) (*RequestToJoin, *Community, error)
- func (m *Manager) CanceledRequestToJoinForUserForCommunityID(pk *ecdsa.PublicKey, communityID []byte) (*RequestToJoin, error)
- func (m *Manager) CanceledRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
- func (m *Manager) CanceledRequestsToJoinForUser(pk *ecdsa.PublicKey) ([]*RequestToJoin, error)
- func (m *Manager) CheckAllChannelsPermissions(communityID types.HexBytes, addresses []gethcommon.Address) (*CheckAllChannelsPermissionsResponse, error)
- func (m *Manager) CheckChannelPermissions(communityID types.HexBytes, chatID string, addresses []gethcommon.Address) (*CheckChannelPermissionsResponse, error)
- func (m *Manager) CheckCommunityForJoining(communityID types.HexBytes) (*Community, error)
- func (m *Manager) CheckPermissionToJoin(id []byte, addresses []gethcommon.Address) (*CheckPermissionToJoinResponse, error)
- func (m *Manager) CommunitiesToValidate() (map[string][]communityToValidate, error)
- func (m *Manager) CommunitySettingsExist(id types.HexBytes) (bool, error)
- func (m *Manager) Controlled() ([]*Community, error)
- func (m *Manager) CreateAndSeedHistoryArchive(communityID types.HexBytes, topics []types.TopicType, startDate time.Time, ...) error
- func (m *Manager) CreateCategory(request *requests.CreateCommunityCategory, publish bool) (*Community, *CommunityChanges, error)
- func (m *Manager) CreateChat(communityID types.HexBytes, chat *protobuf.CommunityChat, publish bool, ...) (*CommunityChanges, error)
- func (m *Manager) CreateCommunity(request *requests.CreateCommunity, publish bool) (*Community, error)
- func (m *Manager) CreateCommunityTokenDeploymentSignature(ctx context.Context, chainID uint64, addressFrom string, communityID string) ([]byte, error)
- func (m *Manager) CreateCommunityTokenPermission(request *requests.CreateCommunityTokenPermission) (*Community, *CommunityChanges, error)
- func (m *Manager) CreateHistoryArchiveTorrent(communityID types.HexBytes, msgs []*types.Message, topics []types.TopicType, ...) ([]string, error)
- func (m *Manager) CreateHistoryArchiveTorrentFromDB(communityID types.HexBytes, topics []types.TopicType, startDate time.Time, ...) ([]string, error)
- func (m *Manager) CreateHistoryArchiveTorrentFromMessages(communityID types.HexBytes, messages []*types.Message, ...) ([]string, error)
- func (m *Manager) CreateRequestToJoin(request *requests.RequestToJoinCommunity) *RequestToJoin
- func (m *Manager) DeclineRequestToJoin(dbRequest *RequestToJoin) (*Community, error)
- func (m *Manager) DeclinedPendingRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
- func (m *Manager) DeclinedRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
- func (m *Manager) DeleteCategory(request *requests.DeleteCommunityCategory) (*Community, *CommunityChanges, error)
- func (m *Manager) DeleteChat(communityID types.HexBytes, chatID string) (*Community, *CommunityChanges, error)
- func (m *Manager) DeleteCommunity(id types.HexBytes) error
- func (m *Manager) DeleteCommunitySettings(id types.HexBytes) error
- func (m *Manager) DeleteCommunityShard(communityID types.HexBytes) error
- func (m *Manager) DeleteCommunityTokenPermission(request *requests.DeleteCommunityTokenPermission) (*Community, *CommunityChanges, error)
- func (m *Manager) DeleteHistoryArchiveDownloadTask(communityID string)
- func (m *Manager) DeletePendingRequestToJoin(request *RequestToJoin) error
- func (m *Manager) DeletedCommunities() ([]*Community, error)
- func (m *Manager) DownloadHistoryArchivesByMagnetlink(communityID types.HexBytes, magnetlink string, cancelTask chan struct{}) (*HistoryArchiveDownloadTaskInfo, error)
- func (m *Manager) EditCategory(request *requests.EditCommunityCategory) (*Community, *CommunityChanges, error)
- func (m *Manager) EditChat(communityID types.HexBytes, chatID string, chat *protobuf.CommunityChat) (*Community, *CommunityChanges, error)
- func (m *Manager) EditChatFirstMessageTimestamp(communityID types.HexBytes, chatID string, timestamp uint32) (*Community, *CommunityChanges, error)
- func (m *Manager) EditCommunity(request *requests.EditCommunity) (*Community, error)
- func (m *Manager) EditCommunityTokenPermission(request *requests.EditCommunityTokenPermission) (*Community, *CommunityChanges, error)
- func (m *Manager) ExportCommunity(id types.HexBytes) (*ecdsa.PrivateKey, error)
- func (m *Manager) ExtractMessagesFromHistoryArchive(communityID types.HexBytes, archiveID string) ([]*protobuf.WakuMessage, error)
- func (m *Manager) FetchCommunityToken(community *Community, tokenMetadata *protobuf.CommunityTokenMetadata, ...) (*community_token.CommunityToken, error)
- func (m *Manager) GenerateRequestsToJoinForAutoApprovalOnNewOwnership(communityID types.HexBytes, kickedMembers map[string]*protobuf.CommunityMember) ([]*RequestToJoin, error)
- func (m *Manager) GetAllCommunityTokens() ([]*community_token.CommunityToken, error)
- func (m *Manager) GetByID(id []byte) (*Community, error)
- func (m *Manager) GetByIDString(idString string) (*Community, error)
- func (m *Manager) GetCheckChannelPermissionResponses(communityID types.HexBytes) (*CheckAllChannelsPermissionsResponse, error)
- func (m *Manager) GetCommunitiesSettings() ([]CommunitySettings, error)
- func (m *Manager) GetCommunityChatsFilters(communityID types.HexBytes) ([]*transport.Filter, error)
- func (m *Manager) GetCommunityChatsTopics(communityID types.HexBytes) ([]types.TopicType, error)
- func (m *Manager) GetCommunityRequestToJoinClock(pk *ecdsa.PublicKey, communityID string) (uint64, error)
- func (m *Manager) GetCommunityRequestToJoinWithRevealedAddresses(pubKey string, communityID types.HexBytes) (*RequestToJoin, error)
- func (m *Manager) GetCommunityRequestsToJoinWithRevealedAddresses(communityID types.HexBytes) ([]*RequestToJoin, error)
- func (m *Manager) GetCommunitySettingsByID(id types.HexBytes) (*CommunitySettings, error)
- func (m *Manager) GetCommunityShard(communityID types.HexBytes) (*shard.Shard, error)
- func (m *Manager) GetCommunityToken(communityID string, chainID int, address string) (*community_token.CommunityToken, error)
- func (m *Manager) GetCommunityTokens(communityID string) ([]*community_token.CommunityToken, error)
- func (m *Manager) GetCuratedCommunities() (*CuratedCommunities, error)
- func (m *Manager) GetHistoryArchiveDownloadTask(communityID string) *HistoryArchiveDownloadTask
- func (m *Manager) GetHistoryArchiveMagnetlink(communityID types.HexBytes) (string, error)
- func (m *Manager) GetHistoryArchivePartitionStartTimestamp(communityID types.HexBytes) (uint64, error)
- func (m *Manager) GetLastMessageArchiveEndDate(communityID types.HexBytes) (uint64, error)
- func (m *Manager) GetLastSeenMagnetlink(communityID types.HexBytes) (string, error)
- func (m *Manager) GetLatestWakuMessageTimestamp(topics []types.TopicType) (uint64, error)
- func (m *Manager) GetMagnetlinkMessageClock(communityID types.HexBytes) (uint64, error)
- func (m *Manager) GetMessageArchiveIDsToImport(communityID types.HexBytes) ([]string, error)
- func (m *Manager) GetOldestWakuMessageTimestamp(topics []types.TopicType) (uint64, error)
- func (m *Manager) GetOwnedCommunitiesChatIDs() (map[string]bool, error)
- func (m *Manager) GetOwnedERC721Tokens(walletAddresses []gethcommon.Address, ...) (CollectiblesByChain, error)
- func (m *Manager) GetRequestToJoin(ID types.HexBytes) (*RequestToJoin, error)
- func (m *Manager) GetRequestToJoinByPkAndCommunityID(pk *ecdsa.PublicKey, communityID []byte) (*RequestToJoin, error)
- func (m *Manager) GetRequestToJoinIDByPkAndCommunityID(pk *ecdsa.PublicKey, communityID []byte) ([]byte, error)
- func (m *Manager) GetRevealedAddresses(communityID types.HexBytes, memberPk string) ([]*protobuf.RevealedAccount, error)
- func (m *Manager) GetStoredDescriptionForCommunities(communityIDs []string) (*KnownCommunitiesResponse, error)
- func (m *Manager) GetSyncControlNode(id types.HexBytes) (*protobuf.SyncCommunityControlNode, error)
- func (m *Manager) GetSyncedRawCommunity(id []byte) (*RawCommunityRow, error)
- func (m *Manager) HandleCommunityCancelRequestToJoin(signer *ecdsa.PublicKey, request *protobuf.CommunityCancelRequestToJoin) (*RequestToJoin, error)
- func (m *Manager) HandleCommunityDescriptionMessage(signer *ecdsa.PublicKey, description *protobuf.CommunityDescription, ...) (*CommunityResponse, error)
- func (m *Manager) HandleCommunityEditSharedAddresses(signer *ecdsa.PublicKey, request *protobuf.CommunityEditSharedAddresses) error
- func (m *Manager) HandleCommunityEventsMessage(signer *ecdsa.PublicKey, message *protobuf.CommunityEventsMessage) (*CommunityResponse, error)
- func (m *Manager) HandleCommunityEventsMessageRejected(signer *ecdsa.PublicKey, message *protobuf.CommunityEventsMessageRejected) (*CommunityEventsMessage, error)
- func (m *Manager) HandleCommunityRequestToJoin(signer *ecdsa.PublicKey, receiver *ecdsa.PublicKey, ...) (*Community, *RequestToJoin, error)
- func (m *Manager) HandleCommunityRequestToJoinResponse(signer *ecdsa.PublicKey, request *protobuf.CommunityRequestToJoinResponse) (*RequestToJoin, error)
- func (m *Manager) HandleCommunityRequestToLeave(signer *ecdsa.PublicKey, proto *protobuf.CommunityRequestToLeave) error
- func (m *Manager) HandleRequestToJoinPrivilegedUserSyncMessage(message *protobuf.CommunityPrivilegedUserSyncMessage, ...) ([]*RequestToJoin, error)
- func (m *Manager) HandleSyncAllRequestToJoinForNewPrivilegedMember(message *protobuf.CommunityPrivilegedUserSyncMessage, ...) ([]*RequestToJoin, error)
- func (m *Manager) HandleSyncCommunitySettings(syncCommunitySettings *protobuf.SyncCommunitySettings) (*CommunitySettings, error)
- func (m *Manager) ImageToBase64(uri string) string
- func (m *Manager) ImportCommunity(key *ecdsa.PrivateKey, clock uint64) (*Community, error)
- func (m *Manager) IsChannelEncrypted(communityID string, chatID string) (bool, error)
- func (m *Manager) IsEncrypted(communityID string) (bool, error)
- func (m *Manager) IsSeedingHistoryArchiveTorrent(communityID types.HexBytes) bool
- func (m *Manager) JoinCommunity(id types.HexBytes, forceJoin bool) (*Community, error)
- func (m *Manager) Joined() ([]*Community, error)
- func (m *Manager) JoinedAndPendingCommunitiesWithRequests() ([]*Community, error)
- func (m *Manager) KickedOutOfCommunity(id types.HexBytes) (*Community, error)
- func (m *Manager) LeaveCommunity(id types.HexBytes) (*Community, error)
- func (m *Manager) LoadHistoryArchiveIndexFromFile(myKey *ecdsa.PrivateKey, communityID types.HexBytes) (*protobuf.WakuMessageArchiveIndex, error)
- func (m *Manager) LogStdout(msg string, fields ...zap.Field)
- func (m *Manager) MuteCommunityTill(communityID []byte, muteTill time.Time) error
- func (m *Manager) PendingRequestsToJoin() ([]*RequestToJoin, error)
- func (m *Manager) PendingRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
- func (m *Manager) PendingRequestsToJoinForUser(pk *ecdsa.PublicKey) ([]*RequestToJoin, error)
- func (m *Manager) PromoteSelfToControlNode(community *Community, clock uint64) (*CommunityChanges, error)
- func (m *Manager) Queue(signer *ecdsa.PublicKey, community *Community, clock uint64, payload []byte) error
- func (m *Manager) ReevaluateCommunityMembersPermissions(community *Community) error
- func (m *Manager) ReevaluateMembers(community *Community) (map[protobuf.CommunityMember_Roles][]*ecdsa.PublicKey, error)
- func (m *Manager) ReevaluateMembersPeriodically(communityID types.HexBytes)
- func (m *Manager) ReevaluatePrivilegedMember(community *Community, tokenPermissions []*CommunityTokenPermission, ...) (bool, error)
- func (m *Manager) RemoveCommunityToken(chainID int, contractAddress string) error
- func (m *Manager) RemovePrivateKey(id types.HexBytes) (*Community, error)
- func (m *Manager) RemoveRequestToJoinRevealedAddresses(requestID types.HexBytes) error
- func (m *Manager) RemoveRoleFromMember(request *requests.RemoveRoleFromMember) (*Community, error)
- func (m *Manager) RemoveUserFromCommunity(id types.HexBytes, pk *ecdsa.PublicKey) (*Community, error)
- func (m *Manager) ReorderCategories(request *requests.ReorderCommunityCategories) (*Community, *CommunityChanges, error)
- func (m *Manager) ReorderChat(request *requests.ReorderCommunityChat) (*Community, *CommunityChanges, error)
- func (m *Manager) RequestsToJoinForCommunityAwaitingAddresses(id types.HexBytes) ([]*RequestToJoin, error)
- func (m *Manager) SafeGetSignerPubKey(chainID uint64, communityID string) (string, error)
- func (m *Manager) SaveCommunity(community *Community) error
- func (m *Manager) SaveCommunitySettings(settings CommunitySettings) error
- func (m *Manager) SaveCommunityShard(communityID types.HexBytes, shard *shard.Shard, clock uint64) error
- func (m *Manager) SaveCommunityToken(token *community_token.CommunityToken, croppedImage *images.CroppedImage) (*community_token.CommunityToken, error)
- func (m *Manager) SaveRequestToJoin(request *RequestToJoin) error
- func (m *Manager) SaveRequestToJoinAndCommunity(requestToJoin *RequestToJoin, community *Community) (*Community, *RequestToJoin, error)
- func (m *Manager) SaveRequestToJoinRevealedAddresses(requestID types.HexBytes, revealedAccounts []*protobuf.RevealedAccount) error
- func (m *Manager) SaveSyncControlNode(id types.HexBytes, syncControlNode *protobuf.SyncCommunityControlNode) error
- func (m *Manager) SeedHistoryArchiveTorrent(communityID types.HexBytes) error
- func (m *Manager) SetCommunityActiveMembersCount(communityID string, activeMembersCount uint64) error
- func (m *Manager) SetCuratedCommunities(communities *CuratedCommunities) error
- func (m *Manager) SetMessageArchiveIDImported(communityID types.HexBytes, hash string, imported bool) error
- func (m *Manager) SetMuted(id types.HexBytes, muted bool) error
- func (m *Manager) SetPrivateKey(id []byte, privKey *ecdsa.PrivateKey) error
- func (m *Manager) SetShard(communityID types.HexBytes, shard *shard.Shard) (*Community, error)
- func (m *Manager) SetSyncClock(id []byte, clock uint64) error
- func (m *Manager) SetSyncControlNode(id types.HexBytes, syncControlNode *protobuf.SyncCommunityControlNode) error
- func (m *Manager) SetTorrentConfig(config *params.TorrentConfig)
- func (m *Manager) ShouldHandleSyncCommunity(community *protobuf.SyncInstallationCommunity) (bool, error)
- func (m *Manager) ShouldHandleSyncCommunitySettings(communitySettings *protobuf.SyncCommunitySettings) (bool, error)
- func (m *Manager) SpectateCommunity(id types.HexBytes) (*Community, error)
- func (m *Manager) Spectated() ([]*Community, error)
- func (m *Manager) Start() error
- func (m *Manager) StartHistoryArchiveTasksInterval(community *Community, interval time.Duration)
- func (m *Manager) StartTorrentClient() error
- func (m *Manager) Stop() error
- func (m *Manager) StopHistoryArchiveTasksInterval(communityID types.HexBytes)
- func (m *Manager) StopHistoryArchiveTasksIntervals()
- func (m *Manager) StopTorrentClient() []error
- func (m *Manager) StoreWakuMessage(message *types.Message) error
- func (m *Manager) StoreWakuMessages(messages []*types.Message) error
- func (m *Manager) Subscribe() chan *Subscription
- func (m *Manager) TorrentClientStarted() bool
- func (m *Manager) TorrentFileExists(communityID string) bool
- func (m *Manager) UnbanUserFromCommunity(request *requests.UnbanUserFromCommunity) (*Community, error)
- func (m *Manager) UnseedHistoryArchiveTorrent(communityID types.HexBytes)
- func (m *Manager) UpdateClockInRequestToJoin(id types.HexBytes, clock uint64) error
- func (m *Manager) UpdateCommunity(c *Community) error
- func (m *Manager) UpdateCommunityDescriptionMagnetlinkMessageClock(communityID types.HexBytes, clock uint64) error
- func (m *Manager) UpdateCommunitySettings(settings CommunitySettings) error
- func (m *Manager) UpdateCommunityTokenAddress(chainID int, oldContractAddress string, newContractAddress string) error
- func (m *Manager) UpdateCommunityTokenState(chainID int, contractAddress string, deployState community_token.DeployState) error
- func (m *Manager) UpdateCommunityTokenSupply(chainID int, contractAddress string, supply *bigint.BigInt) error
- func (m *Manager) UpdateLastSeenMagnetlink(communityID types.HexBytes, magnetlinkURI string) error
- func (m *Manager) UpdateMagnetlinkMessageClock(communityID types.HexBytes, clock uint64) error
- func (m *Manager) UpdatePubsubTopicPrivateKey(community *Community, privKey *ecdsa.PrivateKey) error
- func (m *Manager) UpdateShard(community *Community, shard *shard.Shard) error
- func (m *Manager) ValidateCommunityByID(communityID types.HexBytes) (*CommunityResponse, error)
- func (m *Manager) ValidateCommunityPrivilegedUserSyncMessage(message *protobuf.CommunityPrivilegedUserSyncMessage) error
- type ManagerOption
- func WithAccountManager(accountsManager account.Manager) ManagerOption
- func WithCollectiblesManager(collectiblesManager CollectiblesManager) ManagerOption
- func WithCommunityTokensService(communityTokensService communitytokens.ServiceInterface) ManagerOption
- func WithPermissionChecker(permissionChecker PermissionChecker) ManagerOption
- func WithTokenManager(tokenManager TokenManager) ManagerOption
- func WithWalletConfig(walletConfig *params.WalletConfig) ManagerOption
- type OwnerVerifier
- type PermissionChecker
- type PermissionTokenCriteriaResult
- type Persistence
- func (p *Persistence) AcceptedPendingRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
- func (p *Persistence) AcceptedRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
- func (p *Persistence) AddCommunityToken(token *token.CommunityToken) error
- func (p *Persistence) AllCommunities(memberIdentity *ecdsa.PublicKey) ([]*Community, error)
- func (p *Persistence) AllNonApprovedCommunitiesRequestsToJoin() ([]*RequestToJoin, error)
- func (p *Persistence) CanceledRequestToJoinForUserForCommunityID(pk string, communityID []byte) (*RequestToJoin, error)
- func (p *Persistence) CanceledRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
- func (p *Persistence) CanceledRequestsToJoinForUser(pk string) ([]*RequestToJoin, error)
- func (p *Persistence) CommunitiesWithPrivateKey(memberIdentity *ecdsa.PublicKey) ([]*Community, error)
- func (p *Persistence) CommunitySettingsExist(communityID types.HexBytes) (bool, error)
- func (p *Persistence) DeclinedPendingRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
- func (p *Persistence) DeclinedRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
- func (p *Persistence) DeleteCommunitiesToValidateByCommunityID(communityID []byte) error
- func (p *Persistence) DeleteCommunity(id types.HexBytes) error
- func (p *Persistence) DeleteCommunityEvents(id types.HexBytes) error
- func (p *Persistence) DeleteCommunitySettings(communityID types.HexBytes) error
- func (p *Persistence) DeleteCommunityShard(communityID types.HexBytes) error
- func (p *Persistence) DeleteCommunityToValidate(communityID []byte, clock uint64) error
- func (p *Persistence) DeletePendingRequestToJoin(id []byte) error
- func (p *Persistence) DeletedCommunities(memberIdentity *ecdsa.PublicKey) (comms []*Community, err error)
- func (p *Persistence) GetAllCommunityTokens() ([]*token.CommunityToken, error)
- func (p *Persistence) GetByID(memberIdentity *ecdsa.PublicKey, id []byte) (*Community, error)
- func (p *Persistence) GetCheckChannelPermissionResponses(communityID string) (map[string]*CheckChannelPermissionsResponse, error)
- func (p *Persistence) GetCommunitiesSettings() ([]CommunitySettings, error)
- func (p *Persistence) GetCommunityChatIDs(communityID types.HexBytes) ([]string, error)
- func (p *Persistence) GetCommunityRequestToJoinWithRevealedAddresses(pubKey string, communityID []byte) (*RequestToJoin, error)
- func (p *Persistence) GetCommunityRequestsToJoinWithRevealedAddresses(communityID []byte) ([]*RequestToJoin, error)
- func (p *Persistence) GetCommunitySettingsByID(communityID types.HexBytes) (*CommunitySettings, error)
- func (p *Persistence) GetCommunityShard(communityID types.HexBytes) (*shard.Shard, error)
- func (p *Persistence) GetCommunityToken(communityID string, chainID int, address string) (*token.CommunityToken, error)
- func (p *Persistence) GetCommunityTokens(communityID string) ([]*token.CommunityToken, error)
- func (p *Persistence) GetCuratedCommunities() (*CuratedCommunities, error)
- func (p *Persistence) GetDownloadedMessageArchiveIDs(communityID types.HexBytes) ([]string, error)
- func (p *Persistence) GetLastMessageArchiveEndDate(communityID types.HexBytes) (uint64, error)
- func (p *Persistence) GetLastSeenMagnetlink(communityID types.HexBytes) (string, error)
- func (p *Persistence) GetLatestWakuMessageTimestamp(topics []types.TopicType) (uint64, error)
- func (p *Persistence) GetMagnetlinkMessageClock(communityID types.HexBytes) (uint64, error)
- func (p *Persistence) GetMessageArchiveIDsToImport(communityID types.HexBytes) ([]string, error)
- func (p *Persistence) GetOldestWakuMessageTimestamp(topics []types.TopicType) (uint64, error)
- func (p *Persistence) GetPermissionTokenCriteriaResult(permissionID string, communityID string, chatID string) (*PermissionTokenCriteriaResult, error)
- func (p *Persistence) GetRequestToJoin(id []byte) (*RequestToJoin, error)
- func (p *Persistence) GetRequestToJoinByPk(pk string, communityID []byte, state RequestToJoinState) (*RequestToJoin, error)
- func (p *Persistence) GetRequestToJoinByPkAndCommunityID(pk string, communityID []byte) (*RequestToJoin, error)
- func (p *Persistence) GetRequestToJoinIDByPkAndCommunityID(pk string, communityID []byte) ([]byte, error)
- func (p *Persistence) GetRequestToJoinRevealedAddresses(requestID []byte) ([]*protobuf.RevealedAccount, error)
- func (p *Persistence) GetSyncControlNode(communityID types.HexBytes) (*protobuf.SyncCommunityControlNode, error)
- func (p *Persistence) GetWakuMessagesByFilterTopic(topics []types.TopicType, from uint64, to uint64) ([]types.Message, error)
- func (p *Persistence) HasCommunityArchiveInfo(communityID types.HexBytes) (exists bool, err error)
- func (p *Persistence) HasCommunityToken(communityID string, address string, chainID int) (bool, error)
- func (p *Persistence) HasMessageArchiveID(communityID types.HexBytes, hash string) (exists bool, err error)
- func (p *Persistence) HasPendingRequestsToJoinForUserAndCommunity(userPk string, communityID []byte) (bool, error)
- func (p *Persistence) JoinedAndPendingCommunitiesWithRequests(memberIdentity *ecdsa.PublicKey) (comms []*Community, err error)
- func (p *Persistence) JoinedCommunities(memberIdentity *ecdsa.PublicKey) ([]*Community, error)
- func (p *Persistence) MuteCommunityTill(communityID []byte, mutedTill time.Time) error
- func (p *Persistence) PendingRequestsToJoin() ([]*RequestToJoin, error)
- func (p *Persistence) PendingRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
- func (p *Persistence) RemoveAllCommunityRequestsToJoinWithRevealedAddressesExceptPublicKey(pk string, communityID []byte) error
- func (p *Persistence) RemoveCommunityToken(chainID int, contractAddress string) error
- func (p *Persistence) RemoveRequestToJoinRevealedAddresses(requestID []byte) error
- func (p *Persistence) RequestsToJoinForCommunityAwaitingAddresses(id []byte) ([]*RequestToJoin, error)
- func (p *Persistence) RequestsToJoinForCommunityWithState(id []byte, state RequestToJoinState) ([]*RequestToJoin, error)
- func (p *Persistence) RequestsToJoinForUserByState(pk string, state RequestToJoinState) ([]*RequestToJoin, error)
- func (p *Persistence) SaveCheckChannelPermissionResponse(communityID string, chatID string, response *CheckChannelPermissionsResponse) error
- func (p *Persistence) SaveCommunity(community *Community) error
- func (p *Persistence) SaveCommunityArchiveInfo(communityID types.HexBytes, clock uint64, lastArchiveEndDate uint64) error
- func (p *Persistence) SaveCommunityEvents(community *Community) error
- func (p *Persistence) SaveCommunitySettings(communitySettings CommunitySettings) error
- func (p *Persistence) SaveCommunityShard(communityID types.HexBytes, shard *shard.Shard, clock uint64) error
- func (p *Persistence) SaveCommunityToValidate(c communityToValidate) error
- func (p *Persistence) SaveLastMessageArchiveEndDate(communityID types.HexBytes, endDate uint64) error
- func (p *Persistence) SaveMessageArchiveID(communityID types.HexBytes, hash string) error
- func (p *Persistence) SaveRequestToJoin(request *RequestToJoin) (err error)
- func (p *Persistence) SaveRequestToJoinRevealedAddresses(requestID types.HexBytes, revealedAccounts []*protobuf.RevealedAccount) (err error)
- func (p *Persistence) SaveRequestToLeave(request *RequestToLeave) error
- func (p *Persistence) SaveRequestsToJoin(requests []*RequestToJoin) (err error)
- func (p *Persistence) SaveSyncControlNode(communityID types.HexBytes, clock uint64, installationID string) error
- func (p *Persistence) SaveWakuMessage(message *types.Message) error
- func (p *Persistence) SaveWakuMessages(messages []*types.Message) (err error)
- func (p *Persistence) SetCuratedCommunities(communities *CuratedCommunities) error
- func (p *Persistence) SetMessageArchiveIDImported(communityID types.HexBytes, hash string, imported bool) error
- func (p *Persistence) SetMuted(communityID []byte, muted bool) error
- func (p *Persistence) SetPrivateKey(id []byte, privKey *ecdsa.PrivateKey) error
- func (p *Persistence) SetRequestToJoinState(pk string, communityID []byte, state RequestToJoinState) error
- func (p *Persistence) SetSyncClock(id []byte, clock uint64) error
- func (p *Persistence) ShouldHandleSyncCommunity(community *protobuf.SyncInstallationCommunity) (bool, error)
- func (p *Persistence) ShouldHandleSyncCommunitySettings(settings *protobuf.SyncCommunitySettings) (bool, error)
- func (p *Persistence) SpectatedCommunities(memberIdentity *ecdsa.PublicKey) ([]*Community, error)
- func (p *Persistence) UpdateClockInRequestToJoin(id []byte, clock uint64) error
- func (p *Persistence) UpdateCommunitySettings(communitySettings CommunitySettings) error
- func (p *Persistence) UpdateCommunityTokenAddress(chainID int, oldContractAddress string, newContractAddress string) error
- func (p *Persistence) UpdateCommunityTokenState(chainID int, contractAddress string, deployState token.DeployState) error
- func (p *Persistence) UpdateCommunityTokenSupply(chainID int, contractAddress string, supply *bigint.BigInt) error
- func (p *Persistence) UpdateLastMessageArchiveEndDate(communityID types.HexBytes, endDate uint64) error
- func (p *Persistence) UpdateLastSeenMagnetlink(communityID types.HexBytes, magnetlinkURI string) error
- func (p *Persistence) UpdateMagnetlinkMessageClock(communityID types.HexBytes, clock uint64) error
- type RawCommunityRow
- type RequestToJoin
- func (r *RequestToJoin) CalculateID()
- func (r *RequestToJoin) Empty() bool
- func (r *RequestToJoin) InitFromSyncProtobuf(proto *protobuf.SyncCommunityRequestsToJoin)
- func (r *RequestToJoin) ShouldRetainDeclined(clock uint64) (bool, error)
- func (r *RequestToJoin) ToCommunityRequestToJoinProtobuf() *protobuf.CommunityRequestToJoin
- func (r *RequestToJoin) ToSyncProtobuf() *protobuf.SyncCommunityRequestsToJoin
- type RequestToJoinRecord
- type RequestToJoinState
- type RequestToLeave
- type Subscription
- type TokenManager
- type TokenPermissionState
Constants ¶
const OR = " OR "
Variables ¶
var ( ErrTorrentTimedout = errors.New("torrent has timed out") ErrCommunityRequestAlreadyRejected = errors.New("that user was already rejected from the community") ErrInvalidClock = errors.New("invalid clock to cancel request to join") )
errors
var ErrAlreadyJoined = errors.New("already joined")
var ErrAlreadyMember = errors.New("already a member")
var ErrCannotBanOwnerOrAdmin = errors.New("not allowed to ban admin or owner")
var ErrCannotRemoveOwnerOrAdmin = errors.New("not allowed to remove admin or owner")
var ErrCantRequestAccess = errors.New("can't request access")
var ErrCategoryAlreadyExists = errors.New("category already exists")
var ErrCategoryNotFound = errors.New("category not found")
var ErrChatAlreadyAssigned = errors.New("chat already assigned to a category")
var ErrChatAlreadyExists = errors.New("chat already exists")
var ErrChatNotFound = errors.New("chat not found")
var ErrInvalidCommunityDescription = errors.New("invalid community description")
var ErrInvalidCommunityDescriptionCategoryNoID = errors.New("invalid community category id")
var ErrInvalidCommunityDescriptionCategoryNoName = errors.New("invalid community category name")
var ErrInvalidCommunityDescriptionChatIdentity = errors.New("invalid community chat name, missing")
var ErrInvalidCommunityDescriptionDuplicatedName = errors.New("invalid community chat name, duplicated")
var ErrInvalidCommunityDescriptionMemberInChatButNotInOrg = errors.New("invalid community description member in chat but not in org")
var ErrInvalidCommunityDescriptionNoChatPermissions = errors.New("invalid community description no chat permissions")
var ErrInvalidCommunityDescriptionNoOrgPermissions = errors.New("invalid community description no org permissions")
var ErrInvalidCommunityDescriptionUnknownChatAccess = errors.New("invalid community description unknown chat access")
var ErrInvalidCommunityDescriptionUnknownChatCategory = errors.New("invalid community category in chat")
var ErrInvalidCommunityDescriptionUnknownOrgAccess = errors.New("invalid community description unknown org access")
var ErrInvalidCommunityEventClock = errors.New("clock for admin event message is outdated")
var ErrInvalidCommunityTags = errors.New("invalid community tags")
var ErrInvalidGrant = errors.New("invalid grant")
var ErrInvalidManageTokensPermission = errors.New("no privileges to manage tokens")
var ErrInvalidMessage = errors.New("invalid community description message")
var ErrMemberNotFound = errors.New("member not found")
var ErrMemberWalletAlreadyExists = errors.New("member wallet already exists")
var ErrMemberWalletNotFound = errors.New("member wallet not found")
var ErrNoChangeInPosition = errors.New("no change in category position")
var ErrNoFreeSpaceForHistoryArchives = errors.New("history archive: No free space for downloading history archives")
var ErrNoPermissionToJoin = errors.New("member has no permission to join")
var ErrNoRevealedAccountsSignature = errors.New("revealed accounts without the signature")
var ErrNotAdmin = errors.New("no admin privileges for this community")
var ErrNotAuthorized = errors.New("not authorized")
var ErrNotControlNode = errors.New("not a control node")
var ErrNotEnoughPermissions = errors.New("not enough permissions for this community")
var ErrNotOwner = errors.New("no owner privileges for this community")
var ErrOldRequestToJoin = errors.New("old request to join")
var ErrOldRequestToLeave = errors.New("old request to leave")
var ErrOldShardInfo = errors.New("old shard info")
var ErrOrgAlreadyJoined = errors.New("community already joined")
var ErrOrgNotFound = errors.New("community not found")
var ErrRevealedAccountsAbsent = errors.New("revealed accounts is absent")
var ErrTokenPermissionAlreadyExists = errors.New("token permission already exists")
var ErrTokenPermissionNotFound = errors.New("token permission not found")
Functions ¶
func AddTimeoutToRequestToJoinClock ¶ added in v0.146.4
func CalculateRequestID ¶ added in v0.106.3
func CommunityDescriptionTokenOwnerChainID ¶ added in v0.171.1
func CommunityDescriptionTokenOwnerChainID(description *protobuf.CommunityDescription) uint64
func ExtractTokenCriteria ¶ added in v0.158.0
func ExtractTokenCriteria(permissions []*CommunityTokenPermission) (erc20TokenCriteria map[uint64]map[string]*protobuf.TokenCriteria, erc721TokenCriteria map[uint64]map[string]*protobuf.TokenCriteria, ensTokenCriteria []string)
func HasTokenOwnership ¶ added in v0.171.1
func HasTokenOwnership(description *protobuf.CommunityDescription) bool
func RolesAuthorizedToPerformEvent ¶ added in v0.163.4
func RolesAuthorizedToPerformEvent(senderRoles []protobuf.CommunityMember_Roles, memberRoles []protobuf.CommunityMember_Roles, event *CommunityEvent) bool
func SetValidateInterval ¶ added in v0.171.1
Used for testing only
func ToLinkPreveiwThumbnail ¶ added in v0.171.34
func ToLinkPreveiwThumbnail(image images.IdentityImage) (*common.LinkPreviewThumbnail, error)
func UnwrapCommunityDescriptionMessage ¶ added in v0.171.6
func ValidateCommunityDescription ¶
func ValidateCommunityDescription(desc *protobuf.CommunityDescription) error
Types ¶
type AccountChainIDsCombination ¶ added in v0.158.0
type AccountChainIDsCombination struct { Address gethcommon.Address `json:"address"` ChainIDs []uint64 `json:"chainIds"` }
type BalancesByChain ¶ added in v0.158.0
type BalancesByChain = map[uint64]map[gethcommon.Address]map[gethcommon.Address]*hexutil.Big
type CheckAllChannelsPermissionsResponse ¶ added in v0.159.2
type CheckAllChannelsPermissionsResponse struct {
Channels map[string]*CheckChannelPermissionsResponse `json:"channels"`
}
type CheckChannelPermissionsResponse ¶ added in v0.159.2
type CheckChannelPermissionsResponse struct { ViewOnlyPermissions *CheckChannelViewOnlyPermissionsResult `json:"viewOnlyPermissions"` ViewAndPostPermissions *CheckChannelViewAndPostPermissionsResult `json:"viewAndPostPermissions"` }
type CheckChannelViewAndPostPermissionsResult ¶ added in v0.159.2
type CheckChannelViewAndPostPermissionsResult struct { Satisfied bool `json:"satisfied"` Permissions map[string]*PermissionTokenCriteriaResult `json:"permissions"` }
type CheckChannelViewOnlyPermissionsResult ¶ added in v0.159.2
type CheckChannelViewOnlyPermissionsResult struct { Satisfied bool `json:"satisfied"` Permissions map[string]*PermissionTokenCriteriaResult `json:"permissions"` }
type CheckPermissionToJoinResponse ¶ added in v0.151.13
type CheckPermissionToJoinResponse = CheckPermissionsResponse
type CheckPermissionsResponse ¶ added in v0.159.2
type CheckPermissionsResponse struct { Satisfied bool `json:"satisfied"` Permissions map[string]*PermissionTokenCriteriaResult `json:"permissions"` ValidCombinations []*AccountChainIDsCombination `json:"validCombinations"` }
type CollectiblesByChain ¶ added in v0.158.0
type CollectiblesByChain = map[uint64]map[gethcommon.Address]thirdparty.TokenBalancesPerContractAddress
type CollectiblesManager ¶ added in v0.162.5
type CollectiblesManager interface {
FetchBalancesByOwnerAndContractAddress(ctx context.Context, chainID walletcommon.ChainID, ownerAddress gethcommon.Address, contractAddresses []gethcommon.Address) (thirdparty.TokenBalancesPerContractAddress, error)
}
type Community ¶
type Community struct {
// contains filtered or unexported fields
}
func New ¶
func New(config Config, timesource common.TimeSource, encryptor DescriptionEncryptor) (*Community, error)
func (*Community) AddCommunityTokensMetadata ¶ added in v0.137.2
func (o *Community) AddCommunityTokensMetadata(token *protobuf.CommunityTokenMetadata) (*protobuf.CommunityDescription, error)
func (*Community) AddMember ¶ added in v0.103.2
func (o *Community) AddMember(publicKey *ecdsa.PublicKey, roles []protobuf.CommunityMember_Roles) (*CommunityChanges, error)
func (*Community) AddMemberToChat ¶ added in v0.162.9
func (o *Community) AddMemberToChat(chatID string, publicKey *ecdsa.PublicKey, roles []protobuf.CommunityMember_Roles) (*CommunityChanges, error)
func (*Community) AddMemberWithRevealedAccounts ¶ added in v0.162.5
func (o *Community) AddMemberWithRevealedAccounts(dbRequest *RequestToJoin, roles []protobuf.CommunityMember_Roles, accounts []*protobuf.RevealedAccount) (*CommunityChanges, error)
func (*Community) AddRequestToJoin ¶ added in v0.83.8
func (o *Community) AddRequestToJoin(request *RequestToJoin)
func (*Community) AddRoleToMember ¶ added in v0.115.5
func (o *Community) AddRoleToMember(pk *ecdsa.PublicKey, role protobuf.CommunityMember_Roles) (*protobuf.CommunityDescription, error)
func (*Community) AdminSettings ¶ added in v0.158.0
func (o *Community) AdminSettings() *protobuf.CommunityAdminSettings
func (*Community) AllowsAllMembersToPinMessage ¶ added in v0.100.0
func (*Community) AutoAccept ¶ added in v0.171.6
func (*Community) BanUserFromCommunity ¶ added in v0.73.9
func (*Community) BuildGrant ¶ added in v0.103.2
func (*Community) CanDeleteMessageForEveryone ¶ added in v0.115.5
func (*Community) CanManageUsers ¶ added in v0.72.0
func (*Community) CanManageUsersPublicKeys ¶ added in v0.74.2
func (*Community) CanMemberIdentityPost ¶ added in v0.94.12
func (*Community) CanRequestAccess ¶ added in v0.72.0
func (*Community) Categories ¶ added in v0.79.3
func (o *Community) Categories() map[string]*protobuf.CommunityCategory
func (*Community) ChannelEncrypted ¶ added in v0.171.8
func (*Community) ChannelHasTokenPermissions ¶ added in v0.162.13
func (*Community) ChannelTokenPermissionsByType ¶ added in v0.159.2
func (o *Community) ChannelTokenPermissionsByType(channelID string, permissionType protobuf.CommunityTokenPermission_Type) []*CommunityTokenPermission
func (*Community) ChatsByCategoryID ¶ added in v0.102.6
func (*Community) CommunityChatsIDs ¶ added in v0.162.5
func (*Community) CommunityShard ¶ added in v0.171.35
func (o *Community) CommunityShard() CommunityShard
func (*Community) CommunityTokensMetadata ¶ added in v0.137.2
func (o *Community) CommunityTokensMetadata() []*protobuf.CommunityTokenMetadata
func (*Community) ControlNode ¶ added in v0.171.1
func (*Community) CreateCategory ¶ added in v0.79.3
func (*Community) CreateChat ¶
func (o *Community) CreateChat(chatID string, chat *protobuf.CommunityChat) (*CommunityChanges, error)
func (*Community) CreateDeepCopy ¶ added in v0.162.13
func (*Community) DeclineRequestToJoin ¶
func (o *Community) DeclineRequestToJoin(dbRequest *RequestToJoin) (adminEventCreated bool, err error)
func (*Community) DeleteCategory ¶ added in v0.79.3
func (o *Community) DeleteCategory(categoryID string) (*CommunityChanges, error)
func (*Community) DeleteChat ¶
func (o *Community) DeleteChat(chatID string) (*CommunityChanges, error)
func (*Community) DeleteTokenPermission ¶ added in v0.136.0
func (o *Community) DeleteTokenPermission(permissionID string) (*CommunityChanges, error)
func (*Community) Description ¶ added in v0.76.3
func (o *Community) Description() *protobuf.CommunityDescription
func (*Community) DescriptionProtocolMessage ¶ added in v0.172.1
func (*Community) DescriptionText ¶ added in v0.83.8
func (*Community) Edit ¶ added in v0.79.0
func (o *Community) Edit(description *protobuf.CommunityDescription)
func (*Community) EditCategory ¶ added in v0.79.3
func (*Community) EditChat ¶ added in v0.79.8
func (o *Community) EditChat(chatID string, chat *protobuf.CommunityChat) (*CommunityChanges, error)
func (*Community) GetFilteredPrivilegedMembers ¶ added in v0.167.2
func (*Community) GetMember ¶ added in v0.161.4
func (o *Community) GetMember(pk *ecdsa.PublicKey) *protobuf.CommunityMember
func (*Community) GetMemberPubkeys ¶ added in v0.102.2
func (*Community) GetPrivilegedMembers ¶ added in v0.162.13
func (*Community) HasPermissionToSendCommunityEvents ¶ added in v0.162.13
func (*Community) HasTokenPermissions ¶ added in v0.141.1
func (*Community) Identity ¶ added in v0.158.0
func (o *Community) Identity() *protobuf.ChatIdentity
func (*Community) Images ¶ added in v0.101.1
func (o *Community) Images() map[string]*protobuf.IdentityImage
func (*Community) IntroMessage ¶ added in v0.100.1
func (*Community) IsControlNode ¶ added in v0.162.9
We treat control node as an owner with community key
func (*Community) IsMemberAdmin ¶ added in v0.74.2
func (*Community) IsMemberInChat ¶
func (*Community) IsMemberOwner ¶ added in v0.158.0
func (*Community) IsMemberTokenMaster ¶ added in v0.162.13
func (*Community) IsPrivilegedMember ¶ added in v0.162.13
func (*Community) IsTokenMaster ¶ added in v0.162.15
func (*Community) MagnetlinkMessageChannelID ¶ added in v0.96.2
func (*Community) ManualAccept ¶ added in v0.171.6
func (*Community) MarshalJSON ¶
func (*Community) MarshalPublicAPIJSON ¶ added in v0.86.2
func (*Community) MarshaledDescription ¶
func (*Community) MemberCanManageToken ¶ added in v0.163.14
func (o *Community) MemberCanManageToken(member *ecdsa.PublicKey, token *community_token.CommunityToken) bool
func (*Community) MemberIdentity ¶ added in v0.94.12
func (*Community) MemberRole ¶ added in v0.158.0
func (o *Community) MemberRole(pubKey *ecdsa.PublicKey) protobuf.CommunityMember_Roles
func (*Community) MemberUpdateChannelID ¶ added in v0.103.3
func (*Community) Members ¶ added in v0.140.0
func (o *Community) Members() map[string]*protobuf.CommunityMember
func (*Community) MembersCount ¶ added in v0.76.3
func (*Community) NewCommunityEventClock ¶ added in v0.162.5
func (*Community) OutroMessage ¶ added in v0.100.1
func (*Community) PendingAndBannedMembers ¶ added in v0.168.1
func (o *Community) PendingAndBannedMembers() map[string]CommunityMemberState
func (*Community) Permissions ¶ added in v0.158.0
func (o *Community) Permissions() *protobuf.CommunityPermissions
func (*Community) PopulateChatWithAllMembers ¶ added in v0.162.13
func (o *Community) PopulateChatWithAllMembers(chatID string) (*CommunityChanges, error)
func (*Community) PrivateKey ¶
func (o *Community) PrivateKey() *ecdsa.PrivateKey
func (*Community) PubsubTopic ¶ added in v0.166.1
func (*Community) PubsubTopicKey ¶ added in v0.171.10
func (*Community) PubsubTopicPrivateKey ¶ added in v0.171.10
func (o *Community) PubsubTopicPrivateKey() *ecdsa.PrivateKey
func (*Community) RemoveAllUsersFromOrg ¶ added in v0.171.8
func (o *Community) RemoveAllUsersFromOrg() *CommunityChanges
func (*Community) RemoveOurselvesFromOrg ¶ added in v0.110.2
func (*Community) RemoveRoleFromMember ¶ added in v0.115.5
func (o *Community) RemoveRoleFromMember(pk *ecdsa.PublicKey, role protobuf.CommunityMember_Roles) (*protobuf.CommunityDescription, error)
func (*Community) RemoveUserFromChat ¶
func (*Community) RemoveUserFromOrg ¶
func (*Community) ReorderCategories ¶ added in v0.79.3
func (o *Community) ReorderCategories(categoryID string, newPosition int) (*CommunityChanges, error)
func (*Community) ReorderChat ¶ added in v0.79.3
func (*Community) RequestedToJoinAt ¶ added in v0.72.0
func (*Community) RequestsToJoin ¶ added in v0.83.8
func (o *Community) RequestsToJoin() []*RequestToJoin
func (*Community) SerializedID ¶ added in v0.171.12
func (*Community) SetActiveMembersCount ¶ added in v0.142.1
func (*Community) SetPubsubTopicPrivateKey ¶ added in v0.171.10
func (o *Community) SetPubsubTopicPrivateKey(privKey *ecdsa.PrivateKey)
func (*Community) SortCategoryChats ¶ added in v0.79.3
func (o *Community) SortCategoryChats(changes *CommunityChanges, categoryID string)
func (*Community) StatusUpdatesChannelID ¶ added in v0.83.2
func (*Community) Tags ¶ added in v0.102.5
func (o *Community) Tags() []CommunityTag
func (*Community) TagsIndices ¶ added in v0.161.2
func (*Community) ToAddTokenMetadataCommunityEvent ¶ added in v0.162.15
func (o *Community) ToAddTokenMetadataCommunityEvent(tokenMetadata *protobuf.CommunityTokenMetadata) *CommunityEvent
func (*Community) ToBanCommunityMemberCommunityEvent ¶ added in v0.162.5
func (o *Community) ToBanCommunityMemberCommunityEvent(pubkey string) *CommunityEvent
func (*Community) ToCommunityEditCommunityEvent ¶ added in v0.162.5
func (o *Community) ToCommunityEditCommunityEvent(description *protobuf.CommunityDescription) *CommunityEvent
func (*Community) ToCommunityEventsMessage ¶ added in v0.162.5
func (o *Community) ToCommunityEventsMessage() *CommunityEventsMessage
func (*Community) ToCommunityRequestToJoinAcceptCommunityEvent ¶ added in v0.162.5
func (o *Community) ToCommunityRequestToJoinAcceptCommunityEvent(changes *CommunityEventChanges) *CommunityEvent
func (*Community) ToCommunityRequestToJoinRejectCommunityEvent ¶ added in v0.162.5
func (o *Community) ToCommunityRequestToJoinRejectCommunityEvent(changes *CommunityEventChanges) *CommunityEvent
func (*Community) ToCommunityTokenPermissionChangeCommunityEvent ¶ added in v0.162.5
func (o *Community) ToCommunityTokenPermissionChangeCommunityEvent(permission *protobuf.CommunityTokenPermission) *CommunityEvent
func (*Community) ToCommunityTokenPermissionDeleteCommunityEvent ¶ added in v0.162.5
func (o *Community) ToCommunityTokenPermissionDeleteCommunityEvent(permission *protobuf.CommunityTokenPermission) *CommunityEvent
func (*Community) ToCreateCategoryCommunityEvent ¶ added in v0.162.5
func (o *Community) ToCreateCategoryCommunityEvent(categoryID string, categoryName string, channelsIds []string) *CommunityEvent
func (*Community) ToCreateChannelCommunityEvent ¶ added in v0.162.5
func (o *Community) ToCreateChannelCommunityEvent(channelID string, channel *protobuf.CommunityChat) *CommunityEvent
func (*Community) ToDeleteCategoryCommunityEvent ¶ added in v0.162.5
func (o *Community) ToDeleteCategoryCommunityEvent(categoryID string) *CommunityEvent
func (*Community) ToDeleteChannelCommunityEvent ¶ added in v0.162.5
func (o *Community) ToDeleteChannelCommunityEvent(channelID string) *CommunityEvent
func (*Community) ToEditCategoryCommunityEvent ¶ added in v0.162.5
func (o *Community) ToEditCategoryCommunityEvent(categoryID string, categoryName string, channelsIds []string) *CommunityEvent
func (*Community) ToEditChannelCommunityEvent ¶ added in v0.162.5
func (o *Community) ToEditChannelCommunityEvent(channelID string, channel *protobuf.CommunityChat) *CommunityEvent
func (*Community) ToKickCommunityMemberCommunityEvent ¶ added in v0.162.5
func (o *Community) ToKickCommunityMemberCommunityEvent(pubkey string) *CommunityEvent
func (*Community) ToProtocolMessageBytes ¶ added in v0.162.14
ToProtocolMessageBytes returns the community in a wrapped & signed protocol message
func (*Community) ToReorderCategoryCommunityEvent ¶ added in v0.162.5
func (o *Community) ToReorderCategoryCommunityEvent(categoryID string, position int) *CommunityEvent
func (*Community) ToReorderChannelCommunityEvent ¶ added in v0.162.5
func (o *Community) ToReorderChannelCommunityEvent(categoryID string, channelID string, position int) *CommunityEvent
func (*Community) ToStatusLinkPreview ¶ added in v0.171.34
func (c *Community) ToStatusLinkPreview() (*common.StatusCommunityLinkPreview, error)
func (*Community) ToSyncInstallationCommunityProtobuf ¶ added in v0.163.14
func (o *Community) ToSyncInstallationCommunityProtobuf(clock uint64, communitySettings *CommunitySettings, syncControlNode *protobuf.SyncCommunityControlNode) (*protobuf.SyncInstallationCommunity, error)
func (*Community) ToUnbanCommunityMemberCommunityEvent ¶ added in v0.162.5
func (o *Community) ToUnbanCommunityMemberCommunityEvent(pubkey string) *CommunityEvent
func (*Community) TokenPermissionByID ¶ added in v0.166.1
func (o *Community) TokenPermissionByID(ID string) *CommunityTokenPermission
func (*Community) TokenPermissions ¶ added in v0.139.1
func (o *Community) TokenPermissions() map[string]*CommunityTokenPermission
func (*Community) TokenPermissionsByType ¶ added in v0.139.1
func (o *Community) TokenPermissionsByType(permissionType protobuf.CommunityTokenPermission_Type) []*CommunityTokenPermission
func (*Community) UnbanUserFromCommunity ¶ added in v0.102.6
func (*Community) UncompressedIDString ¶ added in v0.171.12
func (*Community) UpdateChatFirstMessageTimestamp ¶ added in v0.109.1
func (o *Community) UpdateChatFirstMessageTimestamp(chatID string, timestamp uint32) (*CommunityChanges, error)
func (*Community) UpdateCommunityByEvents ¶ added in v0.162.5
func (o *Community) UpdateCommunityByEvents(communityEventMessage *CommunityEventsMessage) error
func (*Community) UpdateCommunityDescription ¶ added in v0.72.0
func (o *Community) UpdateCommunityDescription(description *protobuf.CommunityDescription, rawMessage []byte, newControlNode *ecdsa.PublicKey) (*CommunityChanges, error)
UpdateCommunityDescription will update the community to the new community description and return a list of changes
func (*Community) UpsertTokenPermission ¶ added in v0.166.1
func (o *Community) UpsertTokenPermission(tokenPermission *protobuf.CommunityTokenPermission) (*CommunityChanges, error)
func (*Community) ValidateEditSharedAddresses ¶ added in v0.161.4
func (o *Community) ValidateEditSharedAddresses(signer *ecdsa.PublicKey, request *protobuf.CommunityEditSharedAddresses) error
ValidateRequestToJoin validates a request, checks that the right permissions are applied
func (*Community) ValidateEvent ¶ added in v0.163.4
func (o *Community) ValidateEvent(event *CommunityEvent, signer *ecdsa.PublicKey) error
func (*Community) ValidateRequestToJoin ¶ added in v0.72.0
func (o *Community) ValidateRequestToJoin(signer *ecdsa.PublicKey, request *protobuf.CommunityRequestToJoin) error
ValidateRequestToJoin validates a request, checks that the right permissions are applied
type CommunityAdminSettings ¶ added in v0.100.0
type CommunityAdminSettings struct {
PinMessageAllMembersEnabled bool `json:"pinMessageAllMembersEnabled"`
}
type CommunityCategory ¶ added in v0.79.3
type CommunityChanges ¶
type CommunityChanges struct { Community *Community `json:"community"` ControlNodeChanged *ecdsa.PublicKey `json:"controlNodeChanged"` MembersAdded map[string]*protobuf.CommunityMember `json:"membersAdded"` MembersRemoved map[string]*protobuf.CommunityMember `json:"membersRemoved"` TokenPermissionsAdded map[string]*CommunityTokenPermission `json:"tokenPermissionsAdded"` TokenPermissionsModified map[string]*CommunityTokenPermission `json:"tokenPermissionsModified"` TokenPermissionsRemoved map[string]*CommunityTokenPermission `json:"tokenPermissionsRemoved"` ChatsRemoved map[string]*protobuf.CommunityChat `json:"chatsRemoved"` ChatsAdded map[string]*protobuf.CommunityChat `json:"chatsAdded"` ChatsModified map[string]*CommunityChatChanges `json:"chatsModified"` CategoriesRemoved []string `json:"categoriesRemoved"` CategoriesAdded map[string]*protobuf.CommunityCategory `json:"categoriesAdded"` CategoriesModified map[string]*protobuf.CommunityCategory `json:"categoriesModified"` MemberWalletsRemoved []string `json:"memberWalletsRemoved"` MemberWalletsAdded map[string][]*protobuf.RevealedAccount `json:"memberWalletsAdded"` // ShouldMemberJoin indicates whether the user should join this community // automatically ShouldMemberJoin bool `json:"memberAdded"` // MemberKicked indicates whether the user has been kicked out MemberKicked bool `json:"memberRemoved"` }
func EmptyCommunityChanges ¶ added in v0.162.3
func EmptyCommunityChanges() *CommunityChanges
func EvaluateCommunityChanges ¶ added in v0.162.3
func EvaluateCommunityChanges(origin, modified *Community) *CommunityChanges
func (*CommunityChanges) HasMemberLeft ¶ added in v0.72.0
func (c *CommunityChanges) HasMemberLeft(identity string) bool
func (*CommunityChanges) HasNewMember ¶ added in v0.72.0
func (c *CommunityChanges) HasNewMember(identity string) bool
type CommunityChat ¶ added in v0.72.0
type CommunityChat struct { ID string `json:"id"` Name string `json:"name"` Color string `json:"color"` Emoji string `json:"emoji"` Description string `json:"description"` Members map[string]*protobuf.CommunityMember `json:"members"` Permissions *protobuf.CommunityPermissions `json:"permissions"` CanPost bool `json:"canPost"` Position int `json:"position"` CategoryID string `json:"categoryID"` }
type CommunityChatChanges ¶
type CommunityChatChanges struct { ChatModified *protobuf.CommunityChat MembersAdded map[string]*protobuf.CommunityMember MembersRemoved map[string]*protobuf.CommunityMember CategoryModified string PositionModified int FirstMessageTimestampModified uint32 }
type CommunityEvent ¶ added in v0.162.5
type CommunityEvent struct { CommunityEventClock uint64 `json:"communityEventClock"` Type protobuf.CommunityEvent_EventType `json:"type"` CommunityConfig *protobuf.CommunityConfig `json:"communityConfig,omitempty"` TokenPermission *protobuf.CommunityTokenPermission `json:"tokenPermissions,omitempty"` CategoryData *protobuf.CategoryData `json:"categoryData,omitempty"` ChannelData *protobuf.ChannelData `json:"channelData,omitempty"` MemberToAction string `json:"memberToAction,omitempty"` MembersAdded map[string]*protobuf.CommunityMember `json:"membersAdded,omitempty"` RejectedRequestsToJoin map[string]*protobuf.CommunityRequestToJoin `json:"rejectedRequestsToJoin,omitempty"` AcceptedRequestsToJoin map[string]*protobuf.CommunityRequestToJoin `json:"acceptedRequestsToJoin,omitempty"` TokenMetadata *protobuf.CommunityTokenMetadata `json:"tokenMetadata,omitempty"` Payload []byte `json:"payload"` Signature []byte `json:"signature"` }
func (*CommunityEvent) RecoverSigner ¶ added in v0.163.5
func (e *CommunityEvent) RecoverSigner() (*ecdsa.PublicKey, error)
func (*CommunityEvent) Sign ¶ added in v0.163.5
func (e *CommunityEvent) Sign(pk *ecdsa.PrivateKey) error
func (*CommunityEvent) ToProtobuf ¶ added in v0.162.5
func (e *CommunityEvent) ToProtobuf() *protobuf.CommunityEvent
type CommunityEventChanges ¶ added in v0.162.5
type CommunityEventChanges struct { *CommunityChanges // `RejectedRequestsToJoin` is a map of signer keys to requests to join RejectedRequestsToJoin map[string]*protobuf.CommunityRequestToJoin `json:"rejectedRequestsToJoin"` // `AcceptedRequestsToJoin` is a map of signer keys to requests to join AcceptedRequestsToJoin map[string]*protobuf.CommunityRequestToJoin `json:"acceptedRequestsToJoin"` }
`CommunityAdminEventChanges contain additional changes that don't live on a `Community` but still have to be propagated to other admin and control nodes
type CommunityEventsMessage ¶ added in v0.162.5
type CommunityEventsMessage struct { CommunityID []byte `json:"communityId"` EventsBaseCommunityDescription []byte `json:"eventsBaseCommunityDescription"` Events []CommunityEvent `json:"events,omitempty"` }
func CommunityEventsMessageFromProtobuf ¶ added in v0.162.5
func CommunityEventsMessageFromProtobuf(msg *protobuf.CommunityEventsMessage) (*CommunityEventsMessage, error)
func (*CommunityEventsMessage) Marshal ¶ added in v0.162.5
func (m *CommunityEventsMessage) Marshal() ([]byte, error)
func (*CommunityEventsMessage) ToProtobuf ¶ added in v0.162.5
func (m *CommunityEventsMessage) ToProtobuf() *protobuf.CommunityEventsMessage
type CommunityEventsMessageInvalidClockSignal ¶ added in v0.163.5
type CommunityEventsMessageInvalidClockSignal struct { Community *Community CommunityEventsMessage *CommunityEventsMessage }
type CommunityMemberState ¶ added in v0.168.1
type CommunityMemberState uint8
const ( CommunityMemberBanned CommunityMemberState = iota CommunityMemberBanPending CommunityMemberUnbanPending CommunityMemberKickPending )
type CommunityPrivilegedMemberSyncMessage ¶ added in v0.167.2
type CommunityPrivilegedMemberSyncMessage struct { CommunityPrivateKey *ecdsa.PrivateKey Receivers []*ecdsa.PublicKey CommunityPrivilegedUserSyncMessage *protobuf.CommunityPrivilegedUserSyncMessage }
type CommunityRecord ¶ added in v0.171.27
type CommunityRecord struct {
// contains filtered or unexported fields
}
type CommunityRecordBundle ¶ added in v0.171.27
type CommunityRecordBundle struct {
// contains filtered or unexported fields
}
type CommunityResponse ¶ added in v0.72.0
type CommunityResponse struct { Community *Community `json:"community"` Changes *CommunityChanges `json:"changes"` RequestsToJoin []*RequestToJoin `json:"requestsToJoin"` }
type CommunitySettings ¶ added in v0.96.4
type CommunityShard ¶ added in v0.170.0
type CommunityTag ¶ added in v0.102.5
type CommunityTokenPermission ¶ added in v0.166.1
type CommunityTokenPermission struct { *protobuf.CommunityTokenPermission State TokenPermissionState `json:"state,omitempty"` }
func NewCommunityTokenPermission ¶ added in v0.166.1
func NewCommunityTokenPermission(base *protobuf.CommunityTokenPermission) *CommunityTokenPermission
func TokenPermissionsByType ¶ added in v0.162.9
func TokenPermissionsByType(permissions map[string]*CommunityTokenPermission, permissionType protobuf.CommunityTokenPermission_Type) []*CommunityTokenPermission
func (*CommunityTokenPermission) Equals ¶ added in v0.166.1
func (p *CommunityTokenPermission) Equals(other *CommunityTokenPermission) bool
type Config ¶
type Config struct { PrivateKey *ecdsa.PrivateKey ControlNode *ecdsa.PublicKey ControlDevice bool // whether this device is control node CommunityDescription *protobuf.CommunityDescription CommunityDescriptionProtocolMessage []byte // community in a wrapped & signed (by owner) protocol message ID *ecdsa.PublicKey Joined bool JoinedAt int64 Requested bool Verified bool Spectated bool Muted bool MuteTill time.Time Logger *zap.Logger RequestedToJoinAt uint64 RequestsToJoin []*RequestToJoin MemberIdentity *ecdsa.PublicKey EventsData *EventsData Shard *shard.Shard PubsubTopicPrivateKey *ecdsa.PrivateKey }
type CuratedCommunities ¶ added in v0.171.21
type DefaultPermissionChecker ¶ added in v0.171.5
type DefaultPermissionChecker struct {
// contains filtered or unexported fields
}
func (*DefaultPermissionChecker) CheckPermissionToJoin ¶ added in v0.171.5
func (p *DefaultPermissionChecker) CheckPermissionToJoin(community *Community, addresses []gethcommon.Address) (*CheckPermissionToJoinResponse, error)
func (*DefaultPermissionChecker) CheckPermissions ¶ added in v0.171.5
func (p *DefaultPermissionChecker) CheckPermissions(permissions []*CommunityTokenPermission, accountsAndChainIDs []*AccountChainIDsCombination, shortcircuit bool) (*CheckPermissionsResponse, error)
CheckPermissions will retrieve balances and check whether the user has permission to join the community, if shortcircuit is true, it will stop as soon as we know the answer
func (*DefaultPermissionChecker) GetOwnedERC721Tokens ¶ added in v0.171.5
func (p *DefaultPermissionChecker) GetOwnedERC721Tokens(walletAddresses []gethcommon.Address, tokenRequirements map[uint64]map[string]*protobuf.TokenCriteria, chainIDs []uint64) (CollectiblesByChain, error)
type DefaultTokenManager ¶ added in v0.151.13
type DefaultTokenManager struct {
// contains filtered or unexported fields
}
func NewDefaultTokenManager ¶ added in v0.151.13
func NewDefaultTokenManager(tm *token.Manager) *DefaultTokenManager
func (*DefaultTokenManager) FindOrCreateTokenByAddress ¶ added in v0.166.9
func (m *DefaultTokenManager) FindOrCreateTokenByAddress(ctx context.Context, chainID uint64, address gethcommon.Address) *token.Token
func (*DefaultTokenManager) GetAllChainIDs ¶ added in v0.158.0
func (m *DefaultTokenManager) GetAllChainIDs() ([]uint64, error)
func (*DefaultTokenManager) GetBalancesByChain ¶ added in v0.151.13
func (m *DefaultTokenManager) GetBalancesByChain(ctx context.Context, accounts, tokenAddresses []gethcommon.Address, chainIDs []uint64) (BalancesByChain, error)
type DescriptionEncryptor ¶ added in v0.171.39
type DescriptionEncryptor interface {
// contains filtered or unexported methods
}
type EncodedArchiveData ¶ added in v0.98.1
type EncodedArchiveData struct {
// contains filtered or unexported fields
}
type EncryptionKeyAction ¶ added in v0.162.9
type EncryptionKeyAction struct { ActionType EncryptionKeyActionType Members map[string]*protobuf.CommunityMember }
type EncryptionKeyActionType ¶ added in v0.162.9
type EncryptionKeyActionType int
const ( EncryptionKeyNone EncryptionKeyActionType = iota EncryptionKeyAdd EncryptionKeyRemove EncryptionKeyRekey EncryptionKeySendToMembers )
type EncryptionKeyActions ¶ added in v0.162.9
type EncryptionKeyActions struct { // community-level encryption key action CommunityKeyAction EncryptionKeyAction // channel-level encryption key actions ChannelKeysActions map[string]EncryptionKeyAction // key is: chatID }
func EvaluateCommunityEncryptionKeyActions ¶ added in v0.162.9
func EvaluateCommunityEncryptionKeyActions(origin, modified *Community) *EncryptionKeyActions
type EventsData ¶ added in v0.162.5
type EventsData struct { EventsBaseCommunityDescription []byte Events []CommunityEvent }
type EventsRecord ¶ added in v0.171.27
type EventsRecord struct {
// contains filtered or unexported fields
}
type HistoryArchiveDownloadTask ¶ added in v0.117.1
type HistoryArchiveDownloadTask struct { CancelChan chan struct{} Waiter sync.WaitGroup Cancelled bool // contains filtered or unexported fields }
func (*HistoryArchiveDownloadTask) Cancel ¶ added in v0.117.1
func (t *HistoryArchiveDownloadTask) Cancel()
func (*HistoryArchiveDownloadTask) IsCancelled ¶ added in v0.125.1
func (t *HistoryArchiveDownloadTask) IsCancelled() bool
type HistoryArchiveDownloadTaskInfo ¶ added in v0.117.1
type KeyDistributor ¶ added in v0.171.39
type KeyDistributor interface { Generate(community *Community, keyActions *EncryptionKeyActions) error Distribute(community *Community, keyActions *EncryptionKeyActions) error }
type KnownCommunitiesResponse ¶ added in v0.100.1
type Manager ¶
type Manager struct { RekeyInterval time.Duration PermissionChecker PermissionChecker // contains filtered or unexported fields }
func NewManager ¶
func NewManager(identity *ecdsa.PrivateKey, installationID string, db *sql.DB, encryptor *encryption.Protocol, logger *zap.Logger, ensverifier *ens.Verifier, ownerVerifier OwnerVerifier, transport *transport.Transport, timesource common.TimeSource, keyDistributor KeyDistributor, torrentConfig *params.TorrentConfig, opts ...ManagerOption) (*Manager, error)
func (*Manager) AcceptRequestToJoin ¶ added in v0.72.0
func (m *Manager) AcceptRequestToJoin(dbRequest *RequestToJoin) (*Community, error)
func (*Manager) AcceptedPendingRequestsToJoinForCommunity ¶ added in v0.163.4
func (m *Manager) AcceptedPendingRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
func (*Manager) AcceptedRequestsToJoinForCommunity ¶ added in v0.158.0
func (m *Manager) AcceptedRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
func (*Manager) AddCommunityToken ¶ added in v0.133.2
func (m *Manager) AddCommunityToken(token *community_token.CommunityToken, clock uint64) (*Community, error)
func (*Manager) AddHistoryArchiveDownloadTask ¶ added in v0.117.1
func (m *Manager) AddHistoryArchiveDownloadTask(communityID string, task *HistoryArchiveDownloadTask)
func (*Manager) AddMemberOwnerToCommunity ¶ added in v0.115.6
func (*Manager) AddRoleToMember ¶ added in v0.115.5
func (m *Manager) AddRoleToMember(request *requests.AddRoleToMember) (*Community, error)
func (*Manager) AllNonApprovedCommunitiesRequestsToJoin ¶ added in v0.171.30
func (m *Manager) AllNonApprovedCommunitiesRequestsToJoin() ([]*RequestToJoin, error)
func (*Manager) BanUserFromCommunity ¶ added in v0.73.9
func (m *Manager) BanUserFromCommunity(request *requests.BanUserFromCommunity) (*Community, error)
func (*Manager) CancelRequestToJoin ¶ added in v0.114.1
func (m *Manager) CancelRequestToJoin(request *requests.CancelRequestToJoinCommunity) (*RequestToJoin, *Community, error)
func (*Manager) CanceledRequestToJoinForUserForCommunityID ¶ added in v0.171.30
func (*Manager) CanceledRequestsToJoinForCommunity ¶ added in v0.114.1
func (m *Manager) CanceledRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
func (*Manager) CanceledRequestsToJoinForUser ¶ added in v0.114.1
func (m *Manager) CanceledRequestsToJoinForUser(pk *ecdsa.PublicKey) ([]*RequestToJoin, error)
func (*Manager) CheckAllChannelsPermissions ¶ added in v0.159.2
func (m *Manager) CheckAllChannelsPermissions(communityID types.HexBytes, addresses []gethcommon.Address) (*CheckAllChannelsPermissionsResponse, error)
func (*Manager) CheckChannelPermissions ¶ added in v0.159.2
func (m *Manager) CheckChannelPermissions(communityID types.HexBytes, chatID string, addresses []gethcommon.Address) (*CheckChannelPermissionsResponse, error)
func (*Manager) CheckCommunityForJoining ¶ added in v0.171.9
func (*Manager) CheckPermissionToJoin ¶ added in v0.151.13
func (m *Manager) CheckPermissionToJoin(id []byte, addresses []gethcommon.Address) (*CheckPermissionToJoinResponse, error)
func (*Manager) CommunitiesToValidate ¶ added in v0.171.1
Only for testing
func (*Manager) CommunitySettingsExist ¶ added in v0.96.4
func (*Manager) Controlled ¶ added in v0.171.5
func (*Manager) CreateAndSeedHistoryArchive ¶ added in v0.98.1
func (*Manager) CreateCategory ¶ added in v0.79.3
func (m *Manager) CreateCategory(request *requests.CreateCommunityCategory, publish bool) (*Community, *CommunityChanges, error)
func (*Manager) CreateChat ¶
func (m *Manager) CreateChat(communityID types.HexBytes, chat *protobuf.CommunityChat, publish bool, thirdPartyID string) (*CommunityChanges, error)
func (*Manager) CreateCommunity ¶
func (m *Manager) CreateCommunity(request *requests.CreateCommunity, publish bool) (*Community, error)
CreateCommunity takes a description, generates an ID for it, saves it and return it
func (*Manager) CreateCommunityTokenDeploymentSignature ¶ added in v0.168.1
func (*Manager) CreateCommunityTokenPermission ¶ added in v0.136.0
func (m *Manager) CreateCommunityTokenPermission(request *requests.CreateCommunityTokenPermission) (*Community, *CommunityChanges, error)
func (*Manager) CreateHistoryArchiveTorrent ¶ added in v0.98.1
func (*Manager) CreateHistoryArchiveTorrentFromDB ¶ added in v0.113.0
func (*Manager) CreateHistoryArchiveTorrentFromMessages ¶ added in v0.113.0
func (*Manager) CreateRequestToJoin ¶ added in v0.162.3
func (m *Manager) CreateRequestToJoin(request *requests.RequestToJoinCommunity) *RequestToJoin
func (*Manager) DeclineRequestToJoin ¶ added in v0.72.0
func (m *Manager) DeclineRequestToJoin(dbRequest *RequestToJoin) (*Community, error)
func (*Manager) DeclinedPendingRequestsToJoinForCommunity ¶ added in v0.163.4
func (m *Manager) DeclinedPendingRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
func (*Manager) DeclinedRequestsToJoinForCommunity ¶ added in v0.106.1
func (m *Manager) DeclinedRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
func (*Manager) DeleteCategory ¶ added in v0.79.3
func (m *Manager) DeleteCategory(request *requests.DeleteCommunityCategory) (*Community, *CommunityChanges, error)
func (*Manager) DeleteChat ¶ added in v0.83.8
func (*Manager) DeleteCommunity ¶ added in v0.114.1
func (*Manager) DeleteCommunitySettings ¶ added in v0.96.4
func (*Manager) DeleteCommunityShard ¶ added in v0.171.39
func (*Manager) DeleteCommunityTokenPermission ¶ added in v0.136.0
func (m *Manager) DeleteCommunityTokenPermission(request *requests.DeleteCommunityTokenPermission) (*Community, *CommunityChanges, error)
func (*Manager) DeleteHistoryArchiveDownloadTask ¶ added in v0.117.3
func (*Manager) DeletePendingRequestToJoin ¶ added in v0.146.4
func (m *Manager) DeletePendingRequestToJoin(request *RequestToJoin) error
func (*Manager) DeletedCommunities ¶ added in v0.98.3
func (*Manager) DownloadHistoryArchivesByMagnetlink ¶ added in v0.100.0
func (*Manager) EditCategory ¶ added in v0.79.3
func (m *Manager) EditCategory(request *requests.EditCommunityCategory) (*Community, *CommunityChanges, error)
func (*Manager) EditChat ¶ added in v0.79.8
func (m *Manager) EditChat(communityID types.HexBytes, chatID string, chat *protobuf.CommunityChat) (*Community, *CommunityChanges, error)
func (*Manager) EditChatFirstMessageTimestamp ¶ added in v0.109.1
func (*Manager) EditCommunity ¶ added in v0.79.0
func (m *Manager) EditCommunity(request *requests.EditCommunity) (*Community, error)
EditCommunity takes a description, updates the community with the description, saves it and returns it
func (*Manager) EditCommunityTokenPermission ¶ added in v0.136.0
func (m *Manager) EditCommunityTokenPermission(request *requests.EditCommunityTokenPermission) (*Community, *CommunityChanges, error)
func (*Manager) ExportCommunity ¶
func (*Manager) ExtractMessagesFromHistoryArchive ¶ added in v0.125.0
func (*Manager) FetchCommunityToken ¶ added in v0.167.5
func (m *Manager) FetchCommunityToken(community *Community, tokenMetadata *protobuf.CommunityTokenMetadata, chainID uint64, contractAddress string) (*community_token.CommunityToken, error)
func (*Manager) GenerateRequestsToJoinForAutoApprovalOnNewOwnership ¶ added in v0.171.8
func (m *Manager) GenerateRequestsToJoinForAutoApprovalOnNewOwnership(communityID types.HexBytes, kickedMembers map[string]*protobuf.CommunityMember) ([]*RequestToJoin, error)
func (*Manager) GetAllCommunityTokens ¶ added in v0.148.4
func (m *Manager) GetAllCommunityTokens() ([]*community_token.CommunityToken, error)
func (*Manager) GetByIDString ¶
func (*Manager) GetCheckChannelPermissionResponses ¶ added in v0.159.7
func (m *Manager) GetCheckChannelPermissionResponses(communityID types.HexBytes) (*CheckAllChannelsPermissionsResponse, error)
func (*Manager) GetCommunitiesSettings ¶ added in v0.96.4
func (m *Manager) GetCommunitiesSettings() ([]CommunitySettings, error)
func (*Manager) GetCommunityChatsFilters ¶ added in v0.98.1
func (*Manager) GetCommunityChatsTopics ¶ added in v0.98.1
func (*Manager) GetCommunityRequestToJoinClock ¶ added in v0.171.25
func (*Manager) GetCommunityRequestToJoinWithRevealedAddresses ¶ added in v0.171.8
func (*Manager) GetCommunityRequestsToJoinWithRevealedAddresses ¶ added in v0.167.2
func (m *Manager) GetCommunityRequestsToJoinWithRevealedAddresses(communityID types.HexBytes) ([]*RequestToJoin, error)
func (*Manager) GetCommunitySettingsByID ¶ added in v0.96.4
func (m *Manager) GetCommunitySettingsByID(id types.HexBytes) (*CommunitySettings, error)
func (*Manager) GetCommunityShard ¶ added in v0.171.39
func (*Manager) GetCommunityToken ¶ added in v0.163.14
func (m *Manager) GetCommunityToken(communityID string, chainID int, address string) (*community_token.CommunityToken, error)
func (*Manager) GetCommunityTokens ¶ added in v0.133.2
func (m *Manager) GetCommunityTokens(communityID string) ([]*community_token.CommunityToken, error)
func (*Manager) GetCuratedCommunities ¶ added in v0.171.21
func (m *Manager) GetCuratedCommunities() (*CuratedCommunities, error)
func (*Manager) GetHistoryArchiveDownloadTask ¶ added in v0.117.1
func (m *Manager) GetHistoryArchiveDownloadTask(communityID string) *HistoryArchiveDownloadTask
func (*Manager) GetHistoryArchiveMagnetlink ¶ added in v0.98.1
func (*Manager) GetHistoryArchivePartitionStartTimestamp ¶ added in v0.98.1
func (*Manager) GetLastMessageArchiveEndDate ¶ added in v0.98.1
func (*Manager) GetLastSeenMagnetlink ¶ added in v0.117.3
func (*Manager) GetLatestWakuMessageTimestamp ¶ added in v0.98.1
func (*Manager) GetMagnetlinkMessageClock ¶ added in v0.98.1
func (*Manager) GetMessageArchiveIDsToImport ¶ added in v0.117.1
func (*Manager) GetOldestWakuMessageTimestamp ¶ added in v0.98.1
func (*Manager) GetOwnedCommunitiesChatIDs ¶ added in v0.171.1
func (*Manager) GetOwnedERC721Tokens ¶ added in v0.158.0
func (m *Manager) GetOwnedERC721Tokens(walletAddresses []gethcommon.Address, tokenRequirements map[uint64]map[string]*protobuf.TokenCriteria, chainIDs []uint64) (CollectiblesByChain, error)
func (*Manager) GetRequestToJoin ¶ added in v0.103.2
func (m *Manager) GetRequestToJoin(ID types.HexBytes) (*RequestToJoin, error)
func (*Manager) GetRequestToJoinByPkAndCommunityID ¶ added in v0.171.30
func (*Manager) GetRequestToJoinIDByPkAndCommunityID ¶ added in v0.113.0
func (*Manager) GetRevealedAddresses ¶ added in v0.163.4
func (*Manager) GetStoredDescriptionForCommunities ¶ added in v0.100.1
func (m *Manager) GetStoredDescriptionForCommunities(communityIDs []string) (*KnownCommunitiesResponse, error)
func (*Manager) GetSyncControlNode ¶ added in v0.171.5
func (*Manager) GetSyncedRawCommunity ¶ added in v0.83.8
func (m *Manager) GetSyncedRawCommunity(id []byte) (*RawCommunityRow, error)
func (*Manager) HandleCommunityCancelRequestToJoin ¶ added in v0.114.1
func (m *Manager) HandleCommunityCancelRequestToJoin(signer *ecdsa.PublicKey, request *protobuf.CommunityCancelRequestToJoin) (*RequestToJoin, error)
func (*Manager) HandleCommunityDescriptionMessage ¶
func (*Manager) HandleCommunityEditSharedAddresses ¶ added in v0.161.4
func (*Manager) HandleCommunityEventsMessage ¶ added in v0.162.5
func (m *Manager) HandleCommunityEventsMessage(signer *ecdsa.PublicKey, message *protobuf.CommunityEventsMessage) (*CommunityResponse, error)
func (*Manager) HandleCommunityEventsMessageRejected ¶ added in v0.163.5
func (m *Manager) HandleCommunityEventsMessageRejected(signer *ecdsa.PublicKey, message *protobuf.CommunityEventsMessageRejected) (*CommunityEventsMessage, error)
Creates new CommunityEventsMessage by re-applying our rejected events on top of latest known CommunityDescription. Returns nil if none of our events were rejected.
func (*Manager) HandleCommunityRequestToJoin ¶ added in v0.72.0
func (m *Manager) HandleCommunityRequestToJoin(signer *ecdsa.PublicKey, receiver *ecdsa.PublicKey, request *protobuf.CommunityRequestToJoin) (*Community, *RequestToJoin, error)
func (*Manager) HandleCommunityRequestToJoinResponse ¶ added in v0.103.2
func (m *Manager) HandleCommunityRequestToJoinResponse(signer *ecdsa.PublicKey, request *protobuf.CommunityRequestToJoinResponse) (*RequestToJoin, error)
func (*Manager) HandleCommunityRequestToLeave ¶ added in v0.106.3
func (*Manager) HandleRequestToJoinPrivilegedUserSyncMessage ¶ added in v0.163.14
func (m *Manager) HandleRequestToJoinPrivilegedUserSyncMessage(message *protobuf.CommunityPrivilegedUserSyncMessage, communityID types.HexBytes) ([]*RequestToJoin, error)
func (*Manager) HandleSyncAllRequestToJoinForNewPrivilegedMember ¶ added in v0.167.2
func (m *Manager) HandleSyncAllRequestToJoinForNewPrivilegedMember(message *protobuf.CommunityPrivilegedUserSyncMessage, communityID types.HexBytes) ([]*RequestToJoin, error)
func (*Manager) HandleSyncCommunitySettings ¶ added in v0.102.2
func (m *Manager) HandleSyncCommunitySettings(syncCommunitySettings *protobuf.SyncCommunitySettings) (*CommunitySettings, error)
func (*Manager) ImageToBase64 ¶ added in v0.139.1
func (*Manager) ImportCommunity ¶
func (*Manager) IsChannelEncrypted ¶ added in v0.162.13
func (*Manager) IsEncrypted ¶ added in v0.102.2
func (*Manager) IsSeedingHistoryArchiveTorrent ¶ added in v0.98.1
func (*Manager) JoinCommunity ¶
func (*Manager) JoinedAndPendingCommunitiesWithRequests ¶ added in v0.83.8
func (*Manager) KickedOutOfCommunity ¶ added in v0.171.8
Same as LeaveCommunity, but we want to stay spectating
func (*Manager) LeaveCommunity ¶
func (*Manager) LoadHistoryArchiveIndexFromFile ¶ added in v0.100.0
func (m *Manager) LoadHistoryArchiveIndexFromFile(myKey *ecdsa.PrivateKey, communityID types.HexBytes) (*protobuf.WakuMessageArchiveIndex, error)
func (*Manager) MuteCommunityTill ¶ added in v0.162.5
func (*Manager) PendingRequestsToJoin ¶ added in v0.146.4
func (m *Manager) PendingRequestsToJoin() ([]*RequestToJoin, error)
func (*Manager) PendingRequestsToJoinForCommunity ¶ added in v0.72.0
func (m *Manager) PendingRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
func (*Manager) PendingRequestsToJoinForUser ¶ added in v0.72.0
func (m *Manager) PendingRequestsToJoinForUser(pk *ecdsa.PublicKey) ([]*RequestToJoin, error)
func (*Manager) PromoteSelfToControlNode ¶ added in v0.171.3
func (m *Manager) PromoteSelfToControlNode(community *Community, clock uint64) (*CommunityChanges, error)
func (*Manager) ReevaluateCommunityMembersPermissions ¶ added in v0.163.14
func (*Manager) ReevaluateMembers ¶ added in v0.162.13
func (*Manager) ReevaluateMembersPeriodically ¶ added in v0.162.13
func (*Manager) ReevaluatePrivilegedMember ¶ added in v0.167.2
func (m *Manager) ReevaluatePrivilegedMember(community *Community, tokenPermissions []*CommunityTokenPermission, accountsAndChainIDs []*AccountChainIDsCombination, memberPubKey *ecdsa.PublicKey, privilegedRole protobuf.CommunityMember_Roles, alreadyHasPrivilegedRole bool) (bool, error)
func (*Manager) RemoveCommunityToken ¶ added in v0.162.13
func (*Manager) RemovePrivateKey ¶ added in v0.162.9
func (*Manager) RemoveRequestToJoinRevealedAddresses ¶ added in v0.166.3
func (*Manager) RemoveRoleFromMember ¶ added in v0.115.5
func (m *Manager) RemoveRoleFromMember(request *requests.RemoveRoleFromMember) (*Community, error)
func (*Manager) RemoveUserFromCommunity ¶
func (*Manager) ReorderCategories ¶ added in v0.79.3
func (m *Manager) ReorderCategories(request *requests.ReorderCommunityCategories) (*Community, *CommunityChanges, error)
func (*Manager) ReorderChat ¶ added in v0.79.3
func (m *Manager) ReorderChat(request *requests.ReorderCommunityChat) (*Community, *CommunityChanges, error)
func (*Manager) RequestsToJoinForCommunityAwaitingAddresses ¶ added in v0.171.8
func (m *Manager) RequestsToJoinForCommunityAwaitingAddresses(id types.HexBytes) ([]*RequestToJoin, error)
func (*Manager) SafeGetSignerPubKey ¶ added in v0.171.8
func (*Manager) SaveCommunity ¶ added in v0.167.5
func (*Manager) SaveCommunitySettings ¶ added in v0.96.4
func (m *Manager) SaveCommunitySettings(settings CommunitySettings) error
func (*Manager) SaveCommunityShard ¶ added in v0.171.39
func (*Manager) SaveCommunityToken ¶ added in v0.162.13
func (m *Manager) SaveCommunityToken(token *community_token.CommunityToken, croppedImage *images.CroppedImage) (*community_token.CommunityToken, error)
func (*Manager) SaveRequestToJoin ¶ added in v0.83.8
func (m *Manager) SaveRequestToJoin(request *RequestToJoin) error
func (*Manager) SaveRequestToJoinAndCommunity ¶ added in v0.162.3
func (m *Manager) SaveRequestToJoinAndCommunity(requestToJoin *RequestToJoin, community *Community) (*Community, *RequestToJoin, error)
func (*Manager) SaveRequestToJoinRevealedAddresses ¶ added in v0.166.3
func (*Manager) SaveSyncControlNode ¶ added in v0.171.5
func (*Manager) SeedHistoryArchiveTorrent ¶ added in v0.98.1
func (*Manager) SetCommunityActiveMembersCount ¶ added in v0.142.1
func (*Manager) SetCuratedCommunities ¶ added in v0.171.21
func (m *Manager) SetCuratedCommunities(communities *CuratedCommunities) error
func (*Manager) SetMessageArchiveIDImported ¶ added in v0.117.1
func (*Manager) SetPrivateKey ¶ added in v0.83.8
func (m *Manager) SetPrivateKey(id []byte, privKey *ecdsa.PrivateKey) error
func (*Manager) SetSyncClock ¶ added in v0.83.8
func (*Manager) SetSyncControlNode ¶ added in v0.171.5
func (*Manager) SetTorrentConfig ¶ added in v0.98.1
func (m *Manager) SetTorrentConfig(config *params.TorrentConfig)
func (*Manager) ShouldHandleSyncCommunity ¶ added in v0.83.8
func (m *Manager) ShouldHandleSyncCommunity(community *protobuf.SyncInstallationCommunity) (bool, error)
func (*Manager) ShouldHandleSyncCommunitySettings ¶ added in v0.102.2
func (m *Manager) ShouldHandleSyncCommunitySettings(communitySettings *protobuf.SyncCommunitySettings) (bool, error)
func (*Manager) SpectateCommunity ¶ added in v0.111.5
func (*Manager) StartHistoryArchiveTasksInterval ¶ added in v0.98.1
func (*Manager) StartTorrentClient ¶ added in v0.98.1
func (*Manager) StopHistoryArchiveTasksInterval ¶ added in v0.98.1
func (*Manager) StopHistoryArchiveTasksIntervals ¶ added in v0.98.1
func (m *Manager) StopHistoryArchiveTasksIntervals()
func (*Manager) StopTorrentClient ¶ added in v0.98.1
func (*Manager) StoreWakuMessage ¶ added in v0.97.4
func (*Manager) StoreWakuMessages ¶ added in v0.114.1
func (*Manager) Subscribe ¶
func (m *Manager) Subscribe() chan *Subscription
func (*Manager) TorrentClientStarted ¶ added in v0.98.1
func (*Manager) TorrentFileExists ¶ added in v0.110.2
func (*Manager) UnbanUserFromCommunity ¶ added in v0.102.6
func (m *Manager) UnbanUserFromCommunity(request *requests.UnbanUserFromCommunity) (*Community, error)
func (*Manager) UnseedHistoryArchiveTorrent ¶ added in v0.98.1
func (*Manager) UpdateClockInRequestToJoin ¶ added in v0.146.4
UpdateClockInRequestToJoin method is used for testing
func (*Manager) UpdateCommunity ¶ added in v0.148.4
UpdateCommunity takes a Community persists it and republishes it. The clock is incremented meaning even a no change update will be republished by the admin, and parsed by the member.
func (*Manager) UpdateCommunityDescriptionMagnetlinkMessageClock ¶ added in v0.98.1
func (*Manager) UpdateCommunitySettings ¶ added in v0.96.4
func (m *Manager) UpdateCommunitySettings(settings CommunitySettings) error
func (*Manager) UpdateCommunityTokenAddress ¶ added in v0.163.14
func (*Manager) UpdateCommunityTokenState ¶ added in v0.133.2
func (m *Manager) UpdateCommunityTokenState(chainID int, contractAddress string, deployState community_token.DeployState) error
func (*Manager) UpdateCommunityTokenSupply ¶ added in v0.158.0
func (*Manager) UpdateLastSeenMagnetlink ¶ added in v0.117.3
func (*Manager) UpdateMagnetlinkMessageClock ¶ added in v0.98.1
func (*Manager) UpdatePubsubTopicPrivateKey ¶ added in v0.171.10
func (m *Manager) UpdatePubsubTopicPrivateKey(community *Community, privKey *ecdsa.PrivateKey) error
func (*Manager) UpdateShard ¶ added in v0.170.0
func (*Manager) ValidateCommunityByID ¶ added in v0.172.1
func (m *Manager) ValidateCommunityByID(communityID types.HexBytes) (*CommunityResponse, error)
func (*Manager) ValidateCommunityPrivilegedUserSyncMessage ¶ added in v0.163.14
func (m *Manager) ValidateCommunityPrivilegedUserSyncMessage(message *protobuf.CommunityPrivilegedUserSyncMessage) error
type ManagerOption ¶ added in v0.139.1
type ManagerOption func(*managerOptions)
func WithAccountManager ¶ added in v0.139.1
func WithAccountManager(accountsManager account.Manager) ManagerOption
func WithCollectiblesManager ¶ added in v0.162.5
func WithCollectiblesManager(collectiblesManager CollectiblesManager) ManagerOption
func WithCommunityTokensService ¶ added in v0.166.1
func WithCommunityTokensService(communityTokensService communitytokens.ServiceInterface) ManagerOption
func WithPermissionChecker ¶ added in v0.171.5
func WithPermissionChecker(permissionChecker PermissionChecker) ManagerOption
func WithTokenManager ¶ added in v0.140.0
func WithTokenManager(tokenManager TokenManager) ManagerOption
func WithWalletConfig ¶ added in v0.142.2
func WithWalletConfig(walletConfig *params.WalletConfig) ManagerOption
type OwnerVerifier ¶ added in v0.171.1
type PermissionChecker ¶ added in v0.171.5
type PermissionChecker interface { CheckPermissionToJoin(*Community, []gethcommon.Address) (*CheckPermissionToJoinResponse, error) CheckPermissions(permissions []*CommunityTokenPermission, accountsAndChainIDs []*AccountChainIDsCombination, shortcircuit bool) (*CheckPermissionsResponse, error) }
type PermissionTokenCriteriaResult ¶ added in v0.159.2
type PermissionTokenCriteriaResult struct {
Criteria []bool `json:"criteria"`
}
type Persistence ¶
type Persistence struct {
// contains filtered or unexported fields
}
func (*Persistence) AcceptedPendingRequestsToJoinForCommunity ¶ added in v0.163.4
func (p *Persistence) AcceptedPendingRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
func (*Persistence) AcceptedRequestsToJoinForCommunity ¶ added in v0.158.0
func (p *Persistence) AcceptedRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
func (*Persistence) AddCommunityToken ¶ added in v0.133.2
func (p *Persistence) AddCommunityToken(token *token.CommunityToken) error
func (*Persistence) AllCommunities ¶
func (p *Persistence) AllCommunities(memberIdentity *ecdsa.PublicKey) ([]*Community, error)
func (*Persistence) AllNonApprovedCommunitiesRequestsToJoin ¶ added in v0.171.28
func (p *Persistence) AllNonApprovedCommunitiesRequestsToJoin() ([]*RequestToJoin, error)
func (*Persistence) CanceledRequestToJoinForUserForCommunityID ¶ added in v0.171.30
func (p *Persistence) CanceledRequestToJoinForUserForCommunityID(pk string, communityID []byte) (*RequestToJoin, error)
func (*Persistence) CanceledRequestsToJoinForCommunity ¶ added in v0.114.1
func (p *Persistence) CanceledRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
func (*Persistence) CanceledRequestsToJoinForUser ¶ added in v0.114.1
func (p *Persistence) CanceledRequestsToJoinForUser(pk string) ([]*RequestToJoin, error)
func (*Persistence) CommunitiesWithPrivateKey ¶ added in v0.162.14
func (p *Persistence) CommunitiesWithPrivateKey(memberIdentity *ecdsa.PublicKey) ([]*Community, error)
func (*Persistence) CommunitySettingsExist ¶ added in v0.96.4
func (p *Persistence) CommunitySettingsExist(communityID types.HexBytes) (bool, error)
func (*Persistence) DeclinedPendingRequestsToJoinForCommunity ¶ added in v0.163.4
func (p *Persistence) DeclinedPendingRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
func (*Persistence) DeclinedRequestsToJoinForCommunity ¶ added in v0.106.1
func (p *Persistence) DeclinedRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
func (*Persistence) DeleteCommunitiesToValidateByCommunityID ¶ added in v0.171.1
func (p *Persistence) DeleteCommunitiesToValidateByCommunityID(communityID []byte) error
func (*Persistence) DeleteCommunity ¶ added in v0.114.1
func (p *Persistence) DeleteCommunity(id types.HexBytes) error
func (*Persistence) DeleteCommunityEvents ¶ added in v0.162.5
func (p *Persistence) DeleteCommunityEvents(id types.HexBytes) error
func (*Persistence) DeleteCommunitySettings ¶ added in v0.96.4
func (p *Persistence) DeleteCommunitySettings(communityID types.HexBytes) error
func (*Persistence) DeleteCommunityShard ¶ added in v0.171.39
func (p *Persistence) DeleteCommunityShard(communityID types.HexBytes) error
func (*Persistence) DeleteCommunityToValidate ¶ added in v0.171.8
func (p *Persistence) DeleteCommunityToValidate(communityID []byte, clock uint64) error
func (*Persistence) DeletePendingRequestToJoin ¶ added in v0.146.4
func (p *Persistence) DeletePendingRequestToJoin(id []byte) error
func (*Persistence) DeletedCommunities ¶ added in v0.98.3
func (p *Persistence) DeletedCommunities(memberIdentity *ecdsa.PublicKey) (comms []*Community, err error)
func (*Persistence) GetAllCommunityTokens ¶ added in v0.148.4
func (p *Persistence) GetAllCommunityTokens() ([]*token.CommunityToken, error)
func (*Persistence) GetCheckChannelPermissionResponses ¶ added in v0.159.7
func (p *Persistence) GetCheckChannelPermissionResponses(communityID string) (map[string]*CheckChannelPermissionsResponse, error)
func (*Persistence) GetCommunitiesSettings ¶ added in v0.96.4
func (p *Persistence) GetCommunitiesSettings() ([]CommunitySettings, error)
func (*Persistence) GetCommunityChatIDs ¶ added in v0.98.1
func (p *Persistence) GetCommunityChatIDs(communityID types.HexBytes) ([]string, error)
func (*Persistence) GetCommunityRequestToJoinWithRevealedAddresses ¶ added in v0.171.8
func (p *Persistence) GetCommunityRequestToJoinWithRevealedAddresses(pubKey string, communityID []byte) (*RequestToJoin, error)
func (*Persistence) GetCommunityRequestsToJoinWithRevealedAddresses ¶ added in v0.167.2
func (p *Persistence) GetCommunityRequestsToJoinWithRevealedAddresses(communityID []byte) ([]*RequestToJoin, error)
func (*Persistence) GetCommunitySettingsByID ¶ added in v0.96.4
func (p *Persistence) GetCommunitySettingsByID(communityID types.HexBytes) (*CommunitySettings, error)
func (*Persistence) GetCommunityShard ¶ added in v0.171.39
if data will not be found, will return sql.ErrNoRows. Must be handled on the caller side
func (*Persistence) GetCommunityToken ¶ added in v0.162.13
func (p *Persistence) GetCommunityToken(communityID string, chainID int, address string) (*token.CommunityToken, error)
func (*Persistence) GetCommunityTokens ¶ added in v0.133.2
func (p *Persistence) GetCommunityTokens(communityID string) ([]*token.CommunityToken, error)
func (*Persistence) GetCuratedCommunities ¶ added in v0.171.21
func (p *Persistence) GetCuratedCommunities() (*CuratedCommunities, error)
func (*Persistence) GetDownloadedMessageArchiveIDs ¶ added in v0.117.1
func (p *Persistence) GetDownloadedMessageArchiveIDs(communityID types.HexBytes) ([]string, error)
func (*Persistence) GetLastMessageArchiveEndDate ¶ added in v0.98.1
func (p *Persistence) GetLastMessageArchiveEndDate(communityID types.HexBytes) (uint64, error)
func (*Persistence) GetLastSeenMagnetlink ¶ added in v0.117.3
func (p *Persistence) GetLastSeenMagnetlink(communityID types.HexBytes) (string, error)
func (*Persistence) GetLatestWakuMessageTimestamp ¶ added in v0.98.1
func (p *Persistence) GetLatestWakuMessageTimestamp(topics []types.TopicType) (uint64, error)
func (*Persistence) GetMagnetlinkMessageClock ¶ added in v0.98.1
func (p *Persistence) GetMagnetlinkMessageClock(communityID types.HexBytes) (uint64, error)
func (*Persistence) GetMessageArchiveIDsToImport ¶ added in v0.117.1
func (p *Persistence) GetMessageArchiveIDsToImport(communityID types.HexBytes) ([]string, error)
func (*Persistence) GetOldestWakuMessageTimestamp ¶ added in v0.98.1
func (p *Persistence) GetOldestWakuMessageTimestamp(topics []types.TopicType) (uint64, error)
func (*Persistence) GetPermissionTokenCriteriaResult ¶ added in v0.159.7
func (p *Persistence) GetPermissionTokenCriteriaResult(permissionID string, communityID string, chatID string) (*PermissionTokenCriteriaResult, error)
func (*Persistence) GetRequestToJoin ¶ added in v0.72.0
func (p *Persistence) GetRequestToJoin(id []byte) (*RequestToJoin, error)
func (*Persistence) GetRequestToJoinByPk ¶ added in v0.114.1
func (p *Persistence) GetRequestToJoinByPk(pk string, communityID []byte, state RequestToJoinState) (*RequestToJoin, error)
func (*Persistence) GetRequestToJoinByPkAndCommunityID ¶ added in v0.129.3
func (p *Persistence) GetRequestToJoinByPkAndCommunityID(pk string, communityID []byte) (*RequestToJoin, error)
func (*Persistence) GetRequestToJoinIDByPkAndCommunityID ¶ added in v0.113.0
func (p *Persistence) GetRequestToJoinIDByPkAndCommunityID(pk string, communityID []byte) ([]byte, error)
func (*Persistence) GetRequestToJoinRevealedAddresses ¶ added in v0.139.1
func (p *Persistence) GetRequestToJoinRevealedAddresses(requestID []byte) ([]*protobuf.RevealedAccount, error)
func (*Persistence) GetSyncControlNode ¶ added in v0.171.5
func (p *Persistence) GetSyncControlNode(communityID types.HexBytes) (*protobuf.SyncCommunityControlNode, error)
func (*Persistence) GetWakuMessagesByFilterTopic ¶ added in v0.98.1
func (*Persistence) HasCommunityArchiveInfo ¶ added in v0.100.0
func (p *Persistence) HasCommunityArchiveInfo(communityID types.HexBytes) (exists bool, err error)
func (*Persistence) HasCommunityToken ¶ added in v0.163.4
func (*Persistence) HasMessageArchiveID ¶ added in v0.100.0
func (*Persistence) HasPendingRequestsToJoinForUserAndCommunity ¶ added in v0.72.0
func (p *Persistence) HasPendingRequestsToJoinForUserAndCommunity(userPk string, communityID []byte) (bool, error)
func (*Persistence) JoinedAndPendingCommunitiesWithRequests ¶ added in v0.83.8
func (p *Persistence) JoinedAndPendingCommunitiesWithRequests(memberIdentity *ecdsa.PublicKey) (comms []*Community, err error)
func (*Persistence) JoinedCommunities ¶
func (p *Persistence) JoinedCommunities(memberIdentity *ecdsa.PublicKey) ([]*Community, error)
func (*Persistence) MuteCommunityTill ¶ added in v0.162.5
func (p *Persistence) MuteCommunityTill(communityID []byte, mutedTill time.Time) error
func (*Persistence) PendingRequestsToJoin ¶ added in v0.146.4
func (p *Persistence) PendingRequestsToJoin() ([]*RequestToJoin, error)
func (*Persistence) PendingRequestsToJoinForCommunity ¶ added in v0.72.0
func (p *Persistence) PendingRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
func (*Persistence) RemoveAllCommunityRequestsToJoinWithRevealedAddressesExceptPublicKey ¶ added in v0.171.30
func (p *Persistence) RemoveAllCommunityRequestsToJoinWithRevealedAddressesExceptPublicKey(pk string, communityID []byte) error
func (*Persistence) RemoveCommunityToken ¶ added in v0.162.13
func (p *Persistence) RemoveCommunityToken(chainID int, contractAddress string) error
func (*Persistence) RemoveRequestToJoinRevealedAddresses ¶ added in v0.163.4
func (p *Persistence) RemoveRequestToJoinRevealedAddresses(requestID []byte) error
func (*Persistence) RequestsToJoinForCommunityAwaitingAddresses ¶ added in v0.171.8
func (p *Persistence) RequestsToJoinForCommunityAwaitingAddresses(id []byte) ([]*RequestToJoin, error)
func (*Persistence) RequestsToJoinForCommunityWithState ¶ added in v0.106.1
func (p *Persistence) RequestsToJoinForCommunityWithState(id []byte, state RequestToJoinState) ([]*RequestToJoin, error)
func (*Persistence) RequestsToJoinForUserByState ¶ added in v0.171.8
func (p *Persistence) RequestsToJoinForUserByState(pk string, state RequestToJoinState) ([]*RequestToJoin, error)
func (*Persistence) SaveCheckChannelPermissionResponse ¶ added in v0.159.7
func (p *Persistence) SaveCheckChannelPermissionResponse(communityID string, chatID string, response *CheckChannelPermissionsResponse) error
func (*Persistence) SaveCommunity ¶
func (p *Persistence) SaveCommunity(community *Community) error
func (*Persistence) SaveCommunityArchiveInfo ¶ added in v0.100.0
func (*Persistence) SaveCommunityEvents ¶ added in v0.162.5
func (p *Persistence) SaveCommunityEvents(community *Community) error
func (*Persistence) SaveCommunitySettings ¶ added in v0.96.4
func (p *Persistence) SaveCommunitySettings(communitySettings CommunitySettings) error
func (*Persistence) SaveCommunityShard ¶ added in v0.171.39
func (*Persistence) SaveCommunityToValidate ¶ added in v0.171.1
func (p *Persistence) SaveCommunityToValidate(c communityToValidate) error
func (*Persistence) SaveLastMessageArchiveEndDate ¶ added in v0.98.1
func (p *Persistence) SaveLastMessageArchiveEndDate(communityID types.HexBytes, endDate uint64) error
func (*Persistence) SaveMessageArchiveID ¶ added in v0.100.0
func (p *Persistence) SaveMessageArchiveID(communityID types.HexBytes, hash string) error
func (*Persistence) SaveRequestToJoin ¶ added in v0.72.0
func (p *Persistence) SaveRequestToJoin(request *RequestToJoin) (err error)
func (*Persistence) SaveRequestToJoinRevealedAddresses ¶ added in v0.139.1
func (p *Persistence) SaveRequestToJoinRevealedAddresses(requestID types.HexBytes, revealedAccounts []*protobuf.RevealedAccount) (err error)
func (*Persistence) SaveRequestToLeave ¶ added in v0.106.3
func (p *Persistence) SaveRequestToLeave(request *RequestToLeave) error
func (*Persistence) SaveRequestsToJoin ¶ added in v0.171.8
func (p *Persistence) SaveRequestsToJoin(requests []*RequestToJoin) (err error)
func (*Persistence) SaveSyncControlNode ¶ added in v0.171.5
func (*Persistence) SaveWakuMessage ¶ added in v0.97.4
func (p *Persistence) SaveWakuMessage(message *types.Message) error
func (*Persistence) SaveWakuMessages ¶ added in v0.111.5
func (p *Persistence) SaveWakuMessages(messages []*types.Message) (err error)
func (*Persistence) SetCuratedCommunities ¶ added in v0.171.21
func (p *Persistence) SetCuratedCommunities(communities *CuratedCommunities) error
func (*Persistence) SetMessageArchiveIDImported ¶ added in v0.117.1
func (*Persistence) SetMuted ¶ added in v0.81.0
func (p *Persistence) SetMuted(communityID []byte, muted bool) error
func (*Persistence) SetPrivateKey ¶ added in v0.83.8
func (p *Persistence) SetPrivateKey(id []byte, privKey *ecdsa.PrivateKey) error
func (*Persistence) SetRequestToJoinState ¶ added in v0.72.0
func (p *Persistence) SetRequestToJoinState(pk string, communityID []byte, state RequestToJoinState) error
func (*Persistence) SetSyncClock ¶ added in v0.83.8
func (p *Persistence) SetSyncClock(id []byte, clock uint64) error
func (*Persistence) ShouldHandleSyncCommunity ¶ added in v0.83.8
func (p *Persistence) ShouldHandleSyncCommunity(community *protobuf.SyncInstallationCommunity) (bool, error)
func (*Persistence) ShouldHandleSyncCommunitySettings ¶ added in v0.102.2
func (p *Persistence) ShouldHandleSyncCommunitySettings(settings *protobuf.SyncCommunitySettings) (bool, error)
func (*Persistence) SpectatedCommunities ¶ added in v0.111.5
func (p *Persistence) SpectatedCommunities(memberIdentity *ecdsa.PublicKey) ([]*Community, error)
func (*Persistence) UpdateClockInRequestToJoin ¶ added in v0.146.4
func (p *Persistence) UpdateClockInRequestToJoin(id []byte, clock uint64) error
UpdateClockInRequestToJoin method is used for testing
func (*Persistence) UpdateCommunitySettings ¶ added in v0.96.4
func (p *Persistence) UpdateCommunitySettings(communitySettings CommunitySettings) error
func (*Persistence) UpdateCommunityTokenAddress ¶ added in v0.163.14
func (p *Persistence) UpdateCommunityTokenAddress(chainID int, oldContractAddress string, newContractAddress string) error
func (*Persistence) UpdateCommunityTokenState ¶ added in v0.133.2
func (p *Persistence) UpdateCommunityTokenState(chainID int, contractAddress string, deployState token.DeployState) error
func (*Persistence) UpdateCommunityTokenSupply ¶ added in v0.158.0
func (*Persistence) UpdateLastMessageArchiveEndDate ¶ added in v0.98.1
func (p *Persistence) UpdateLastMessageArchiveEndDate(communityID types.HexBytes, endDate uint64) error
func (*Persistence) UpdateLastSeenMagnetlink ¶ added in v0.117.3
func (p *Persistence) UpdateLastSeenMagnetlink(communityID types.HexBytes, magnetlinkURI string) error
func (*Persistence) UpdateMagnetlinkMessageClock ¶ added in v0.98.1
func (p *Persistence) UpdateMagnetlinkMessageClock(communityID types.HexBytes, clock uint64) error
type RawCommunityRow ¶ added in v0.97.4
type RequestToJoin ¶ added in v0.72.0
type RequestToJoin struct { ID types.HexBytes `json:"id"` PublicKey string `json:"publicKey"` Clock uint64 `json:"clock"` ENSName string `json:"ensName,omitempty"` ChatID string `json:"chatId"` CommunityID types.HexBytes `json:"communityId"` State RequestToJoinState `json:"state"` Our bool `json:"our"` Deleted bool `json:"deleted"` RevealedAccounts []*protobuf.RevealedAccount `json:"revealedAccounts,omitempty"` }
func (*RequestToJoin) CalculateID ¶ added in v0.72.0
func (r *RequestToJoin) CalculateID()
func (*RequestToJoin) Empty ¶ added in v0.83.8
func (r *RequestToJoin) Empty() bool
func (*RequestToJoin) InitFromSyncProtobuf ¶ added in v0.83.8
func (r *RequestToJoin) InitFromSyncProtobuf(proto *protobuf.SyncCommunityRequestsToJoin)
func (*RequestToJoin) ShouldRetainDeclined ¶ added in v0.171.3
func (r *RequestToJoin) ShouldRetainDeclined(clock uint64) (bool, error)
func (*RequestToJoin) ToCommunityRequestToJoinProtobuf ¶ added in v0.158.0
func (r *RequestToJoin) ToCommunityRequestToJoinProtobuf() *protobuf.CommunityRequestToJoin
func (*RequestToJoin) ToSyncProtobuf ¶ added in v0.83.8
func (r *RequestToJoin) ToSyncProtobuf() *protobuf.SyncCommunityRequestsToJoin
type RequestToJoinRecord ¶ added in v0.171.27
type RequestToJoinRecord struct {
// contains filtered or unexported fields
}
type RequestToJoinState ¶ added in v0.83.8
type RequestToJoinState uint
const ( RequestToJoinStatePending RequestToJoinState = iota + 1 RequestToJoinStateDeclined RequestToJoinStateAccepted RequestToJoinStateCanceled RequestToJoinStateAcceptedPending RequestToJoinStateDeclinedPending RequestToJoinStateAwaitingAddresses )
type RequestToLeave ¶ added in v0.106.3
type RequestToLeave struct { ID types.HexBytes `json:"id"` PublicKey string `json:"publicKey"` Clock uint64 `json:"clock"` CommunityID types.HexBytes `json:"communityId"` }
func NewRequestToLeave ¶ added in v0.106.3
func NewRequestToLeave(publicKey string, protobuf *protobuf.CommunityRequestToLeave) *RequestToLeave
type Subscription ¶
type Subscription struct { Community *Community CreatingHistoryArchivesSignal *signal.CreatingHistoryArchivesSignal HistoryArchivesCreatedSignal *signal.HistoryArchivesCreatedSignal NoHistoryArchivesCreatedSignal *signal.NoHistoryArchivesCreatedSignal HistoryArchivesSeedingSignal *signal.HistoryArchivesSeedingSignal HistoryArchivesUnseededSignal *signal.HistoryArchivesUnseededSignal HistoryArchiveDownloadedSignal *signal.HistoryArchiveDownloadedSignal DownloadingHistoryArchivesStartedSignal *signal.DownloadingHistoryArchivesStartedSignal DownloadingHistoryArchivesFinishedSignal *signal.DownloadingHistoryArchivesFinishedSignal ImportingHistoryArchiveMessagesSignal *signal.ImportingHistoryArchiveMessagesSignal CommunityEventsMessage *CommunityEventsMessage CommunityEventsMessageInvalidClock *CommunityEventsMessageInvalidClockSignal AcceptedRequestsToJoin []types.HexBytes RejectedRequestsToJoin []types.HexBytes CommunityPrivilegedMemberSyncMessage *CommunityPrivilegedMemberSyncMessage TokenCommunityValidated *CommunityResponse }
type TokenManager ¶ added in v0.151.13
type TokenManager interface { GetBalancesByChain(ctx context.Context, accounts, tokens []gethcommon.Address, chainIDs []uint64) (map[uint64]map[gethcommon.Address]map[gethcommon.Address]*hexutil.Big, error) FindOrCreateTokenByAddress(ctx context.Context, chainID uint64, address gethcommon.Address) *token.Token GetAllChainIDs() ([]uint64, error) }
type TokenPermissionState ¶ added in v0.166.1
type TokenPermissionState uint8
const ( TokenPermissionApproved TokenPermissionState = iota TokenPermissionAdditionPending TokenPermissionUpdatePending TokenPermissionRemovalPending )
Source Files
¶
- adaptors.go
- community.go
- community_categories.go
- community_changes.go
- community_description_encryption.go
- community_encryption_key_action.go
- community_event.go
- community_event_message.go
- community_token_permission.go
- communnity_privileged_member_sync_msg.go
- errors.go
- manager.go
- permission_checker.go
- persistence.go
- persistence_mapping.go
- persistence_test_helpers.go
- request_to_join.go
- request_to_leave.go
- roles_authorization.go
- utils.go
- validator.go