ext

package
v0.110.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2022 License: MPL-2.0 Imports: 56 Imported by: 0

README

Whisper API Extension

API

shhext_getNewFilterMessages

Accepts the same input as shh_getFilterMessages.

Returns

Returns a list of whisper messages matching the specified filter. Filters out the messages already confirmed received by shhext_confirmMessagesProcessed

Deduplication is made using the whisper envelope content and topic only, so the same content received in different whisper envelopes will be deduplicated.

shhext_confirmMessagesProcessed

Confirms whisper messages received and processed on the client side. These messages won't appear anymore when shhext_getNewFilterMessages is called.

Parameters

Gets a list of whisper envelopes.

shhext_post

Accepts same input as shh_post.

Returns

DATA, 32 Bytes - the envelope hash

shhext_requestMessages

Sends a request for historic messages to a mail server.

Parameters
  1. Object - The message request object:
  • mailServerPeer:URL - Mail servers' enode addess
  • from:QUANTITY - (optional) Lower bound of time range as unix timestamp, default is 24 hours back from now
  • to:QUANTITY- (optional) Upper bound of time range as unix timestamp, default is now
  • topic:DATA, 4 Bytes - Regular whisper topic
  • symKeyID:DATA- ID of a symmetric key to authenticate to mail server, derived from mail server password
Returns

Boolean - returns true if the request was send, otherwise false.

Signals

Sends sent signal once per envelope.

{
  "type": "envelope.sent",
  "event": {
    "hash": "0xea0b93079ed32588628f1cabbbb5ed9e4d50b7571064c2962c3853972db67790"
  }
}

Sends expired signal if envelope dropped from whisper local queue before it was sent to any peer on the network.

{
  "type": "envelope.expired",
  "event": {
    "hash": "0x754f4c12dccb14886f791abfeb77ffb86330d03d5a4ba6f37a8c21281988b69e"
  }
}

Documentation

Index

Constants

View Source
const (
	// DefaultRequestsDelay will be used in RequestsRegistry if no other was provided.
	DefaultRequestsDelay = 3 * time.Second
)

Variables

View Source
var (
	// ErrInvalidMailServerPeer is returned when it fails to parse enode from params.
	ErrInvalidMailServerPeer = errors.New("invalid mailServerPeer value")
	// ErrInvalidSymKeyID is returned when it fails to get a symmetric key.
	ErrInvalidSymKeyID = errors.New("invalid symKeyID value")
	// ErrInvalidPublicKey is returned when public key can't be extracted
	// from MailServer's nodeID.
	ErrInvalidPublicKey = errors.New("can't extract public key")
	// ErrPFSNotEnabled is returned when an endpoint PFS only is called but
	// PFS is disabled
	ErrPFSNotEnabled = errors.New("pfs not enabled")
)

Functions

func MakeMessagesRequestPayload

func MakeMessagesRequestPayload(r MessagesRequest) ([]byte, error)

MakeMessagesRequestPayload makes a specific payload for MailServer to request historic messages. DEPRECATED

func TopicsToBloom

func TopicsToBloom(topics ...types.TopicType) []byte

TopicsToBloom squashes all topics into a single bloom filter.

func WaitForExpiredOrCompleted

func WaitForExpiredOrCompleted(requestID types.Hash, events chan types.EnvelopeEvent, timeout time.Duration) (*types.MailServerResponse, error)

Types

type ApplicationMessagesResponse

type ApplicationMessagesResponse struct {
	Messages []*common.Message `json:"messages"`
	Cursor   string            `json:"cursor"`
}

type ApplicationPinnedMessagesResponse added in v0.78.0

type ApplicationPinnedMessagesResponse struct {
	PinnedMessages []*common.PinnedMessage `json:"pinnedMessages"`
	Cursor         string                  `json:"cursor"`
}

type ApplicationStatusUpdatesResponse added in v0.83.2

type ApplicationStatusUpdatesResponse struct {
	StatusUpdates []protocol.UserStatus `json:"statusUpdates"`
}

type Author

type Author struct {
	PublicKey types.HexBytes `json:"publicKey"`
	Alias     string         `json:"alias"`
	Identicon string         `json:"identicon"`
}

type Context

type Context struct {
	context.Context
}

Context provides access to request-scoped values.

func NewContext

func NewContext(ctx context.Context, source TimeSource, registry *RequestsRegistry, storage db.Storage) Context

NewContext creates Context with all required fields.

func (Context) HistoryStore

func (c Context) HistoryStore() db.HistoryStore

HistoryStore returns db.HistoryStore instance associated with this request.

func (Context) RequestRegistry

func (c Context) RequestRegistry() *RequestsRegistry

RequestRegistry returns RequestRegistry that tracks each request life-span.

func (Context) Time

func (c Context) Time() time.Time

Time returns current time using time function associated with this request.

type ContextKey

type ContextKey struct {
	Name string
}

ContextKey is a type used for keys in ext Context.

func NewContextKey

func NewContextKey(name string) ContextKey

NewContextKey returns new ContextKey instance.

type EnvelopeEventsHandler

type EnvelopeEventsHandler interface {
	EnvelopeSent([][]byte)
	EnvelopeExpired([][]byte, error)
	MailServerRequestCompleted(types.Hash, types.Hash, []byte, error)
	MailServerRequestExpired(types.Hash)
}

EnvelopeEventsHandler used for two different event types.

type EnvelopeSignalHandler

type EnvelopeSignalHandler struct{}

EnvelopeSignalHandler sends signals when envelope is sent or expired.

func (EnvelopeSignalHandler) EnvelopeExpired

func (h EnvelopeSignalHandler) EnvelopeExpired(identifiers [][]byte, err error)

EnvelopeExpired triggered when envelope is expired but wasn't delivered to any peer.

func (EnvelopeSignalHandler) EnvelopeSent

func (h EnvelopeSignalHandler) EnvelopeSent(identifiers [][]byte)

EnvelopeSent triggered when envelope delivered atleast to 1 peer.

func (EnvelopeSignalHandler) MailServerRequestCompleted

func (h EnvelopeSignalHandler) MailServerRequestCompleted(requestID types.Hash, lastEnvelopeHash types.Hash, cursor []byte, err error)

MailServerRequestCompleted triggered when the mailserver sends a message to notify that the request has been completed

func (EnvelopeSignalHandler) MailServerRequestExpired

func (h EnvelopeSignalHandler) MailServerRequestExpired(hash types.Hash)

MailServerRequestExpired triggered when the mailserver request expires

type EnvelopeState

type EnvelopeState int

EnvelopeState in local tracker

const (
	// NotRegistered returned if asked hash wasn't registered in the tracker.
	NotRegistered EnvelopeState = -1
	// MailServerRequestSent is set when p2p request is sent to the mailserver
	MailServerRequestSent
)

type HandlerMock

type HandlerMock struct {
	// contains filtered or unexported fields
}

func NewHandlerMock

func NewHandlerMock(buf int) HandlerMock

func (HandlerMock) EnvelopeExpired

func (t HandlerMock) EnvelopeExpired(ids [][]byte, err error)

func (HandlerMock) EnvelopeSent

func (t HandlerMock) EnvelopeSent(ids [][]byte)

func (HandlerMock) MailServerRequestCompleted

func (t HandlerMock) MailServerRequestCompleted(requestID types.Hash, lastEnvelopeHash types.Hash, cursor []byte, err error)

