Documentation
¶
Index ¶
- Constants
- Variables
- func AddTimeoutToRequestToJoinClock(clock uint64) (uint64, error)
- func CalculateRequestID(publicKey string, communityID types.HexBytes) types.HexBytes
- func ExtractTokenCriteria(permissions []*protobuf.CommunityTokenPermission) (erc20TokenCriteria map[uint64]map[string]*protobuf.TokenCriteria, ...)
- 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 Community
- func (o *Community) AcceptRequestToJoinAutomatically() bool
- 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) AddMemberRevealedAccounts(memberID string, accounts []*protobuf.RevealedAccount) (*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) AddTokenPermission(permission *protobuf.CommunityTokenPermission) (*CommunityChanges, error)
- func (o *Community) AdminSettings() *protobuf.CommunityAdminSettings
- func (o *Community) AllowsAllMembersToPinMessage() 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) ChannelTokenPermissionsByType(channelID string, permissionType protobuf.CommunityTokenPermission_Type) []*protobuf.CommunityTokenPermission
- 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) CommunityTokensMetadata() []*protobuf.CommunityTokenMetadata
- 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) DefaultFilters() []string
- 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) 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) GetMemberAdmins() []*ecdsa.PublicKey
- func (o *Community) GetMemberPubkeys() []*ecdsa.PublicKey
- func (o *Community) HasMember(pk *ecdsa.PublicKey) 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) InvitationOnly() bool
- func (o *Community) InviteUserToChat(pk *ecdsa.PublicKey, chatID string) (*protobuf.CommunityInvitation, error)
- func (o *Community) InviteUserToOrg(pk *ecdsa.PublicKey) (*protobuf.CommunityInvitation, error)
- func (o *Community) IsAdmin() bool
- func (o *Community) IsBanned(pk *ecdsa.PublicKey) 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) IsMemberOwnerOrAdmin(publicKey *ecdsa.PublicKey) bool
- func (o *Community) IsOwner() bool
- func (o *Community) IsOwnerOrAdmin() bool
- func (o *Community) Join()
- func (o *Community) Joined() bool
- func (o *Community) Leave()
- func (o *Community) MagnetlinkMessageChannelID() string
- func (o *Community) MarshalJSON() ([]byte, error)
- func (o *Community) MarshalPublicAPIJSON() ([]byte, error)
- func (o *Community) MarshaledDescription() ([]byte, error)
- 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) OnRequest() bool
- func (o *Community) OutroMessage() string
- func (o *Community) PatchCommunityDescriptionByAdminEvent(adminEvent *protobuf.CommunityAdminEvent) (*protobuf.CommunityDescription, error)
- func (o *Community) Permissions() *protobuf.CommunityPermissions
- func (o *Community) PrivateKey() *ecdsa.PrivateKey
- func (o *Community) PublicKey() *ecdsa.PublicKey
- 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) SetActiveMembersCount(activeMembersCount uint64) (updated bool, err error)
- func (o *Community) SetEncrypted(encrypted bool)
- 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) ToBanCommunityMemberAdminEvent(pubkey string) *protobuf.CommunityAdminEvent
- func (o *Community) ToBytes() ([]byte, error)
- func (o *Community) ToCommunityBecomeMemberTokenPermissionChangeAdminEvent() *protobuf.CommunityAdminEvent
- func (o *Community) ToCommunityBecomeMemberTokenPermissionDeleteAdminEvent() *protobuf.CommunityAdminEvent
- func (o *Community) ToCommunityEditAdminEvent() *protobuf.CommunityAdminEvent
- func (o *Community) ToCommunityRequestToJoinAcceptAdminEvent(changes *CommunityAdminEventChanges) *protobuf.CommunityAdminEvent
- func (o *Community) ToCommunityRequestToJoinRejectAdminEvent(changes *CommunityAdminEventChanges) *protobuf.CommunityAdminEvent
- func (o *Community) ToCreateCategoryAdminEvent(categoryID string, categoryName string, channelsIds []string) *protobuf.CommunityAdminEvent
- func (o *Community) ToCreateChannelAdminEvent(channelID string, channel *protobuf.CommunityChat) *protobuf.CommunityAdminEvent
- func (o *Community) ToDeleteCategoryAdminEvent(categoryID string) *protobuf.CommunityAdminEvent
- func (o *Community) ToDeleteChannelAdminEvent(channelID string) *protobuf.CommunityAdminEvent
- func (o *Community) ToEditCategoryAdminEvent(categoryID string, categoryName string, channelsIds []string) *protobuf.CommunityAdminEvent
- func (o *Community) ToEditChannelAdminEvent(channelID string, channel *protobuf.CommunityChat) *protobuf.CommunityAdminEvent
- func (o *Community) ToKickCommunityMemberAdminEvent(pubkey string) *protobuf.CommunityAdminEvent
- func (o *Community) ToReorderCategoryAdminEvent(categoryID string, position int) *protobuf.CommunityAdminEvent
- func (o *Community) ToReorderChannelAdminEvent(categoryID string, channelID string, position int) *protobuf.CommunityAdminEvent
- func (o *Community) ToSyncCommunityProtobuf(clock uint64, communitySettings *CommunitySettings) (*protobuf.SyncCommunity, error)
- func (o *Community) ToUnbanCommunityMemberAdminEvent(pubkey string) *protobuf.CommunityAdminEvent
- func (o *Community) TokenPermissions() map[string]*protobuf.CommunityTokenPermission
- func (o *Community) TokenPermissionsByType(permissionType protobuf.CommunityTokenPermission_Type) []*protobuf.CommunityTokenPermission
- func (o *Community) UnbanUserFromCommunity(pk *ecdsa.PublicKey) (*protobuf.CommunityDescription, error)
- func (o *Community) UpdateChatFirstMessageTimestamp(chatID string, timestamp uint32) (*CommunityChanges, error)
- func (o *Community) UpdateCommunityDescription(description *protobuf.CommunityDescription, rawMessage []byte) (*CommunityChanges, error)
- func (o *Community) UpdateTokenPermission(permissionID string, tokenPermission *protobuf.CommunityTokenPermission) (*CommunityChanges, 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 CommunityAdminEventChanges
- type CommunityAdminSettings
- type CommunityCategory
- type CommunityChanges
- type CommunityChat
- type CommunityChatChanges
- type CommunityResponse
- type CommunitySettings
- type CommunityTag
- type CommunityToken
- type Config
- type DefaultTokenManager
- type DeployState
- type EncodedArchiveData
- type HistoryArchiveDownloadTask
- type HistoryArchiveDownloadTaskInfo
- type KnownCommunitiesResponse
- type Manager
- func (m *Manager) AcceptRequestToJoin(request *requests.AcceptRequestToJoinCommunity) (*Community, error)
- func (m *Manager) AcceptedRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
- func (m *Manager) AddCommunityToken(token *CommunityToken, croppedImage *images.CroppedImage) (*CommunityToken, 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) 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) 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) CheckMemberPermissionsPeriodically(communityID types.HexBytes)
- func (m *Manager) CheckPermissionToJoin(id []byte, addresses []gethcommon.Address) (*CheckPermissionToJoinResponse, error)
- func (m *Manager) CommunitySettingsExist(id types.HexBytes) (bool, 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, ...) (*Community, *CommunityChanges, error)
- func (m *Manager) CreateCommunity(request *requests.CreateCommunity, publish bool) (*Community, 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) Created() ([]*Community, error)
- func (m *Manager) DeclineRequestToJoin(request *requests.DeclineRequestToJoinCommunity) 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) 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) GetAdminCommunitiesChatIDs() (map[string]bool, error)
- func (m *Manager) GetAllCommunityTokens() ([]*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) GetCommunitySettingsByID(id types.HexBytes) (*CommunitySettings, error)
- func (m *Manager) GetCommunityTokens(communityID string) ([]*CommunityToken, 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) GetOwnedERC721Tokens(walletAddresses []gethcommon.Address, ...) (CollectiblesByChain, error)
- func (m *Manager) GetRequestToJoin(ID types.HexBytes) (*RequestToJoin, error)
- func (m *Manager) GetRequestToJoinIDByPkAndCommunityID(pk *ecdsa.PublicKey, communityID []byte) ([]byte, error)
- func (m *Manager) GetStoredDescriptionForCommunities(communityIDs []types.HexBytes) (response *KnownCommunitiesResponse, err error)
- func (m *Manager) GetSyncedRawCommunity(id []byte) (*RawCommunityRow, error)
- func (m *Manager) HandleCommunityAdminEvent(signer *ecdsa.PublicKey, adminEvent *protobuf.CommunityAdminEvent, ...) (*CommunityResponse, 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) HandleCommunityInvitation(signer *ecdsa.PublicKey, invitation *protobuf.CommunityInvitation, ...) (*CommunityResponse, error)
- func (m *Manager) HandleCommunityRequestToJoin(signer *ecdsa.PublicKey, request *protobuf.CommunityRequestToJoin) (*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) HandleSyncCommunitySettings(syncCommunitySettings *protobuf.SyncCommunitySettings) (*CommunitySettings, error)
- func (m *Manager) HandleWrappedCommunityDescriptionMessage(payload []byte) (*CommunityResponse, error)
- func (m *Manager) ImageToBase64(uri string) string
- func (m *Manager) ImportCommunity(key *ecdsa.PrivateKey) (*Community, error)
- func (m *Manager) InviteUsersToCommunity(communityID types.HexBytes, pks []*ecdsa.PublicKey) (*Community, error)
- func (m *Manager) IsAdminCommunity(pubKey *ecdsa.PublicKey) (bool, error)
- func (m *Manager) IsAdminCommunityByID(communityID types.HexBytes) (bool, error)
- func (m *Manager) IsEncrypted(communityID string) (bool, error)
- func (m *Manager) IsJoinedCommunity(pubKey *ecdsa.PublicKey) (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) 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) PendingRequestsToJoin() ([]*RequestToJoin, error)
- func (m *Manager) PendingRequestsToJoinForCommunity(id types.HexBytes) ([]*RequestToJoin, error)
- func (m *Manager) PendingRequestsToJoinForUser(pk *ecdsa.PublicKey) ([]*RequestToJoin, 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) RequestToJoin(requester *ecdsa.PublicKey, request *requests.RequestToJoinCommunity) (*Community, *RequestToJoin, error)
- func (m *Manager) SaveCommunitySettings(settings CommunitySettings) error
- func (m *Manager) SaveRequestToJoin(request *RequestToJoin) error
- func (m *Manager) SeedHistoryArchiveTorrent(communityID types.HexBytes) error
- func (m *Manager) SetCommunityActiveMembersCount(communityID string, activeMembersCount uint64) error
- func (m *Manager) SetMessageArchiveIDImported(communityID types.HexBytes, hash string, imported bool) error
- func (m *Manager) SetMuted(id types.HexBytes, muted bool, mutedTill time.Time) error
- func (m *Manager) SetPrivateKey(id []byte, privKey *ecdsa.PrivateKey) error
- func (m *Manager) SetSyncClock(id []byte, clock uint64) error
- func (m *Manager) SetTorrentConfig(config *params.TorrentConfig)
- func (m *Manager) ShouldHandleSyncCommunity(community *protobuf.SyncCommunity) (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) UpdateCommunityTokenState(chainID int, contractAddress string, deployState DeployState) error
- func (m *Manager) UpdateCommunityTokenSupply(chainID int, contractAddress string, supply int) error
- func (m *Manager) UpdateLastSeenMagnetlink(communityID types.HexBytes, magnetlinkURI string) error
- func (m *Manager) UpdateMagnetlinkMessageClock(communityID types.HexBytes, clock uint64) error
- type ManagerOption
- type MemberPermissionsCheckedSignal
- type PermissionTokenCriteriaResult
- type Persistence
- func (p *Persistence) AcceptedRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
- func (p *Persistence) AddCommunityToken(token *CommunityToken) error
- func (p *Persistence) AllCommunities(memberIdentity *ecdsa.PublicKey) ([]*Community, error)
- func (p *Persistence) CanceledRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
- func (p *Persistence) CanceledRequestsToJoinForUser(pk string) ([]*RequestToJoin, error)
- func (p *Persistence) CommunitySettingsExist(communityID types.HexBytes) (bool, error)
- func (p *Persistence) CreatedCommunities(memberIdentity *ecdsa.PublicKey) ([]*Community, error)
- func (p *Persistence) DeclinedRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
- func (p *Persistence) DeleteCommunity(id types.HexBytes) error
- func (p *Persistence) DeleteCommunitySettings(communityID types.HexBytes) error
- func (p *Persistence) DeletePendingRequestToJoin(id []byte) error
- func (p *Persistence) DeletedCommunities(memberIdentity *ecdsa.PublicKey) (comms []*Community, err error)
- func (p *Persistence) GetAllCommunityTokens() ([]*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) GetCommunitySettingsByID(communityID types.HexBytes) (*CommunitySettings, error)
- func (p *Persistence) GetCommunityTokens(communityID string) ([]*CommunityToken, 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) 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) 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) PendingRequestsToJoin() ([]*RequestToJoin, error)
- func (p *Persistence) PendingRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
- func (p *Persistence) PendingRequestsToJoinForUser(pk string) ([]*RequestToJoin, error)
- func (p *Persistence) RequestsToJoinForCommunityWithState(id []byte, 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) SaveCommunitySettings(communitySettings CommunitySettings) 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(request *RequestToJoin) (err error)
- func (p *Persistence) SaveRequestToLeave(request *RequestToLeave) error
- func (p *Persistence) SaveWakuMessage(message *types.Message) error
- func (p *Persistence) SaveWakuMessages(messages []*types.Message) (err error)
- func (p *Persistence) SetMessageArchiveIDImported(communityID types.HexBytes, hash string, imported bool) error
- func (p *Persistence) SetMuted(communityID []byte, muted bool, mutedTill time.Time) 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.SyncCommunity) (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) UpdateCommunityTokenState(chainID int, contractAddress string, deployState DeployState) error
- func (p *Persistence) UpdateCommunityTokenSupply(chainID int, contractAddress string, supply int) 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) ToCommunityRequestToJoinProtobuf() *protobuf.CommunityRequestToJoin
- func (r *RequestToJoin) ToSyncProtobuf() *protobuf.SyncCommunityRequestsToJoin
- type RequestToJoinState
- type RequestToLeave
- type Subscription
- type TokenManager
Constants ¶
const OR = " OR "
Variables ¶
var ( ErrTorrentTimedout = errors.New("torrent has timed out") ErrCommunityRequestAlreadyRejected = errors.New("that user was already rejected from the community") )
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 ErrInvalidCommunityTags = errors.New("invalid community tags")
var ErrInvalidGrant = errors.New("invalid grant")
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 ErrNoPermissionToJoin = errors.New("member has no permission to join")
var ErrNotAdmin = errors.New("no admin privileges for this community")
var ErrNotAuthorized = errors.New("not authorized")
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 ErrOrgAlreadyJoined = errors.New("community already joined")
var ErrOrgNotFound = errors.New("community not found")
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 ExtractTokenCriteria ¶ added in v0.158.0
func ExtractTokenCriteria(permissions []*protobuf.CommunityTokenPermission) (erc20TokenCriteria map[uint64]map[string]*protobuf.TokenCriteria, erc721TokenCriteria map[uint64]map[string]*protobuf.TokenCriteria, ensTokenCriteria []string)
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 Community ¶
type Community struct {
// contains filtered or unexported fields
}
func (*Community) AcceptRequestToJoinAutomatically ¶ added in v0.103.2
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) AddMemberRevealedAccounts ¶ added in v0.158.0
func (o *Community) AddMemberRevealedAccounts(memberID string, 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) AddTokenPermission ¶ added in v0.136.0
func (o *Community) AddTokenPermission(permission *protobuf.CommunityTokenPermission) (*CommunityChanges, 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) 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) ChannelTokenPermissionsByType ¶ added in v0.159.2
func (o *Community) ChannelTokenPermissionsByType(channelID string, permissionType protobuf.CommunityTokenPermission_Type) []*protobuf.CommunityTokenPermission
func (*Community) ChatsByCategoryID ¶ added in v0.102.6
func (*Community) CommunityTokensMetadata ¶ added in v0.137.2
func (o *Community) CommunityTokensMetadata() []*protobuf.CommunityTokenMetadata
func (*Community) CreateCategory ¶ added in v0.79.3
func (*Community) CreateChat ¶
func (o *Community) CreateChat(chatID string, chat *protobuf.CommunityChat) (*CommunityChanges, error)
func (*Community) DefaultFilters ¶ added in v0.83.2
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) 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) GetMemberAdmins ¶ added in v0.158.0
func (*Community) GetMemberPubkeys ¶ added in v0.102.2
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) InvitationOnly ¶ added in v0.72.0
func (*Community) InviteUserToChat ¶
func (*Community) InviteUserToOrg ¶
func (*Community) IsMemberAdmin ¶ added in v0.74.2
func (*Community) IsMemberInChat ¶
func (*Community) IsMemberOwner ¶ added in v0.158.0
func (*Community) IsMemberOwnerOrAdmin ¶ added in v0.158.0
func (*Community) IsOwnerOrAdmin ¶ added in v0.158.0
func (*Community) MagnetlinkMessageChannelID ¶ added in v0.96.2
func (*Community) MarshalJSON ¶
func (*Community) MarshalPublicAPIJSON ¶ added in v0.86.2
func (*Community) MarshaledDescription ¶
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) OutroMessage ¶ added in v0.100.1
func (*Community) PatchCommunityDescriptionByAdminEvent ¶ added in v0.158.0
func (o *Community) PatchCommunityDescriptionByAdminEvent(adminEvent *protobuf.CommunityAdminEvent) (*protobuf.CommunityDescription, error)
func (*Community) Permissions ¶ added in v0.158.0
func (o *Community) Permissions() *protobuf.CommunityPermissions
func (*Community) PrivateKey ¶
func (o *Community) PrivateKey() *ecdsa.PrivateKey
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) SetActiveMembersCount ¶ added in v0.142.1
func (*Community) SetEncrypted ¶ added in v0.148.4
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) ToBanCommunityMemberAdminEvent ¶ added in v0.158.0
func (o *Community) ToBanCommunityMemberAdminEvent(pubkey string) *protobuf.CommunityAdminEvent
func (*Community) ToCommunityBecomeMemberTokenPermissionChangeAdminEvent ¶ added in v0.158.0
func (o *Community) ToCommunityBecomeMemberTokenPermissionChangeAdminEvent() *protobuf.CommunityAdminEvent
func (*Community) ToCommunityBecomeMemberTokenPermissionDeleteAdminEvent ¶ added in v0.158.0
func (o *Community) ToCommunityBecomeMemberTokenPermissionDeleteAdminEvent() *protobuf.CommunityAdminEvent
func (*Community) ToCommunityEditAdminEvent ¶ added in v0.158.0
func (o *Community) ToCommunityEditAdminEvent() *protobuf.CommunityAdminEvent
func (*Community) ToCommunityRequestToJoinAcceptAdminEvent ¶ added in v0.158.0
func (o *Community) ToCommunityRequestToJoinAcceptAdminEvent(changes *CommunityAdminEventChanges) *protobuf.CommunityAdminEvent
func (*Community) ToCommunityRequestToJoinRejectAdminEvent ¶ added in v0.158.0
func (o *Community) ToCommunityRequestToJoinRejectAdminEvent(changes *CommunityAdminEventChanges) *protobuf.CommunityAdminEvent
func (*Community) ToCreateCategoryAdminEvent ¶ added in v0.158.0
func (*Community) ToCreateChannelAdminEvent ¶ added in v0.158.0
func (o *Community) ToCreateChannelAdminEvent(channelID string, channel *protobuf.CommunityChat) *protobuf.CommunityAdminEvent
func (*Community) ToDeleteCategoryAdminEvent ¶ added in v0.158.0
func (o *Community) ToDeleteCategoryAdminEvent(categoryID string) *protobuf.CommunityAdminEvent
func (*Community) ToDeleteChannelAdminEvent ¶ added in v0.158.0
func (o *Community) ToDeleteChannelAdminEvent(channelID string) *protobuf.CommunityAdminEvent
func (*Community) ToEditCategoryAdminEvent ¶ added in v0.158.0
func (*Community) ToEditChannelAdminEvent ¶ added in v0.158.0
func (o *Community) ToEditChannelAdminEvent(channelID string, channel *protobuf.CommunityChat) *protobuf.CommunityAdminEvent
func (*Community) ToKickCommunityMemberAdminEvent ¶ added in v0.158.0
func (o *Community) ToKickCommunityMemberAdminEvent(pubkey string) *protobuf.CommunityAdminEvent
func (*Community) ToReorderCategoryAdminEvent ¶ added in v0.158.0
func (o *Community) ToReorderCategoryAdminEvent(categoryID string, position int) *protobuf.CommunityAdminEvent
func (*Community) ToReorderChannelAdminEvent ¶ added in v0.158.0
func (*Community) ToSyncCommunityProtobuf ¶ added in v0.83.8
func (o *Community) ToSyncCommunityProtobuf(clock uint64, communitySettings *CommunitySettings) (*protobuf.SyncCommunity, error)
func (*Community) ToUnbanCommunityMemberAdminEvent ¶ added in v0.158.0
func (o *Community) ToUnbanCommunityMemberAdminEvent(pubkey string) *protobuf.CommunityAdminEvent
func (*Community) TokenPermissions ¶ added in v0.139.1
func (o *Community) TokenPermissions() map[string]*protobuf.CommunityTokenPermission
func (*Community) TokenPermissionsByType ¶ added in v0.139.1
func (o *Community) TokenPermissionsByType(permissionType protobuf.CommunityTokenPermission_Type) []*protobuf.CommunityTokenPermission
func (*Community) UnbanUserFromCommunity ¶ added in v0.102.6
func (*Community) UpdateChatFirstMessageTimestamp ¶ added in v0.109.1
func (o *Community) UpdateChatFirstMessageTimestamp(chatID string, timestamp uint32) (*CommunityChanges, error)
func (*Community) UpdateCommunityDescription ¶ added in v0.72.0
func (o *Community) UpdateCommunityDescription(description *protobuf.CommunityDescription, rawMessage []byte) (*CommunityChanges, error)
UpdateCommunityDescription will update the community to the new community description and return a list of changes
func (*Community) UpdateTokenPermission ¶ added in v0.136.0
func (o *Community) UpdateTokenPermission(permissionID string, tokenPermission *protobuf.CommunityTokenPermission) (*CommunityChanges, 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 CommunityAdminEventChanges ¶ added in v0.158.0
type CommunityAdminEventChanges 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 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"` MembersAdded map[string]*protobuf.CommunityMember `json:"membersAdded"` MembersRemoved map[string]*protobuf.CommunityMember `json:"membersRemoved"` TokenPermissionsAdded map[string]*protobuf.CommunityTokenPermission `json:"tokenPermissionsAdded"` TokenPermissionsModified map[string]*protobuf.CommunityTokenPermission `json:"tokenPermissionsModified"` TokenPermissionsRemoved []string `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"` // ShouldMemberJoin indicates whether the user should leave this community // automatically ShouldMemberLeave bool `json:"memberRemoved"` }
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 CommunityResponse ¶ added in v0.72.0
type CommunityResponse struct { Community *Community `json:"community"` Changes *CommunityChanges `json:"changes"` }
type CommunitySettings ¶ added in v0.96.4
type CommunityTag ¶ added in v0.102.5
type CommunityToken ¶ added in v0.133.2
type CommunityToken struct { TokenType protobuf.CommunityTokenType `json:"tokenType"` CommunityID string `json:"communityId"` Address string `json:"address"` Name string `json:"name"` Symbol string `json:"symbol"` Description string `json:"description"` Supply int `json:"supply"` InfiniteSupply bool `json:"infiniteSupply"` Transferable bool `json:"transferable"` RemoteSelfDestruct bool `json:"remoteSelfDestruct"` ChainID int `json:"chainId"` DeployState DeployState `json:"deployState"` Base64Image string `json:"image"` Decimals int `json:"decimals"` }
type Config ¶
type Config struct { PrivateKey *ecdsa.PrivateKey CommunityDescription *protobuf.CommunityDescription MarshaledCommunityDescription []byte ID *ecdsa.PublicKey Joined bool Requested bool Verified bool Spectated bool Muted bool MuteTill time.Time Logger *zap.Logger RequestedToJoinAt uint64 RequestsToJoin []*RequestToJoin MemberIdentity *ecdsa.PublicKey SyncedAt uint64 }
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) 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 DeployState ¶ added in v0.133.2
type DeployState uint8
const ( Failed DeployState = iota InProgress Deployed )
type EncodedArchiveData ¶ added in v0.98.1
type EncodedArchiveData 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 KnownCommunitiesResponse ¶ added in v0.100.1
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func NewManager(identity *ecdsa.PrivateKey, db *sql.DB, encryptor *encryption.Protocol, logger *zap.Logger, verifier *ens.Verifier, transport *transport.Transport, torrentConfig *params.TorrentConfig, opts ...ManagerOption) (*Manager, error)
func (*Manager) AcceptRequestToJoin ¶ added in v0.72.0
func (m *Manager) AcceptRequestToJoin(request *requests.AcceptRequestToJoinCommunity) (*Community, 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 *CommunityToken, croppedImage *images.CroppedImage) (*CommunityToken, 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) 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) 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) CheckMemberPermissionsPeriodically ¶ added in v0.140.0
func (*Manager) CheckPermissionToJoin ¶ added in v0.151.13
func (m *Manager) CheckPermissionToJoin(id []byte, addresses []gethcommon.Address) (*CheckPermissionToJoinResponse, error)
func (*Manager) CommunitySettingsExist ¶ added in v0.96.4
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) (*Community, *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) 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) DeclineRequestToJoin ¶ added in v0.72.0
func (m *Manager) DeclineRequestToJoin(request *requests.DeclineRequestToJoinCommunity) 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) 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) GetAdminCommunitiesChatIDs ¶ added in v0.97.4
func (*Manager) GetAllCommunityTokens ¶ added in v0.148.4
func (m *Manager) GetAllCommunityTokens() ([]*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) GetCommunitySettingsByID ¶ added in v0.96.4
func (m *Manager) GetCommunitySettingsByID(id types.HexBytes) (*CommunitySettings, error)
func (*Manager) GetCommunityTokens ¶ added in v0.133.2
func (m *Manager) GetCommunityTokens(communityID string) ([]*CommunityToken, 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) 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) GetRequestToJoinIDByPkAndCommunityID ¶ added in v0.113.0
func (*Manager) GetStoredDescriptionForCommunities ¶ added in v0.100.1
func (m *Manager) GetStoredDescriptionForCommunities(communityIDs []types.HexBytes) (response *KnownCommunitiesResponse, err error)
func (*Manager) GetSyncedRawCommunity ¶ added in v0.83.8
func (m *Manager) GetSyncedRawCommunity(id []byte) (*RawCommunityRow, error)
func (*Manager) HandleCommunityAdminEvent ¶ added in v0.158.0
func (m *Manager) HandleCommunityAdminEvent(signer *ecdsa.PublicKey, adminEvent *protobuf.CommunityAdminEvent, payload []byte) (*CommunityResponse, 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 (m *Manager) HandleCommunityDescriptionMessage(signer *ecdsa.PublicKey, description *protobuf.CommunityDescription, payload []byte) (*CommunityResponse, error)
func (*Manager) HandleCommunityInvitation ¶
func (m *Manager) HandleCommunityInvitation(signer *ecdsa.PublicKey, invitation *protobuf.CommunityInvitation, payload []byte) (*CommunityResponse, error)
TODO: This is not fully implemented, we want to save the grant passed at this stage and make sure it's used when publishing.
func (*Manager) HandleCommunityRequestToJoin ¶ added in v0.72.0
func (m *Manager) HandleCommunityRequestToJoin(signer *ecdsa.PublicKey, request *protobuf.CommunityRequestToJoin) (*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) HandleSyncCommunitySettings ¶ added in v0.102.2
func (m *Manager) HandleSyncCommunitySettings(syncCommunitySettings *protobuf.SyncCommunitySettings) (*CommunitySettings, error)
func (*Manager) HandleWrappedCommunityDescriptionMessage ¶
func (m *Manager) HandleWrappedCommunityDescriptionMessage(payload []byte) (*CommunityResponse, error)
func (*Manager) ImageToBase64 ¶ added in v0.139.1
func (*Manager) ImportCommunity ¶
func (m *Manager) ImportCommunity(key *ecdsa.PrivateKey) (*Community, error)
func (*Manager) InviteUsersToCommunity ¶ added in v0.72.0
func (*Manager) IsAdminCommunity ¶ added in v0.100.0
func (*Manager) IsAdminCommunityByID ¶ added in v0.106.3
func (*Manager) IsEncrypted ¶ added in v0.102.2
func (*Manager) IsJoinedCommunity ¶ added in v0.100.0
func (*Manager) IsSeedingHistoryArchiveTorrent ¶ added in v0.98.1
func (*Manager) JoinCommunity ¶
func (*Manager) JoinedAndPendingCommunitiesWithRequests ¶ added in v0.83.8
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) 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) 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) RequestToJoin ¶ added in v0.72.0
func (m *Manager) RequestToJoin(requester *ecdsa.PublicKey, request *requests.RequestToJoinCommunity) (*Community, *RequestToJoin, error)
func (*Manager) SaveCommunitySettings ¶ added in v0.96.4
func (m *Manager) SaveCommunitySettings(settings CommunitySettings) error
func (*Manager) SaveRequestToJoin ¶ added in v0.83.8
func (m *Manager) SaveRequestToJoin(request *RequestToJoin) error
func (*Manager) SeedHistoryArchiveTorrent ¶ added in v0.98.1
func (*Manager) SetCommunityActiveMembersCount ¶ added in v0.142.1
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) 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.SyncCommunity) (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) UpdateCommunityTokenState ¶ added in v0.133.2
func (m *Manager) UpdateCommunityTokenState(chainID int, contractAddress string, deployState DeployState) error
func (*Manager) UpdateCommunityTokenSupply ¶ added in v0.158.0
func (*Manager) UpdateLastSeenMagnetlink ¶ added in v0.117.3
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 WithOpenseaClientBuilder ¶ added in v0.151.13
func WithOpenseaClientBuilder(builder openseaClientBuilder) 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 MemberPermissionsCheckedSignal ¶ added in v0.159.10
type MemberPermissionsCheckedSignal struct { }
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) 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 *CommunityToken) error
func (*Persistence) AllCommunities ¶
func (p *Persistence) AllCommunities(memberIdentity *ecdsa.PublicKey) ([]*Community, 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) CommunitySettingsExist ¶ added in v0.96.4
func (p *Persistence) CommunitySettingsExist(communityID types.HexBytes) (bool, error)
func (*Persistence) CreatedCommunities ¶
func (p *Persistence) CreatedCommunities(memberIdentity *ecdsa.PublicKey) ([]*Community, error)
func (*Persistence) DeclinedRequestsToJoinForCommunity ¶ added in v0.106.1
func (p *Persistence) DeclinedRequestsToJoinForCommunity(id []byte) ([]*RequestToJoin, error)
func (*Persistence) DeleteCommunity ¶ added in v0.114.1
func (p *Persistence) DeleteCommunity(id types.HexBytes) error
func (*Persistence) DeleteCommunitySettings ¶ added in v0.96.4
func (p *Persistence) DeleteCommunitySettings(communityID types.HexBytes) 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() ([]*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) GetCommunitySettingsByID ¶ added in v0.96.4
func (p *Persistence) GetCommunitySettingsByID(communityID types.HexBytes) (*CommunitySettings, error)
func (*Persistence) GetCommunityTokens ¶ added in v0.133.2
func (p *Persistence) GetCommunityTokens(communityID string) ([]*CommunityToken, 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) 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) 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) 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) PendingRequestsToJoinForUser ¶ added in v0.72.0
func (p *Persistence) PendingRequestsToJoinForUser(pk string) ([]*RequestToJoin, error)
func (*Persistence) RequestsToJoinForCommunityWithState ¶ added in v0.106.1
func (p *Persistence) RequestsToJoinForCommunityWithState(id []byte, 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) SaveCommunitySettings ¶ added in v0.96.4
func (p *Persistence) SaveCommunitySettings(communitySettings CommunitySettings) 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(request *RequestToJoin) (err error)
func (*Persistence) SaveRequestToLeave ¶ added in v0.106.3
func (p *Persistence) SaveRequestToLeave(request *RequestToLeave) error
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) SetMessageArchiveIDImported ¶ added in v0.117.1
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.SyncCommunity) (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) UpdateCommunityTokenState ¶ added in v0.133.2
func (p *Persistence) UpdateCommunityTokenState(chainID int, contractAddress string, deployState DeployState) error
func (*Persistence) UpdateCommunityTokenSupply ¶ added in v0.158.0
func (p *Persistence) UpdateCommunityTokenSupply(chainID int, contractAddress string, supply int) error
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) 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 RequestToJoinState ¶ added in v0.83.8
type RequestToJoinState uint
const ( RequestToJoinStatePending RequestToJoinState = iota + 1 RequestToJoinStateDeclined RequestToJoinStateAccepted RequestToJoinStateCanceled )
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 Invitations []*protobuf.CommunityInvitation 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 CommunityAdminEvent *protobuf.CommunityAdminEvent MemberPermissionsCheckedSignal *MemberPermissionsCheckedSignal }
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) GetAllChainIDs() ([]uint64, error) }