status-go/protocol
Richard Ramos f9ec588c4e feat: use protected topics for communities
refactor: associate chats to pubsub topics and populate these depending if the chat belongs to a community or not
refactor: add pubsub topic to mailserver batches
chore: ensure default relay messages continue working as they should
refactor: mailserver functions should be aware of pubsub topics
fix: use []byte for communityIDs
2023-08-23 13:56:00 -04:00
..
anonmetrics feat: share CommunityTokens between privileged users (#3931) 2023-08-22 19:48:42 +02:00
audio
common feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
communities feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
datasync
discord
encryption feat: share CommunityTokens between privileged users (#3931) 2023-08-22 19:48:42 +02:00
ens Add permission checks for ENS token permissions 2023-06-05 13:10:48 +02:00
identity revert identity ring colours (#3865) 2023-08-11 09:00:18 +08:00
internal/sqlite
linkpreview/unfurlers chore: Moved link preview unfurlers to a separate package (#3917) 2023-08-21 22:31:32 +03:00
migrations feat: share CommunityTokens between privileged users (#3931) 2023-08-22 19:48:42 +02:00
protobuf feat: share CommunityTokens between privileged users (#3931) 2023-08-22 19:48:42 +02:00
pushnotificationclient feat: share CommunityTokens between privileged users (#3931) 2023-08-22 19:48:42 +02:00
pushnotificationserver feat: share CommunityTokens between privileged users (#3931) 2023-08-22 19:48:42 +02:00
requests feat(communities): add addresses to check channel permissions functions (#3910) 2023-08-18 15:50:23 -04:00
sqlite chore(upgradeSQLCipher): Upgrading SQLCipher to version 5.4.5 (#3559) 2023-06-07 08:58:01 +03:00
subscription
transport feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
tt
urls feat: add parsing for new links format (#3665) 2023-07-04 17:48:52 +04:00
v1 Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
verification
wakusync Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
zaputil
LICENSE
README.md
activity_center.go refactor: EventSenders forward RequestToJoin decision to control node 2023-08-08 14:46:03 +02:00
activity_center_persistence.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
activity_center_persistence_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
chat.go fx: deprecate profile and timeline chats (#3809) 2023-08-03 17:16:11 +03:00
chat_group_proxy.go
chat_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
communities_events_owner_without_community_key_test.go feat: share CommunityTokens between privileged users (#3931) 2023-08-22 19:48:42 +02:00
communities_events_token_master_test.go feat: share CommunityTokens between privileged users (#3931) 2023-08-22 19:48:42 +02:00
communities_events_utils_test.go feat: add pending state for token permissions 2023-08-23 10:34:59 +02:00
communities_key_distributor.go feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
communities_messenger_admin_test.go feat: share CommunityTokens between privileged users (#3931) 2023-08-22 19:48:42 +02:00
communities_messenger_helpers_test.go feat: share CommunityTokens between privileged users (#3931) 2023-08-22 19:48:42 +02:00
communities_messenger_test.go feat: share CommunityTokens between privileged users (#3931) 2023-08-22 19:48:42 +02:00
communities_messenger_token_permissions_test.go feat: add pending state for token permissions 2023-08-23 10:34:59 +02:00
contact.go Fix syncing `blocked` contacts (#3799) 2023-08-04 13:41:24 +03:00
contact_test.go
delete_message.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
edit_message.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
emoji_reaction.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
errors.go feat: add parsing for new links format (#3665) 2023-07-04 17:48:52 +04:00
group_chat_invitation.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
group_chat_system_messages.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
identity_images.go
local_notifications.go
message_builder.go
message_persistence.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
message_validator.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
message_validator_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger.go feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
messenger_activity_center.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_activity_center_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_auto_message.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_backup.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_backup_handler.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_backup_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_base_test.go fix(tests): moved test db setup to a common place 't/helpers', created 2023-08-18 09:00:56 +02:00
messenger_bookmarks.go
messenger_browsers.go
messenger_browsers_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_chats.go feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
messenger_collapsed_community_categories.go
messenger_collapsed_community_categories_test.go
messenger_communities.go feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
messenger_community_for_mobile_testing.go add api to create community for testing (#3818) 2023-08-03 08:24:11 +08:00
messenger_community_metrics.go feat: Collecting community messages count metrics (#3802) 2023-08-01 17:08:57 +04:00
messenger_community_metrics_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_config.go feat: share CommunityTokens between privileged users (#3931) 2023-08-22 19:48:42 +02:00
messenger_contact_requests_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_contact_update_test.go fx: deprecate profile and timeline chats (#3809) 2023-08-03 17:16:11 +03:00
messenger_contact_verification.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_contact_verification_test.go Run tests separately, make sure messenger is shutdown, fix torrent test 2023-06-23 11:30:04 +01:00
messenger_contacts.go feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
messenger_delete_message_for_everyone_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_delete_message_for_me_test.go [status-mobile-16467] Fix delete for me on receiver side using wrong chatID (#3732) 2023-07-10 22:26:32 +03:00
messenger_delete_message_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_discv5.go
messenger_edit_message_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_emoji_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_ens.go
messenger_group_chat.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_group_chat_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_handler.go fix: remove account if it's marked as removed in received `protobuf.SyncKeypair` message 2023-08-23 14:07:39 +02:00
messenger_handler_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_handlers.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_identity.go Set installation name on account creation and pairing 2023-06-29 10:14:12 +02:00
messenger_identity_display_name_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_identity_image_test.go
messenger_identity_social_links_test.go fix: profile social links updated 2023-06-06 09:59:12 +02:00
messenger_installations_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_keycard.go chore: synchronization improvements applied to keycards 2023-07-11 15:14:49 +02:00
messenger_linkpreview.go feat: share CommunityTokens between privileged users (#3931) 2023-08-22 19:48:42 +02:00
messenger_linkpreview_test.go chore: Moved link preview unfurlers to a separate package (#3917) 2023-08-21 22:31:32 +03:00
messenger_mailserver.go feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
messenger_mailserver_cycle.go chore: `forceFetchingBackup` param added to `RequestAllHistoricMessages` and `RequestAllHistoricMessagesWithRetries` functions 2023-06-09 17:42:11 +02:00
messenger_mailserver_processMailserverBatch_test.go feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
messenger_maps.go fix: don't store ourselves as a contact (#3627) 2023-07-12 12:46:56 +03:00
messenger_mention.go [mention] fix relate issues to input segments (#3766) 2023-07-25 16:47:24 +08:00
messenger_mention_test.go [mention] fix relate issues to input segments (#3766) 2023-07-25 16:47:24 +08:00
messenger_messages.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_mute_test.go fx: deprecate profile and timeline chats (#3809) 2023-08-03 17:16:11 +03:00
messenger_peers.go feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
messenger_pin_message_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_pin_messages.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_reply_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_response.go fix: wallet accounts ordering improvements 2023-07-20 14:32:41 +02:00
messenger_response_test.go
messenger_saved_address.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_send_images_album_test.go fix(messenger): fix handling reply with only one image (#3816) 2023-07-28 16:02:20 -04:00
messenger_share_image_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_share_urls.go fix encoding of status.app links (#3855) 2023-08-14 14:25:42 +04:00
messenger_share_urls_test.go fix encoding of status.app links (#3855) 2023-08-14 14:25:42 +04:00
messenger_status_updates.go feat: use protected topics for communities 2023-08-23 13:56:00 -04:00
messenger_status_updates_test.go
messenger_switcher_cards.go
messenger_sync_activity_notification_test.go Feat/sync activity center notification (#3535) 2023-06-10 10:00:17 +08:00
messenger_sync_bookmark_test.go
messenger_sync_chat_test.go
messenger_sync_clear_history_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_sync_customization_color_test.go fix: Extract `PairDevices` func (#3857) 2023-08-10 16:57:52 +03:00
messenger_sync_keycard_change_test.go fix: review comments applied 2023-07-25 18:11:05 +02:00
messenger_sync_keycards_state_test.go fix: review comments applied 2023-07-25 18:11:05 +02:00
messenger_sync_profile_picture_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_sync_raw_messages.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_sync_saved_addresses_test.go fix(tests): moved test db setup to a common place 't/helpers', created 2023-08-18 09:00:56 +02:00
messenger_sync_settings.go
messenger_sync_settings_test.go fix(tests): moved test db setup to a common place 't/helpers', created 2023-08-18 09:00:56 +02:00
messenger_sync_verification_test.go
messenger_sync_wallets_test.go fix: function name change 2023-07-26 08:23:55 +02:00
messenger_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
messenger_testing_utils.go Prepare messages before notifications are sent back 2023-08-14 10:19:07 +01:00
messenger_wallet.go fix: synced from field updated if recovered keypairs made fully operable 2023-08-10 16:09:29 +02:00
messenger_walletconnect.go
messenger_walletconnect_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
persistence.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
persistence_collapsed_community_categories.go Feat/sync activity center notification (#3535) 2023-06-10 10:00:17 +08:00
persistence_metrics.go feat: Collecting community messages count metrics (#3802) 2023-08-01 17:08:57 +04:00
persistence_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
push_notification_test.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
status_update.go Always use protobufs by reference & generate handlers 2023-08-22 12:08:54 +01:00
switcher_card.go
transaction_validator.go
transaction_validator_test.go

README.md

status-go/protocol

This is an implementation of the secure transport and payloads which are a part of the Status Client specification.

This implementation uses SQLite and SQLCipher for persistent storage.

The payloads are encoded using protocol-buffers.

Content

  • messenger.go is the main file which exports Messenger struct. This is a public API to interact with this implementation of the Status Chat Protocol.
  • protobuf/ contains protobuf files implementing payloads described in the Payloads spec.
  • encryption/ implements the Secure Transport spec.
  • transport/ connects the Status Chat Protocol with a wire-protocol which in our case is either Whisper or Waku.
  • datasync/ is an adapter for MVDS.
  • applicationmetadata/ is an outer layer wrapping a payload with an app-specific metadata like a signature.
  • identity/ implements details related to creating a three-word name and identicon.
  • migrations/ contains implementation specific migrations for the sqlite database which is used by Messenger as a persistent data store.

History

Originally this package was a dedicated repo called status-protocol-go and was migrated into status-go. The new status-go/protocol package maintained its own dependencies until sub modules were removed and the root go.mod file managed all dependencies for the entire status-go repo.