func (HandlerMock) MailServerRequestExpired

func (t HandlerMock) MailServerRequestExpired(hash types.Hash)

type JoinRPC

type JoinRPC struct {
	Chat    string
	PubKey  types.HexBytes
	Payload types.HexBytes
}

func (JoinRPC) ID

func (m JoinRPC) ID() string

func (JoinRPC) PublicKey

func (m JoinRPC) PublicKey() *ecdsa.PublicKey

func (JoinRPC) PublicName

func (m JoinRPC) PublicName() string

type MailRequestMonitor

type MailRequestMonitor struct {
	// contains filtered or unexported fields
}

MailRequestMonitor is responsible for monitoring history request to mailservers.

func (*MailRequestMonitor) GetState

func (m *MailRequestMonitor) GetState(hash types.Hash) EnvelopeState

func (*MailRequestMonitor) Start

func (m *MailRequestMonitor) Start()

Start processing events.

func (*MailRequestMonitor) Stop

func (m *MailRequestMonitor) Stop()

Stop process events.

type MarkMessagSeenResponse added in v0.85.0

type MarkMessagSeenResponse struct {
	Count             uint64 `json:"count"`
	CountWithMentions uint64 `json:"countWithMentions"`
}

type MessagesRequest

type MessagesRequest struct {
	// MailServerPeer is MailServer's enode address.
	MailServerPeer string `json:"mailServerPeer"`

	// From is a lower bound of time range (optional).
	// Default is 24 hours back from now.
	From uint32 `json:"from"`

	// To is a upper bound of time range (optional).
	// Default is now.
	To uint32 `json:"to"`

	// Limit determines the number of messages sent by the mail server
	// for the current paginated request
	Limit uint32 `json:"limit"`

	// Cursor is used as starting point for paginated requests
	Cursor string `json:"cursor"`

	// StoreCursor is used as starting point for WAKUV2 paginatedRequests
	StoreCursor *StoreRequestCursor `json:"storeCursor"`

	// Topic is a regular Whisper topic.
	// DEPRECATED
	Topic types.TopicType `json:"topic"`

	// Topics is a list of Whisper topics.
	Topics []types.TopicType `json:"topics"`

	// SymKeyID is an ID of a symmetric key to authenticate to MailServer.
	// It's derived from MailServer password.
	SymKeyID string `json:"symKeyID"`

	// Timeout is the time to live of the request specified in seconds.
	// Default is 10 seconds
	Timeout time.Duration `json:"timeout"`

	// Force ensures that requests will bypass enforced delay.
	Force bool `json:"force"`
}

MessagesRequest is a RequestMessages() request payload.

func (*MessagesRequest) SetDefaults

func (r *MessagesRequest) SetDefaults(now time.Time)

type MessagesResponse

type MessagesResponse struct {
	// Cursor from the response can be used to retrieve more messages
	// for the previous request.
	Cursor string `json:"cursor"`

	// Error indicates that something wrong happened when sending messages
	// to the requester.
	Error error `json:"error"`
}

MessagesResponse is a response for requestMessages2 method.

type MessengerSignalsHandler added in v0.76.3

type MessengerSignalsHandler struct{}

MessengerSignalHandler sends signals on messenger events

func (MessengerSignalsHandler) BackupPerformed added in v0.90.0

func (m MessengerSignalsHandler) BackupPerformed(lastBackup uint64)

BackupPerformed passes information that a backup was performed

func (MessengerSignalsHandler) CommunityInfoFound added in v0.76.3

func (m MessengerSignalsHandler) CommunityInfoFound(community *communities.Community)

MessageDelivered passes info about community that was requested before

func (*MessengerSignalsHandler) CreatingHistoryArchives added in v0.98.1

func (m *MessengerSignalsHandler) CreatingHistoryArchives(communityID string)

func (*MessengerSignalsHandler) DiscordCategoriesAndChannelsExtracted added in v0.105.1

func (m *MessengerSignalsHandler) DiscordCategoriesAndChannelsExtracted(categories []*discord.Category, channels []*discord.Channel, oldestMessageTimestamp int64, errors map[string]*discord.ImportError)

func (*MessengerSignalsHandler) DownloadingHistoryArchivesFinished added in v0.109.4

func (m *MessengerSignalsHandler) DownloadingHistoryArchivesFinished(communityID string)

func (*MessengerSignalsHandler) HistoryArchiveDownloaded added in v0.98.1

func (m *MessengerSignalsHandler) HistoryArchiveDownloaded(communityID string, from int, to int)

func (*MessengerSignalsHandler) HistoryArchivesCreated added in v0.98.1

func (m *MessengerSignalsHandler) HistoryArchivesCreated(communityID string, from int, to int)

func (*MessengerSignalsHandler) HistoryArchivesProtocolDisabled added in v0.98.1

func (m *MessengerSignalsHandler) HistoryArchivesProtocolDisabled()

func (*MessengerSignalsHandler) HistoryArchivesProtocolEnabled added in v0.98.1

func (m *MessengerSignalsHandler) HistoryArchivesProtocolEnabled()

func (*MessengerSignalsHandler) HistoryArchivesSeeding added in v0.98.1

func (m *MessengerSignalsHandler) HistoryArchivesSeeding(communityID string)

func (*MessengerSignalsHandler) HistoryArchivesUnseeded added in v0.98.1

func (m *MessengerSignalsHandler) HistoryArchivesUnseeded(communityID string)

func (*MessengerSignalsHandler) HistoryRequestBatchProcessed added in v0.89.20

func (m *MessengerSignalsHandler) HistoryRequestBatchProcessed(requestID string, batchIndex int, numBatches int)

func (*MessengerSignalsHandler) HistoryRequestCompleted added in v0.89.2

func (m *MessengerSignalsHandler) HistoryRequestCompleted(requestID string)

func (*MessengerSignalsHandler) HistoryRequestFailed added in v0.89.2

func (m *MessengerSignalsHandler) HistoryRequestFailed(requestID string, err error)

func (*MessengerSignalsHandler) HistoryRequestStarted added in v0.89.2

func (m *MessengerSignalsHandler) HistoryRequestStarted(requestID string, numBatches int)

func (MessengerSignalsHandler) MessageDelivered added in v0.76.3

func (m MessengerSignalsHandler) MessageDelivered(chatID string, messageID string)

MessageDelivered passes information that message was delivered

func (*MessengerSignalsHandler) MessengerResponse added in v0.79.0

func (m *MessengerSignalsHandler) MessengerResponse(response *protocol.MessengerResponse)

func (*MessengerSignalsHandler) NoHistoryArchivesCreated added in v0.98.1

func (m *MessengerSignalsHandler) NoHistoryArchivesCreated(communityID string, from int, to int)

func (*MessengerSignalsHandler) StatusUpdatesTimedOut added in v0.104.1

func (m *MessengerSignalsHandler) StatusUpdatesTimedOut(statusUpdates *[]protocol.UserStatus)

type Metadata

type Metadata struct {
	DedupID      []byte         `json:"dedupId"`
	EncryptionID types.HexBytes `json:"encryptionId"`
	MessageID    types.HexBytes `json:"messageId"`
	Author       Author         `json:"author"`
}

type PublicAPI

type PublicAPI struct {
	// contains filtered or unexported fields
}

