status-go/protocol
Andrea Maria Piana f0d3e0419d Backup communities 2022-03-23 14:45:52 +00:00
..
anonmetrics Backup communities 2022-03-23 14:45:52 +00:00
audio
common QuotedMessage image from http server 2022-03-21 10:33:08 +01:00
communities Introduce `CommunitySettings` to store community related settings 2022-03-22 12:33:40 +01:00
datasync
encryption Backup communities 2022-03-23 14:45:52 +00:00
ens
identity fix: move visual-identity service to protocol/identity 2022-03-18 13:38:53 +01:00
images load audio from http server 2022-03-01 15:58:32 +01:00
internal/sqlite
migrations Backup communities 2022-03-23 14:45:52 +00:00
protobuf Backup communities 2022-03-23 14:45:52 +00:00
pushnotificationclient Backup communities 2022-03-23 14:45:52 +00:00
pushnotificationserver Backup communities 2022-03-23 14:45:52 +00:00
requests Introduce `CommunitySettings` to store community related settings 2022-03-22 12:33:40 +01:00
sqlite
subscription
transport Backup communities 2022-03-23 14:45:52 +00:00
tt
urls
v1 Sync bookmarks 2022-02-17 12:40:33 +00:00
zaputil Move to monorepo structure (#1684) 2019-11-21 17:19:22 +01:00
LICENSE
README.md
activity_center.go
activity_center_persistence.go Fix deadlock on checking pending notification 2022-02-23 20:58:08 +01:00
anon_metrics_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
chat.go Decline pending group invitations from user, when user is banned (#2437) 2021-11-25 20:51:42 +05:30
chat_group_proxy.go
chat_test.go
communities_messenger_test.go Introduce `CommunitySettings` to store community related settings 2022-03-22 12:33:40 +01:00
contact.go Restore ensName -> name on contact json 2022-03-17 17:28:42 +00:00
delete_message.go
edit_message.go
emoji_reaction.go
errors.go
group_chat_invitation.go
group_chat_system_messages.go
identity_images.go
local_notifications.go
message_builder.go
message_persistence.go QuotedMessage image from http server 2022-03-21 10:33:08 +01:00
message_validator.go feat: display name 2022-03-14 13:48:34 -04:00
message_validator_test.go
messenger.go Introduce `CommunitySettings` to store community related settings 2022-03-22 12:33:40 +01:00
messenger_activity_center.go fix activity center unique constraint error (#2524) 2022-02-09 18:45:57 +05:30
messenger_activity_center_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_auto_message.go feat: auto message (#2441) 2021-11-29 14:11:55 +01:00
messenger_backup.go Backup communities 2022-03-23 14:45:52 +00:00
messenger_backup_test.go Backup communities 2022-03-23 14:45:52 +00:00
messenger_chats.go feat: display name 2022-03-14 13:48:34 -04:00
messenger_communities.go Introduce `CommunitySettings` to store community related settings 2022-03-22 12:33:40 +01:00
messenger_config.go Intrododuce `NodeConfig.TorrentConfig` and CLI flags 2022-03-21 12:59:09 +01:00
messenger_contact_update_test.go feat: display name 2022-03-14 13:48:34 -04:00
messenger_contacts.go Enable mailserver cycle by default 2022-03-19 08:56:22 +00:00
messenger_delete_message_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_discv5.go
messenger_display_name.go feat: display name 2022-03-14 13:48:34 -04:00
messenger_edit_message_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_emoji_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_ens.go
messenger_handler.go Backup communities 2022-03-23 14:45:52 +00:00
messenger_handler_test.go
messenger_identity_image_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_images.go load audio from http server 2022-03-01 15:58:32 +01:00
messenger_installations_test.go Sync bookmarks 2022-02-17 12:40:33 +00:00
messenger_mailserver.go Enable mailserver cycle by default 2022-03-19 08:56:22 +00:00
messenger_mailserver_cycle.go Enable mailserver cycle by default 2022-03-19 08:56:22 +00:00
messenger_maps.go
messenger_messages.go
messenger_mute_test.go
messenger_peers.go
messenger_pin_message_test.go Turning the tests back on (#2519) 2022-02-03 20:37:41 +00:00
messenger_pin_messages.go
messenger_response.go Introduce `CommunitySettings` to store community related settings 2022-03-22 12:33:40 +01:00
messenger_response_test.go feat: desktop mailserver cycle (#2481) 2022-01-12 12:02:01 -04:00
messenger_share_image_test.go Fix: recieved shared image message not being displayed 2022-03-14 10:59:26 +03:00
messenger_status_updates.go fix: only broadcast status once we are connected (#2456) 2021-12-09 09:50:58 +01:00
messenger_sync_bookmark_test.go Sync bookmarks 2022-02-17 12:40:33 +00:00
messenger_sync_chat_test.go Set joined=message.clock on syncing pubchat creation 2021-12-24 16:47:28 +02:00
messenger_sync_clear_history_test.go Sync clear history 2022-02-17 11:15:01 +00:00
messenger_test.go feat: display name 2022-03-14 13:48:34 -04:00
persistence.go feat: display name 2022-03-14 13:48:34 -04:00
persistence_test.go QuotedMessage image from http server 2022-03-21 10:33:08 +01:00
push_notification_test.go feat: display name 2022-03-14 13:48:34 -04:00
status_update.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.