status-go/protocol
Ivan Belyakov 2df9df10ab fix(tests): moved test db setup to a common place 't/helpers', created
interface for initializing db, which is implemented for appdatabase and
walletdatabase. TBD for multiaccounts DB.
Unified DB initializion for all tests using helpers and new interface.
Reduced sqlcipher kdf iterations for all tests to 1.
2023-08-18 09:00:56 +02:00
..
anonmetrics feat: register new community member role ROLE_TOKEN_MASTER and grant him admin permissions (#3810) 2023-07-26 18:01:19 +02:00
audio
common feat: introduce channel-level encryption 2023-07-27 11:35:59 +02:00
communities fix(tests): moved test db setup to a common place 't/helpers', created 2023-08-18 09:00:56 +02:00
datasync
discord refactor(import-tool): process import data in chunks 2023-01-30 12:23:56 +01:00
encryption feat: register new community member role ROLE_TOKEN_MASTER and grant him admin permissions (#3810) 2023-07-26 18:01:19 +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 Support unfurling more websites (#3530) 2023-06-05 07:46:17 -03:00
migrations feat: synchronize community token between TokenMasters and Owners (#3893) 2023-08-15 19:42:40 +02:00
protobuf chore: remove `ROLE_MANAGE_USERS` and `ROLE_MODERATE_CONTENT` 2023-08-16 21:38:04 +02:00
pushnotificationclient feat: register new community member role ROLE_TOKEN_MASTER and grant him admin permissions (#3810) 2023-07-26 18:01:19 +02:00
pushnotificationserver feat: register new community member role ROLE_TOKEN_MASTER and grant him admin permissions (#3810) 2023-07-26 18:01:19 +02:00
requests feat(community-permissions): Adds addresses feild to check permissions request (#3858) 2023-08-15 13:26: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: register new community member role ROLE_TOKEN_MASTER and grant him admin permissions (#3810) 2023-07-26 18:01:19 +02:00
tt
urls feat: add parsing for new links format (#3665) 2023-07-04 17:48:52 +04:00
v1 feat: community privileged user sync message (#3879) 2023-08-15 17:27:01 +02:00
verification
wakusync chore: synchronization improvements applied to keypairs/accounts 2023-07-05 14:41:26 +02: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 Feat/sync activity center notification (#3535) 2023-06-10 10:00:17 +08:00
activity_center_persistence_test.go Mute and Unmute community 2023-07-19 15:14:42 +03: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 URL unfurling (initial implementation) (#3471) 2023-05-18 15:43:06 -03:00
communities_events_owner_without_community_key_test.go feat: synchronize community token between TokenMasters and Owners (#3893) 2023-08-15 19:42:40 +02:00
communities_events_token_master_test.go feat: synchronize community token between TokenMasters and Owners (#3893) 2023-08-15 19:42:40 +02:00
communities_events_utils_test.go feat: synchronize community token between TokenMasters and Owners (#3893) 2023-08-15 19:42:40 +02:00
communities_key_distributor.go feat: introduce channel-level encryption 2023-07-27 11:35:59 +02:00
communities_messenger_admin_test.go feat: synchronize community token between TokenMasters and Owners (#3893) 2023-08-15 19:42:40 +02:00
communities_messenger_helpers_test.go fix(tests): moved test db setup to a common place 't/helpers', created 2023-08-18 09:00:56 +02:00
communities_messenger_test.go added nil checking for communitiesManager.GetByID (#3877) 2023-08-11 19:17:34 +08:00
communities_messenger_token_permissions_test.go feat: auto re-apply rejected community events 2023-08-11 12:46:45 +02:00
contact.go Fix syncing `blocked` contacts (#3799) 2023-08-04 13:41:24 +03:00
contact_test.go Compute emojiHash on-the-fly 2023-03-06 13:22:40 +02:00
delete_message.go sync message for `delete for me` should not be sent to someone else (#3462) 2023-05-09 20:54:56 +08:00
edit_message.go
emoji_reaction.go Return compressed key with emojis (#3410) 2023-05-10 13:45:42 +03:00
errors.go feat: add parsing for new links format (#3665) 2023-07-04 17:48:52 +04:00
group_chat_invitation.go
group_chat_system_messages.go
identity_images.go Split clock values for contacts 2023-01-31 15:43:00 +00:00
local_notifications.go Add primary & secondary names 2023-02-27 15:13:43 +00:00
message_builder.go
message_persistence.go feat: add images count to reply (#3574) 2023-06-06 15:52:07 +04:00
message_validator.go Fix: mutual state messages behaviour (#3640) 2023-07-12 11:12:58 -04:00
message_validator_test.go
messenger.go feat(wallet): move wallet-related tables to a dedicated db. 2023-08-18 09:00:56 +02:00
messenger_activity_center.go Prepare messages before notifications are sent back 2023-08-14 10:19:07 +01:00
messenger_activity_center_test.go Prepare messages before notifications are sent back 2023-08-14 10:19:07 +01:00
messenger_auto_message.go
messenger_backup.go fix: function name change 2023-07-26 08:23:55 +02:00
messenger_backup_handler.go fix: synced from field updated if recovered keypairs made fully operable 2023-08-10 16:09:29 +02:00
messenger_backup_test.go Fix syncing `blocked` contacts (#3799) 2023-08-04 13:41:24 +03: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 fx: deprecate profile and timeline chats (#3809) 2023-08-03 17:16:11 +03:00
messenger_collapsed_community_categories.go Add collapsed community categories 2023-03-14 17:13:21 +00:00
messenger_collapsed_community_categories_test.go Fix collapsed tests 2023-03-16 13:40:20 +00:00
messenger_communities.go Fix fetching revealed accounts in `GetCommunityMembersForWalletAddresses` (#3891) 2023-08-17 02:05:32 +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 feat: Collecting community messages count metrics (#3802) 2023-08-01 17:08:57 +04:00
messenger_config.go feat(wallet): move wallet-related tables to a dedicated db. 2023-08-18 09:00:56 +02:00
messenger_contact_requests_test.go fix: Extract `PairDevices` func (#3857) 2023-08-10 16:57:52 +03: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 Feat/sync activity center notification (#3535) 2023-06-10 10:00:17 +08: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 Add preview and counters for CR system messages #16898 (#3872) 2023-08-11 19:08:54 +02:00
messenger_delete_message_for_everyone_test.go chore: remove `ROLE_MANAGE_USERS` and `ROLE_MODERATE_CONTENT` 2023-08-16 21:38:04 +02: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 Make sure image URL are preserved when deleting a message for me 2023-06-30 11:12:26 +01:00
messenger_discv5.go
messenger_edit_message_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_emoji_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_ens.go
messenger_group_chat.go Feat/sync activity center notification (#3535) 2023-06-10 10:00:17 +08:00
messenger_group_chat_test.go Use base test messenger suite 2023-07-13 14:01:55 +01:00
messenger_handler.go feat: community privileged user sync message (#3879) 2023-08-15 17:27:01 +02:00
messenger_handler_test.go Split clock values for contacts 2023-01-31 15:43:00 +00: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 Add spiff workflow cmd 2023-03-16 14:31:34 +00:00
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_mailserver.go chore: `forceFetchingBackup` param added to `RequestAllHistoricMessages` and `RequestAllHistoricMessagesWithRetries` functions 2023-06-09 17:42:11 +02: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 test: processMailserverBatch 2023-04-30 10:04:04 -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 [status-mobile-16467] Fix delete for me on receiver side using wrong chatID (#3732) 2023-07-10 22:26:32 +03:00
messenger_mute_test.go fx: deprecate profile and timeline chats (#3809) 2023-08-03 17:16:11 +03:00
messenger_peers.go chore: upgrade go-waku to v0.5 (#3213) 2023-02-22 17:58:17 -04:00
messenger_pin_message_test.go Run tests separately, make sure messenger is shutdown, fix torrent test 2023-06-23 11:30:04 +01:00
messenger_pin_messages.go fix: owner without community private key and token master was not able send all admin events (#3819) 2023-07-28 20:18:27 +02: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 Fix duplicated notifications on receiving contact update 2023-02-14 09:22:37 +00:00
messenger_saved_address.go feat: Update saved addresses DB to store ENS, isTest flag and chains (#3183) 2023-03-06 16:26:46 +03: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 Run tests separately, make sure messenger is shutdown, fix torrent test 2023-06-23 11:30:04 +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
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 support local pairing after logged in as receiver; pair installation;(#3202) 2023-02-28 20:32:45 +08:00
messenger_sync_chat_test.go support local pairing after logged in as receiver; pair installation;(#3202) 2023-02-28 20:32:45 +08:00
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 fix: synced from field updated if recovered keypairs made fully operable 2023-08-10 16:09:29 +02: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 feat: backup display name improvements 2023-03-31 16:20:50 +02:00
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 support local pairing after logged in as receiver; pair installation;(#3202) 2023-02-28 20:32:45 +08:00
messenger_sync_wallets_test.go fix: function name change 2023-07-26 08:23:55 +02:00
messenger_test.go Fix syncing `blocked` contacts (#3799) 2023-08-04 13:41:24 +03: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 fix: profile social links updated 2023-06-06 09:59:12 +02: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 Handle async raw message confirmations 2023-06-26 13:36:20 +01:00
push_notification_test.go chore: Common `createOtherDevice` for community_messenger_test (#3874) 2023-08-10 21:25:07 +03:00
status_update.go
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.