PublicAPI extends whisper public API.

func NewPublicAPI

func NewPublicAPI(s *Service, eventSub mailservers.EnvelopeEventSubscriber) *PublicAPI

NewPublicAPI returns instance of the public API.

func (*PublicAPI) AcceptActivityCenterNotifications added in v0.76.0

func (api *PublicAPI) AcceptActivityCenterNotifications(ctx context.Context, ids []types.HexBytes) (*protocol.MessengerResponse, error)

func (*PublicAPI) AcceptAllActivityCenterNotifications added in v0.76.0

func (api *PublicAPI) AcceptAllActivityCenterNotifications(ctx context.Context) (*protocol.MessengerResponse, error)

func (*PublicAPI) AcceptContactRequest added in v0.100.0

func (api *PublicAPI) AcceptContactRequest(ctx context.Context, request *requests.AcceptContactRequest) (*protocol.MessengerResponse, error)

func (*PublicAPI) AcceptContactVerificationRequest added in v0.102.6

func (api *PublicAPI) AcceptContactVerificationRequest(ctx context.Context, contactID string, response string) error

func (*PublicAPI) AcceptLatestContactRequestForContact added in v0.102.2

func (api *PublicAPI) AcceptLatestContactRequestForContact(ctx context.Context, request *requests.AcceptLatestContactRequestForContact) (*protocol.MessengerResponse, error)

func (*PublicAPI) AcceptRequestAddressForTransaction

func (api *PublicAPI) AcceptRequestAddressForTransaction(ctx context.Context, messageID, address string) (*protocol.MessengerResponse, error)

func (*PublicAPI) AcceptRequestToJoinCommunity added in v0.72.0

func (api *PublicAPI) AcceptRequestToJoinCommunity(request *requests.AcceptRequestToJoinCommunity) (*protocol.MessengerResponse, error)

AcceptRequestToJoinCommunity accepts a pending request to join a community

func (*PublicAPI) AcceptRequestTransaction

func (api *PublicAPI) AcceptRequestTransaction(ctx context.Context, transactionHash, messageID string, signature types.HexBytes) (*protocol.MessengerResponse, error)

func (*PublicAPI) ActiveChats added in v0.76.0

func (api *PublicAPI) ActiveChats(parent context.Context) []*protocol.Chat

func (*PublicAPI) ActivityCenterNotifications added in v0.76.0

func (api *PublicAPI) ActivityCenterNotifications(cursor string, limit uint64) (*protocol.ActivityCenterPaginationResponse, error)

func (*PublicAPI) AddAdminsToGroupChat

func (api *PublicAPI) AddAdminsToGroupChat(ctx Context, chatID string, members []string) (*protocol.MessengerResponse, error)

func (*PublicAPI) AddBookmark added in v0.102.2

func (api *PublicAPI) AddBookmark(ctx context.Context, bookmark browsers.Bookmark) error

func (*PublicAPI) AddBrowser added in v0.106.1

func (api *PublicAPI) AddBrowser(ctx context.Context, browser browsers.Browser) error

func (*PublicAPI) AddContact added in v0.68.4

func (api *PublicAPI) AddContact(ctx context.Context, request *requests.AddContact) (*protocol.MessengerResponse, error)

func (*PublicAPI) AddMembersToGroupChat

func (api *PublicAPI) AddMembersToGroupChat(ctx Context, chatID string, members []string) (*protocol.MessengerResponse, error)

func (*PublicAPI) AddPushNotificationsServer added in v0.56.1

func (api *PublicAPI) AddPushNotificationsServer(ctx context.Context, publicKeyBytes types.HexBytes) error

func (*PublicAPI) AddRelayPeer added in v0.88.4

func (api *PublicAPI) AddRelayPeer(address string) (string, error)

func (*PublicAPI) AddStorePeer added in v0.88.4

func (api *PublicAPI) AddStorePeer(address string) (string, error)

func (*PublicAPI) AddWalletConnectSession added in v0.105.1

func (api *PublicAPI) AddWalletConnectSession(ctx context.Context, request *requests.AddWalletConnectSession) error

wallet connect session apis

func (*PublicAPI) AllMessagesFromChatWhichMatchTerm added in v0.83.14

func (api *PublicAPI) AllMessagesFromChatWhichMatchTerm(chatID, searchTerm string, caseSensitive bool) (*ApplicationMessagesResponse, error)

func (*PublicAPI) AllMessagesFromChatsAndCommunitiesWhichMatchTerm added in v0.83.14

func (api *PublicAPI) AllMessagesFromChatsAndCommunitiesWhichMatchTerm(communityIds []string, chatIds []string, searchTerm string, caseSensitive bool) (*ApplicationMessagesResponse, error)

func (*PublicAPI) BackupData added in v0.90.0

func (api *PublicAPI) BackupData() (uint64, error)

func (*PublicAPI) BanUserFromCommunity added in v0.73.9

func (api *PublicAPI) BanUserFromCommunity(request *requests.BanUserFromCommunity) (*protocol.MessengerResponse, error)

BanUserFromCommunity removes the user with pk from the community with ID

func (*PublicAPI) BlockContact

func (api *PublicAPI) BlockContact(parent context.Context, contactID string) (*protocol.MessengerResponse, error)

func (*PublicAPI) BlockContactDesktop added in v0.98.3

func (api *PublicAPI) BlockContactDesktop(parent context.Context, contactID string) (*protocol.MessengerResponse, error)

This function is the same as the one above, but used only on the desktop side, since at the end it doesn't set `Added` flag to `false`, but only `Blocked` to `true`

func (*PublicAPI) BloomFilter added in v0.85.0

func (api *PublicAPI) BloomFilter() string

BloomFilter returns the current bloom filter bytes

func (*PublicAPI) CancelVerificationRequest added in v0.102.6

func (api *PublicAPI) CancelVerificationRequest(ctx context.Context, contactID string) error

func (*PublicAPI) ChangeGroupChatName added in v0.52.1

func (api *PublicAPI) ChangeGroupChatName(ctx Context, chatID string, name string) (*protocol.MessengerResponse, error)

func (*PublicAPI) ChangeIdentityImageShowTo added in v0.89.10

func (api *PublicAPI) ChangeIdentityImageShowTo(showTo settings.ProfilePicturesShowToType) error

func (*PublicAPI) Chat added in v0.87.1

func (api *PublicAPI) Chat(parent context.Context, chatID string) *protocol.Chat

func (*PublicAPI) ChatMessages

func (api *PublicAPI) ChatMessages(chatID, cursor string, limit int) (*ApplicationMessagesResponse, error)

func (*PublicAPI) ChatPinnedMessages added in v0.78.0

func (api *PublicAPI) ChatPinnedMessages(chatID, cursor string, limit int) (*ApplicationPinnedMessagesResponse, error)

func (*PublicAPI) Chats

func (api *PublicAPI) Chats(parent context.Context) []*protocol.Chat

func (*PublicAPI) ChatsPreview added in v0.87.1

func (api *PublicAPI) ChatsPreview(parent context.Context) []*protocol.ChatPreview

func (*PublicAPI) ClearHistory added in v0.68.4

func (api *PublicAPI) ClearHistory(request *requests.ClearHistory) (*protocol.MessengerResponse, error)

func (*PublicAPI) Communities added in v0.67.0

func (api *PublicAPI) Communities(parent context.Context) ([]*communities.Community, error)

Communities returns a list of communities that are stored

func (*PublicAPI) CommunityTags added in v0.102.5

func (api *PublicAPI) CommunityTags(parent context.Context) map[string]string

CommunityTags return the list of possible community tags

func (*PublicAPI) ConfirmJoiningGroup

func (api *PublicAPI) ConfirmJoiningGroup(ctx context.Context, chatID string) (*protocol.MessengerResponse, error)

func (*PublicAPI) Contacts

func (api *PublicAPI) Contacts(parent context.Context) []*protocol.Contact

func (*PublicAPI) CreateCommunity added in v0.67.0

func (api *PublicAPI) CreateCommunity(request *requests.CreateCommunity) (*protocol.MessengerResponse, error)

CreateCommunity creates a new community with the provided description

func (*PublicAPI) CreateCommunityCategory added in v0.79.3

func (api *PublicAPI) CreateCommunityCategory(request *requests.CreateCommunityCategory) (*protocol.MessengerResponse, error)

CreateCommunityCategory creates a category within a particular community

func (*PublicAPI) CreateCommunityChat added in v0.67.0

func (api *PublicAPI) CreateCommunityChat(communityID types.HexBytes, c *protobuf.CommunityChat) (*protocol.MessengerResponse, error)

CreateCommunityChat creates a community chat in the given community

func (*PublicAPI) CreateGroupChatFromInvitation added in v0.60.0

func (api *PublicAPI) CreateGroupChatFromInvitation(name string, chatID string, adminPK string) (*protocol.MessengerResponse, error)

func (*PublicAPI) CreateGroupChatWithMembers

func (api *PublicAPI) CreateGroupChatWithMembers(ctx Context, name string, members []string) (*protocol.MessengerResponse, error)

func (*PublicAPI) CreateOneToOneChat added in v0.72.0

func (api *PublicAPI) CreateOneToOneChat(parent context.Context, request *requests.CreateOneToOneChat) (*protocol.MessengerResponse, error)

func (*PublicAPI) CreateProfileChat added in v0.79.0

func (api *PublicAPI) CreateProfileChat(parent context.Context, request *requests.CreateProfileChat) (*protocol.MessengerResponse, error)

func (*PublicAPI) CreatePublicChat added in v0.79.0

func (api *PublicAPI) CreatePublicChat(parent context.Context, request *requests.CreatePublicChat) (*protocol.MessengerResponse, error)

func (*PublicAPI) CuratedCommunities added in v0.100.1

func (api *PublicAPI) CuratedCommunities(parent context.Context) (*communities.KnownCommunitiesResponse, error)

CuratedCommunities returns the list of curated communities stored in the smart contract. If a community is already known by the node, its description will be returned and and will asynchronously retrieve the description for the communities it does not know

func (*PublicAPI) DeactivateChat added in v0.68.4

func (api *PublicAPI) DeactivateChat(request *requests.DeactivateChat) (*protocol.MessengerResponse, error)

func (*PublicAPI) DeclineContactVerificationRequest added in v0.102.6

func (api *PublicAPI) DeclineContactVerificationRequest(ctx context.Context, contactID string) error

func (*PublicAPI) DeclineRequestAddressForTransaction

func (api *PublicAPI) DeclineRequestAddressForTransaction(ctx context.Context, messageID string) (*protocol.MessengerResponse, error)

func (*PublicAPI) DeclineRequestToJoinCommunity added in v0.72.0

func (api *PublicAPI) DeclineRequestToJoinCommunity(request *requests.DeclineRequestToJoinCommunity) error

DeclineRequestToJoinCommunity accepts a pending request to join a community

func (*PublicAPI) DeclineRequestTransaction

func (api *PublicAPI) DeclineRequestTransaction(ctx context.Context, messageID string) (*protocol.MessengerResponse, error)

func (*PublicAPI) DeclinedRequestsToJoinForCommunity added in v0.106.1

func (api *PublicAPI) DeclinedRequestsToJoinForCommunity(id types.HexBytes) ([]*communities.RequestToJoin, error)

DeclinedRequestsToJoinForCommunity returns the declined requests to join for a given community

func (*PublicAPI) DeleteBrowser added in v0.106.1

func (api *PublicAPI) DeleteBrowser(ctx context.Context, id string) error

func (*PublicAPI) DeleteChat

func (api *PublicAPI) DeleteChat(parent context.Context, chatID string) error

func (*PublicAPI) DeleteCommunityCategory added in v0.79.3

func (api *PublicAPI) DeleteCommunityCategory(request *requests.DeleteCommunityCategory) (*protocol.MessengerResponse, error)

DeleteCommunityCategory deletes a category within a particular community and removes this category from any chat that has it

func (*PublicAPI) DeleteCommunityChat added in v0.83.8

func (api *PublicAPI) DeleteCommunityChat(communityID types.HexBytes, chatID string) (*protocol.MessengerResponse, error)

DeleteCommunityChat deletes a community chat in the given community

func (*PublicAPI) DeleteMessage

func (api *PublicAPI) DeleteMessage(id string) error

func (*PublicAPI) DeleteMessageAndSend added in v0.83.2

func (api *PublicAPI) DeleteMessageAndSend(ctx context.Context, messageID string) (*protocol.MessengerResponse, error)

func (*PublicAPI) DeleteMessagesByChatID

func (api *PublicAPI) DeleteMessagesByChatID(id string) error

func (*PublicAPI) DestroyWalletConnectSession added in v0.105.1

func (api *PublicAPI) DestroyWalletConnectSession(ctx context.Context, PeerID string) error

func (*PublicAPI) DialPeer added in v0.88.4

func (api *PublicAPI) DialPeer(address string) error

func (*PublicAPI) DialPeerByID added in v0.88.4

func (api *PublicAPI) DialPeerByID(peerID string) error

func (*PublicAPI) DisableCommunityHistoryArchiveProtocol added in v0.98.1

func (api *PublicAPI) DisableCommunityHistoryArchiveProtocol() error

func (*PublicAPI) DisableInstallation

func (api *PublicAPI) DisableInstallation(installationID string) error

DisableInstallation disables an installation for multi-device sync.

func (*PublicAPI) DisablePushNotificationsBlockMentions added in v0.61.0

func (api *PublicAPI) DisablePushNotificationsBlockMentions(ctx context.Context) error

func (*PublicAPI) DisablePushNotificationsFromContactsOnly added in v0.56.1

func (api *PublicAPI) DisablePushNotificationsFromContactsOnly(ctx context.Context) error

func (*PublicAPI) DisableSendingNotifications added in v0.56.1

func (api *PublicAPI) DisableSendingNotifications(ctx context.Context) error

func (*PublicAPI) DisconnectActiveMailserver added in v0.93.2

func (api *PublicAPI) DisconnectActiveMailserver()

func (*PublicAPI) DismissActivityCenterNotifications added in v0.76.0

func (api *PublicAPI) DismissActivityCenterNotifications(ctx context.Context, ids []types.HexBytes) error

func (*PublicAPI) DismissAllActivityCenterNotifications added in v0.76.0

func (api *PublicAPI) DismissAllActivityCenterNotifications(ctx context.Context) error

func (*PublicAPI) DismissContactRequest added in v0.100.0

func (api *PublicAPI) DismissContactRequest(ctx context.Context, request *requests.DismissContactRequest) (*protocol.MessengerResponse, error)

func (*PublicAPI) DismissLatestContactRequestForContact added in v0.102.2

func (api *PublicAPI) DismissLatestContactRequestForContact(ctx context.Context, request *requests.DismissLatestContactRequestForContact) (*protocol.MessengerResponse, error)

func (*PublicAPI) DropPeer added in v0.88.4

func (api *PublicAPI) DropPeer(peerID string) error

func (*PublicAPI) Echo

func (api *PublicAPI) Echo(ctx context.Context, message string) (string, error)

Echo is a method for testing purposes.

func (*PublicAPI) EditCommunity added in v0.79.0

func (api *PublicAPI) EditCommunity(request *requests.EditCommunity) (*protocol.MessengerResponse, error)

EditCommunity edits an existing community with the provided description

func (*PublicAPI) EditCommunityCategory added in v0.79.3

func (api *PublicAPI) EditCommunityCategory(request *requests.EditCommunityCategory) (*protocol.MessengerResponse, error)

EditCommunityCategory modifies a category within a particular community

func (*PublicAPI) EditCommunityChat added in v0.79.8

func (api *PublicAPI) EditCommunityChat(communityID types.HexBytes, chatID string, c *protobuf.CommunityChat) (*protocol.MessengerResponse, error)

EditCommunityChat edits a community chat in the given community

func (*PublicAPI) EditMessage added in v0.80.3

func (api *PublicAPI) EditMessage(ctx context.Context, request *requests.EditMessage) (*protocol.MessengerResponse, error)

func (*PublicAPI) EmojiReactionsByChatID added in v0.56.4

func (api *PublicAPI) EmojiReactionsByChatID(chatID string, cursor string, limit int) ([]*protocol.EmojiReaction, error)

func (*PublicAPI) EmojiReactionsByChatIDMessageID added in v0.89.20

func (api *PublicAPI) EmojiReactionsByChatIDMessageID(chatID string, messageID string) ([]*protocol.EmojiReaction, error)

func (*PublicAPI) EnableCommunityHistoryArchiveProtocol added in v0.98.1

func (api *PublicAPI) EnableCommunityHistoryArchiveProtocol() error

func (*PublicAPI) EnableInstallation

func (api *PublicAPI) EnableInstallation(installationID string) error

EnableInstallation enables an installation for multi-device sync.

func (*PublicAPI) EnablePushNotificationsBlockMentions added in v0.61.0

func (api *PublicAPI) EnablePushNotificationsBlockMentions(ctx context.Context) error

func (*PublicAPI) EnablePushNotificationsFromContactsOnly added in v0.56.1

func (api *PublicAPI) EnablePushNotificationsFromContactsOnly(ctx context.Context) error

func (*PublicAPI) EnableSendingNotifications added in v0.56.1

func (api *PublicAPI) EnableSendingNotifications(ctx context.Context) error

func (*PublicAPI) EnsVerified added in v0.72.0

func (api *PublicAPI) EnsVerified(pk, ensName string) error

func (*PublicAPI) ExportCommunity added in v0.67.0

func (api *PublicAPI) ExportCommunity(id types.HexBytes) (types.HexBytes, error)

ExportCommunity exports the private key of the community with given ID

func (*PublicAPI) ExtractDiscordChannelsAndCategories added in v0.105.1

func (api *PublicAPI) ExtractDiscordChannelsAndCategories(filesToImport []string) (*protocol.MessengerResponse, map[string]*discord.ImportError)

func (*PublicAPI) FillGaps added in v0.79.0

func (api *PublicAPI) FillGaps(chatID string, messageIDs []string) error

func (*PublicAPI) GetBrowsers added in v0.106.1

func (api *PublicAPI) GetBrowsers(ctx context.Context) (browsers []*browsers.Browser, err error)

func (*PublicAPI) GetCommunitiesSettings added in v0.96.4

func (api *PublicAPI) GetCommunitiesSettings() ([]communities.CommunitySettings, error)

func (*PublicAPI) GetContactByID added in v0.55.1

func (api *PublicAPI) GetContactByID(parent context.Context, id string) *protocol.Contact

func (*PublicAPI) GetGroupChatInvitations added in v0.60.0

func (api *PublicAPI) GetGroupChatInvitations() ([]*protocol.GroupChatInvitation, error)

func (*PublicAPI) GetLinkPreviewData added in v0.62.15

func (api *PublicAPI) GetLinkPreviewData(link string) (previewData urls.LinkPreviewData, err error)

func (*PublicAPI) GetLinkPreviewWhitelist added in v0.62.15

func (api *PublicAPI) GetLinkPreviewWhitelist() []urls.Site

func (*PublicAPI) GetOurInstallations

func (api *PublicAPI) GetOurInstallations() []*multidevice.Installation

GetOurInstallations returns all the installations available given an identity

func (*PublicAPI) GetPushNotificationsServers added in v0.59.0

func (api *PublicAPI) GetPushNotificationsServers() ([]*pushnotificationclient.PushNotificationServer, error)

func (*PublicAPI) GetReceivedVerificationRequests added in v0.102.6

func (api *PublicAPI) GetReceivedVerificationRequests(ctx context.Context) ([]*verification.Request, error)

func (*PublicAPI) GetTrustStatus added in v0.102.6

func (api *PublicAPI) GetTrustStatus(ctx context.Context, contactID string) (verification.TrustStatus, error)

func (*PublicAPI) GetVerificationRequestFrom added in v0.102.6

func (api *PublicAPI) GetVerificationRequestFrom(ctx context.Context, contactID string) (*verification.Request, error)

func (*PublicAPI) GetVerificationRequestSentTo added in v0.102.6

func (api *PublicAPI) GetVerificationRequestSentTo(ctx context.Context, contactID string) (*verification.Request, error)

func (*PublicAPI) GetWalletConnectSession added in v0.105.1

func (api *PublicAPI) GetWalletConnectSession(ctx context.Context) ([]protocol.WalletConnectSession, error)

func (*PublicAPI) ImageServerURL added in v0.94.6

func (api *PublicAPI) ImageServerURL() string

func (*PublicAPI) ImportCommunity added in v0.67.0

func (api *PublicAPI) ImportCommunity(ctx context.Context, hexPrivateKey string) (*protocol.MessengerResponse, error)

ImportCommunity imports a community with the given private key in hex

func (*PublicAPI) InviteUsersToCommunity added in v0.72.0

func (api *PublicAPI) InviteUsersToCommunity(request *requests.InviteUsersToCommunity) (*protocol.MessengerResponse, error)

InviteUsersToCommunity invites the users with pks to the community with ID

func (*PublicAPI) JoinCommunity added in v0.67.0

func (api *PublicAPI) JoinCommunity(parent context.Context, communityID types.HexBytes) (*protocol.MessengerResponse, error)

JoinCommunity joins a community with the given ID

func (*PublicAPI) JoinedCommunities added in v0.67.0

func (api *PublicAPI) JoinedCommunities(parent context.Context) ([]*communities.Community, error)

JoinedCommunities returns a list of communities that the user has joined

func (*PublicAPI) LeaveCommunity added in v0.67.0

func (api *PublicAPI) LeaveCommunity(parent context.Context, communityID types.HexBytes) (*protocol.MessengerResponse, error)

LeaveCommunity leaves a commuity with the given ID

func (*PublicAPI) LeaveGroupChat

func (api *PublicAPI) LeaveGroupChat(ctx Context, chatID string, remove bool) (*protocol.MessengerResponse, error)

func (*PublicAPI) LoadFilters

func (api *PublicAPI) LoadFilters(parent context.Context, chats []*transport.Filter) ([]*transport.Filter, error)

func (*PublicAPI) MarkActivityCenterNotificationsRead added in v0.80.2

func (api *PublicAPI) MarkActivityCenterNotificationsRead(ctx context.Context, ids []types.HexBytes) error

func (*PublicAPI) MarkActivityCenterNotificationsUnread added in v0.91.0

func (api *PublicAPI) MarkActivityCenterNotificationsUnread(ids []types.HexBytes) error

func (*PublicAPI) MarkAllActivityCenterNotificationsRead added in v0.76.0

func (api *PublicAPI) MarkAllActivityCenterNotificationsRead(ctx context.Context) error

func (*PublicAPI) MarkAllRead added in v0.47.0

func (api *PublicAPI) MarkAllRead(chatID string) error

func (*PublicAPI) MarkAllReadInCommunity added in v0.87.0

func (api *PublicAPI) MarkAllReadInCommunity(communityID string) ([]string, error)

func (*PublicAPI) MarkAsTrusted added in v0.102.6

func (api *PublicAPI) MarkAsTrusted(ctx context.Context, contactID string) error

func (*PublicAPI) MarkAsUntrustworthy added in v0.102.6

func (api *PublicAPI) MarkAsUntrustworthy(ctx context.Context, contactID string) error

func (*PublicAPI) MarkMessagesSeen

func (api *PublicAPI) MarkMessagesSeen(chatID string, ids []string) (*MarkMessagSeenResponse, error)

func (*PublicAPI) MessageByMessageID added in v0.89.20

func (api *PublicAPI) MessageByMessageID(messageID string) (*common.Message, error)

func (*PublicAPI) MuteChat added in v0.56.1

func (api *PublicAPI) MuteChat(parent context.Context, chatID string) error

func (*PublicAPI) MuteCommunityCategory added in v0.102.6

func (api *PublicAPI) MuteCommunityCategory(communityID string, categoryID string) error

func (*PublicAPI) MyPendingRequestsToJoin added in v0.72.0

func (api *PublicAPI) MyPendingRequestsToJoin() ([]*communities.RequestToJoin, error)

MyPendingRequestsToJoin returns the pending requests for the logged in user

func (*PublicAPI) Peers added in v0.88.4

func (api *PublicAPI) Peers() map[string][]string

func (*PublicAPI) PendingRequestsToJoinForCommunity added in v0.72.0

func (api *PublicAPI) PendingRequestsToJoinForCommunity(id types.HexBytes) ([]*communities.RequestToJoin, error)

PendingRequestsToJoinForCommunity returns the pending requests to join for a given community

func (*PublicAPI) ReSendChatMessage

func (api *PublicAPI) ReSendChatMessage(ctx context.Context, messageID string) error

func (*PublicAPI) RegisterForPushNotifications added in v0.56.1

func (api *PublicAPI) RegisterForPushNotifications(ctx context.Context, deviceToken string, apnTopic string, tokenType protobuf.PushNotificationRegistration_TokenType) error

func (*PublicAPI) RegisteredForPushNotifications added in v0.56.1

func (api *PublicAPI) RegisteredForPushNotifications() (bool, error)

func (*PublicAPI) RejectContactRequest added in v0.91.8

func (api *PublicAPI) RejectContactRequest(ctx context.Context, request *requests.RejectContactRequest) (*protocol.MessengerResponse, error)

func (*PublicAPI) RemoveBookmark added in v0.102.2

func (api *PublicAPI) RemoveBookmark(ctx context.Context, url string) error

func (*PublicAPI) RemoveContact added in v0.68.4

func (api *PublicAPI) RemoveContact(ctx context.Context, pubKey string) (*protocol.MessengerResponse, error)

func (*PublicAPI) RemoveFilters

func (api *PublicAPI) RemoveFilters(parent context.Context, chats []*transport.Filter) error

func (*PublicAPI) RemoveMemberFromGroupChat

func (api *PublicAPI) RemoveMemberFromGroupChat(ctx Context, chatID string, member string) (*protocol.MessengerResponse, error)

func (*PublicAPI) RemovePushNotificationServer added in v0.56.1

func (api *PublicAPI) RemovePushNotificationServer(ctx context.Context, publicKeyBytes types.HexBytes) error

func (*PublicAPI) RemoveTrustStatus added in v0.102.6

func (api *PublicAPI) RemoveTrustStatus(ctx context.Context, contactID string) error

func (*PublicAPI) RemoveUserFromCommunity added in v0.67.0

func (api *PublicAPI) RemoveUserFromCommunity(communityID types.HexBytes, userPublicKey string) (*protocol.MessengerResponse, error)

RemoveUserFromCommunity removes the user with pk from the community with ID

func (*PublicAPI) ReorderCommunityCategories added in v0.79.3

func (api *PublicAPI) ReorderCommunityCategories(request *requests.ReorderCommunityCategories) (*protocol.MessengerResponse, error)

ReorderCommunityCategories is used to change the order of the categories of a community

func (*PublicAPI) ReorderCommunityChat added in v0.79.3

func (api *PublicAPI) ReorderCommunityChat(request *requests.ReorderCommunityChat) (*protocol.MessengerResponse, error)

ReorderCommunityChat allows changing the order of the chat or switching its category

func (*PublicAPI) RequestAddressForTransaction

func (api *PublicAPI) RequestAddressForTransaction(ctx context.Context, chatID, from, value, contract string) (*protocol.MessengerResponse, error)

func (*PublicAPI) RequestAllHistoricMessages added in v0.79.0

func (api *PublicAPI) RequestAllHistoricMessages() (*protocol.MessengerResponse, error)

func (*PublicAPI) RequestAllHistoricMessagesWithRetries added in v0.96.0

func (api *PublicAPI) RequestAllHistoricMessagesWithRetries() (*protocol.MessengerResponse, error)

func (*PublicAPI) RequestCommunityInfoFromMailserver added in v0.76.3

func (api *PublicAPI) RequestCommunityInfoFromMailserver(communityID string) (*communities.Community, error)

func (*PublicAPI) RequestCommunityInfoFromMailserverAsync added in v0.94.3

func (api *PublicAPI) RequestCommunityInfoFromMailserverAsync(communityID string) error

func (*PublicAPI) RequestExtractDiscordChannelsAndCategories added in v0.105.1

func (api *PublicAPI) RequestExtractDiscordChannelsAndCategories(filesToImport []string)

func (*PublicAPI) RequestToJoinCommunity added in v0.72.0

func (api *PublicAPI) RequestToJoinCommunity(request *requests.RequestToJoinCommunity) (*protocol.MessengerResponse, error)

RequestToJoinCommunity requests to join a particular community

func (*PublicAPI) RequestTransaction

func (api *PublicAPI) RequestTransaction(ctx context.Context, chatID, value, contract, address string) (*protocol.MessengerResponse, error)

func (*PublicAPI) RetractContactRequest added in v0.100.0

func (api *PublicAPI) RetractContactRequest(ctx context.Context, request *requests.RetractContactRequest) (*protocol.MessengerResponse, error)

func (*PublicAPI) SaveChat

func (api *PublicAPI) SaveChat(parent context.Context, chat *protocol.Chat) error

func (*PublicAPI) SaveMessages added in v0.82.0

func (api *PublicAPI) SaveMessages(parent context.Context, messages []*common.Message) error

func (*PublicAPI) SendChatMessage

func (api *PublicAPI) SendChatMessage(ctx context.Context, message *common.Message) (*protocol.MessengerResponse, error)

func (*PublicAPI) SendChatMessages added in v0.64.3

func (api *PublicAPI) SendChatMessages(ctx context.Context, messages []*common.Message) (*protocol.MessengerResponse, error)

func (*PublicAPI) SendContactRequest added in v0.100.0

func (api *PublicAPI) SendContactRequest(ctx context.Context, request *requests.SendContactRequest) (*protocol.MessengerResponse, error)

func (*PublicAPI) SendContactUpdate

func (api *PublicAPI) SendContactUpdate(ctx context.Context, contactID, name, picture string) (*protocol.MessengerResponse, error)

func (*PublicAPI) SendContactUpdates

func (api *PublicAPI) SendContactUpdates(ctx context.Context, name, picture string) error

func (*PublicAPI) SendContactVerificationRequest added in v0.102.6

func (api *PublicAPI) SendContactVerificationRequest(ctx context.Context, contactID string, challenge string) error

func (*PublicAPI) SendEmojiReaction added in v0.56.4

func (api *PublicAPI) SendEmojiReaction(ctx context.Context, chatID, messageID string, emojiID protobuf.EmojiReaction_Type) (*protocol.MessengerResponse, error)

func (*PublicAPI) SendEmojiReactionRetraction added in v0.56.4

func (api *PublicAPI) SendEmojiReactionRetraction(ctx context.Context, emojiReactionID string) (*protocol.MessengerResponse, error)

func (*PublicAPI) SendGroupChatInvitationRejection added in v0.60.0

func (api *PublicAPI) SendGroupChatInvitationRejection(ctx Context, invitationRequestID string) (*protocol.MessengerResponse, error)

func (*PublicAPI) SendGroupChatInvitationRequest added in v0.60.0

func (api *PublicAPI) SendGroupChatInvitationRequest(ctx Context, chatID string, adminPK string, message string) (*protocol.MessengerResponse, error)

func (*PublicAPI) SendPairInstallation

func (api *PublicAPI) SendPairInstallation(ctx context.Context) (*protocol.MessengerResponse, error)

func (*PublicAPI) SendPinMessage added in v0.78.0

func (api *PublicAPI) SendPinMessage(ctx context.Context, message *common.PinMessage) (*protocol.MessengerResponse, error)

func (*PublicAPI) SendTransaction

func (api *PublicAPI) SendTransaction(ctx context.Context, chatID, value, contract, transactionHash string, signature types.HexBytes) (*protocol.MessengerResponse, error)

func (*PublicAPI) SetCommunityMuted added in v0.81.0

func (api *PublicAPI) SetCommunityMuted(communityID types.HexBytes, muted bool) error

SetCommunityMuted sets the community's muted value

func (*PublicAPI) SetContactLocalNickname added in v0.90.0

func (api *PublicAPI) SetContactLocalNickname(ctx context.Context, request *requests.SetContactLocalNickname) (*protocol.MessengerResponse, error)

func (*PublicAPI) SetDisplayName added in v0.94.12

func (api *PublicAPI) SetDisplayName(ctx context.Context, displayName string) error

func (*PublicAPI) SetInstallationMetadata

func (api *PublicAPI) SetInstallationMetadata(installationID string, data *multidevice.InstallationMetadata) error

SetInstallationMetadata sets the metadata for our own installation

func (*PublicAPI) SetPinnedMailservers added in v0.96.0

func (api *PublicAPI) SetPinnedMailservers(pinnedMailservers map[string]string) error

func (*PublicAPI) SetUserStatus added in v0.83.2

func (api *PublicAPI) SetUserStatus(ctx context.Context, status int, customText string) error

func (*PublicAPI) ShareCommunity added in v0.72.0

func (api *PublicAPI) ShareCommunity(request *requests.ShareCommunity) (*protocol.MessengerResponse, error)

ShareCommunity share the community with a set of users

func (*PublicAPI) ShareImageMessage added in v0.94.8

func (api *PublicAPI) ShareImageMessage(request *requests.ShareImageMessage) (*protocol.MessengerResponse, error)

ShareImageMessage share the selected chat image with a set of users

func (*PublicAPI) SignMessageWithChatKey added in v0.56.6

func (api *PublicAPI) SignMessageWithChatKey(ctx context.Context, message string) (types.HexBytes, error)

func (*PublicAPI) StartDiscV5 added in v0.91.8

func (api *PublicAPI) StartDiscV5() error

func (*PublicAPI) StartMessenger added in v0.41.0

func (api *PublicAPI) StartMessenger() (*protocol.MessengerResponse, error)

func (*PublicAPI) StartPushNotificationsServer added in v0.56.1

func (api *PublicAPI) StartPushNotificationsServer() error

PushNotifications server endpoints

func (*PublicAPI) StatusUpdates added in v0.83.2

func (api *PublicAPI) StatusUpdates() (*ApplicationStatusUpdatesResponse, error)

func (*PublicAPI) StopDiscV5 added in v0.91.8

func (api *PublicAPI) StopDiscV5() error

func (*PublicAPI) StopPushNotificationsServer added in v0.56.1

func (api *PublicAPI) StopPushNotificationsServer() error

func (*PublicAPI) SyncChatFromSyncedFrom added in v0.79.0

func (api *PublicAPI) SyncChatFromSyncedFrom(chatID string) (uint32, error)

func (*PublicAPI) SyncDevices

func (api *PublicAPI) SyncDevices(ctx context.Context, name, picture string) error

func (*PublicAPI) ToggleUseMailservers added in v0.96.0

func (api *PublicAPI) ToggleUseMailservers(value bool) error

func (*PublicAPI) UnbanUserFromCommunity added in v0.102.6

func (api *PublicAPI) UnbanUserFromCommunity(request *requests.UnbanUserFromCommunity) (*protocol.MessengerResponse, error)

UnbanUserFromCommunity removes the user's pk from the community ban list

func (*PublicAPI) UnblockContact added in v0.90.0

func (api *PublicAPI) UnblockContact(parent context.Context, contactID string) error

func (*PublicAPI) UnmuteChat added in v0.56.1

func (api *PublicAPI) UnmuteChat(parent context.Context, chatID string) error

func (*PublicAPI) UnmuteCommunityCategory added in v0.102.6

func (api *PublicAPI) UnmuteCommunityCategory(communityID string, categoryID string) error

func (*PublicAPI) UnreadActivityCenterNotificationsCount added in v0.76.0

func (api *PublicAPI) UnreadActivityCenterNotificationsCount() (uint64, error)

func (*PublicAPI) UnregisterFromPushNotifications added in v0.59.0

func (api *PublicAPI) UnregisterFromPushNotifications(ctx context.Context) error

func (*PublicAPI) UpdateBookmark added in v0.102.2

func (api *PublicAPI) UpdateBookmark(ctx context.Context, oldURL string, bookmark browsers.Bookmark) error

func (*PublicAPI) UpdateMessageOutgoingStatus

func (api *PublicAPI) UpdateMessageOutgoingStatus(id, newOutgoingStatus string) error

func (*PublicAPI) VerifiedTrusted added in v0.102.6

func (api *PublicAPI) VerifiedTrusted(ctx context.Context, contactID string) error

func (*PublicAPI) VerifiedUntrustworthy added in v0.102.6

func (api *PublicAPI) VerifiedUntrustworthy(ctx context.Context, contactID string) error

type PublisherSignalHandler

type PublisherSignalHandler struct{}

PublisherSignalHandler sends signals on protocol events

func (PublisherSignalHandler) BundleAdded

func (h PublisherSignalHandler) BundleAdded(identity string, installationID string)

func (PublisherSignalHandler) DecryptMessageFailed

func (h PublisherSignalHandler) DecryptMessageFailed(pubKey string)

func (PublisherSignalHandler) NewMessages

func (h PublisherSignalHandler) NewMessages(response *protocol.MessengerResponse)

func (PublisherSignalHandler) Stats added in v0.83.8

func (h PublisherSignalHandler) Stats(stats types.StatsSummary)

type RequestsRegistry

type RequestsRegistry struct {
	// contains filtered or unexported fields
}

RequestsRegistry keeps map for all requests with timestamp when they were made.

func NewRequestsRegistry

func NewRequestsRegistry(delay time.Duration) *RequestsRegistry

NewRequestsRegistry creates instance of the RequestsRegistry and returns pointer to it.

func (*RequestsRegistry) Clear

func (r *RequestsRegistry) Clear()

Clear recreates all structures used for caching requests.

func (*RequestsRegistry) Has

func (r *RequestsRegistry) Has(uid types.Hash) bool

Has returns true if given uid is stored in registry.

func (*RequestsRegistry) Register

func (r *RequestsRegistry) Register(uid types.Hash, topics []types.TopicType) error

Register request with given topics. If request with same topics was made in less then configured delay then error will be returned.

func (*RequestsRegistry) Unregister

func (r *RequestsRegistry) Unregister(uid types.Hash)

Unregister removes request with given UID from registry.

type RetryConfig

type RetryConfig struct {
	BaseTimeout time.Duration
	// StepTimeout defines duration increase per each retry.
	StepTimeout time.Duration
	MaxRetries  int
}

RetryConfig specifies configuration for retries with timeout and max amount of retries.

type SendDirectMessageRPC

type SendDirectMessageRPC struct {
	Sig     string // TODO: remove
	Chat    string
	Payload types.HexBytes
	PubKey  types.HexBytes
	DH      bool // TODO: make sure to remove safely
}

SendDirectMessageRPC represents the RPC payload for the SendDirectMessage RPC method

func (SendDirectMessageRPC) ID

TODO: implement with accordance to https://github.com/status-im/status-go/protocol/issues/28.

func (SendDirectMessageRPC) PublicKey

func (m SendDirectMessageRPC) PublicKey() *ecdsa.PublicKey

func (SendDirectMessageRPC) PublicName

func (m SendDirectMessageRPC) PublicName() string

type SendPublicMessageRPC

type SendPublicMessageRPC struct {
	Sig     string // TODO: remove
	Chat    string
	Payload types.HexBytes
}

SendPublicMessageRPC represents the RPC payload for the SendPublicMessage RPC method

func (SendPublicMessageRPC) ID

TODO: implement with accordance to https://github.com/status-im/status-go/protocol/issues/28.

func (SendPublicMessageRPC) PublicKey

func (m SendPublicMessageRPC) PublicKey() *ecdsa.PublicKey

func (SendPublicMessageRPC) PublicName

func (m SendPublicMessageRPC) PublicName() string

type Service

type Service struct {
	// contains filtered or unexported fields
}

Service is a service that provides some additional API to whisper-based protocols like Whisper or Waku.

func New

func New(
	config params.NodeConfig,
	n types.Node,
	rpcClient *rpc.Client,
	ldb *leveldb.DB,
	mailMonitor *MailRequestMonitor,
	eventSub mailservers.EnvelopeEventSubscriber,
) *Service

func (*Service) APIs

func (s *Service) APIs() []gethrpc.API

APIs returns a list of new APIs.

func (*Service) ConnectionChanged added in v0.79.0

func (s *Service) ConnectionChanged(state connection.State)

func (*Service) DisableInstallation

func (s *Service) DisableInstallation(installationID string) error

DisableInstallation disables an installation for multi-device sync.

func (*Service) EnableInstallation

func (s *Service) EnableInstallation(installationID string) error

func (*Service) GetPeer

func (s *Service) GetPeer(rawURL string) (*enode.Node, error)

func (*Service) InitProtocol

func (s *Service) InitProtocol(nodeName string, identity *ecdsa.PrivateKey, db *sql.DB, httpServer *server.MediaServer, multiAccountDb *multiaccounts.Database, acc *multiaccounts.Account, logger *zap.Logger) error

func (*Service) Messenger added in v0.86.2

func (s *Service) Messenger() *protocol.Messenger

func (*Service) NodeID

func (s *Service) NodeID() *ecdsa.PrivateKey

func (*Service) Protocols

func (s *Service) Protocols() []p2p.Protocol

Protocols returns a new protocols list. In this case, there are none.

func (*Service) SetP2PServer added in v0.82.0

func (s *Service) SetP2PServer(server *p2p.Server)

func (*Service) Start

func (s *Service) Start() error

Start is run when a service is started. It does nothing in this case but is required by `node.Service` interface.

func (*Service) StartMessenger added in v0.41.0

func (s *Service) StartMessenger() (*protocol.MessengerResponse, error)

func (*Service) Stop

func (s *Service) Stop() error

Stop is run when a service is stopped.

type StoreRequestCursor added in v0.80.2

type StoreRequestCursor struct {
	Digest       []byte  `json:"digest"`
	ReceivedTime float64 `json:"receivedTime"`
}

type TestNodeWrapper

type TestNodeWrapper struct {
	// contains filtered or unexported fields
}

func NewTestNodeWrapper

func NewTestNodeWrapper(whisper types.Whisper, waku types.Waku) *TestNodeWrapper

func (*TestNodeWrapper) AddPeer

func (w *TestNodeWrapper) AddPeer(url string) error

func (*TestNodeWrapper) GetWaku

func (w *TestNodeWrapper) GetWaku(_ interface{}) (types.Waku, error)

func (*TestNodeWrapper) GetWakuV2 added in v0.80.2

func (w *TestNodeWrapper) GetWakuV2(_ interface{}) (types.Waku, error)

func (*TestNodeWrapper) GetWhisper

func (w *TestNodeWrapper) GetWhisper(_ interface{}) (types.Whisper, error)

func (*TestNodeWrapper) NewENSVerifier

func (w *TestNodeWrapper) NewENSVerifier(_ *zap.Logger) enstypes.ENSVerifier

func (*TestNodeWrapper) PeersCount added in v0.59.0

func (w *TestNodeWrapper) PeersCount() int

func (*TestNodeWrapper) RemovePeer

func (w *TestNodeWrapper) RemovePeer(url string) error

type TimeSource

type TimeSource func() time.Time

TimeSource is a type used for current time.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL