Skip to content

Commit

Permalink
feat: define log entry proto (secret, member, message and setting)
Browse files Browse the repository at this point in the history
  • Loading branch information
aeddi committed Oct 29, 2019
1 parent 14b51f6 commit eeb0d51
Show file tree
Hide file tree
Showing 9 changed files with 3,717 additions and 0 deletions.
19 changes: 19 additions & 0 deletions api/go-internal/log_entry_member.proto
@@ -0,0 +1,19 @@
syntax = "proto3";

option go_package = "berty.tech/go/internal/group";

message MemberEntryEnvelope {
bytes encrypted_member_payload = 1;
bytes member_payload_signature = 2; // Signed by member_device_priv_key
}

message MemberEntryPayload {
bytes member_pub_key = 1;
bytes member_pub_key_signature = 2; // Signed by invitation_priv_key
bytes member_device_pub_key = 3;
bytes member_device_pub_key_signature = 4; // Signed by member_priv_key

bytes inviter_member_pub_key = 5;
bytes invitation_pub_key = 6;
bytes invitation_pub_key_signature = 7; // Signed by inviter_member_priv_key
}
30 changes: 30 additions & 0 deletions api/go-internal/log_entry_message.proto
@@ -0,0 +1,30 @@
syntax = "proto3";

option go_package = "berty.tech/go/internal/group";

message MessageEntryEnvelope {
uint64 counter = 1;
bytes encrypted_payload = 2;
bytes signature = 3; // Signed with member_device_pub_key of author
}

message MessageEntryPayload {
enum PayloadType {
PayloadTypeMessage = 0;
PayloadTypeInvitation = 1;
}

PayloadType type = 1;
bytes message_body = 2;
Invitation invitation = 3;
}

message Invitation {
bytes inviter_member_pub_key = 1;
bytes invitation_priv_key = 2;
bytes invitation_pub_key_signature = 3; // Signed by inviter_member_priv_key

uint32 group_version = 4;
bytes group_id_pub_key = 5;
bytes shared_secret = 6;
}
19 changes: 19 additions & 0 deletions api/go-internal/log_entry_secret.proto
@@ -0,0 +1,19 @@
syntax = "proto3";

option go_package = "berty.tech/go/internal/group";

message SecretEntryEnvelope {
bytes encrypted_secret_payload = 1;
bytes secret_payload_signature = 2;
}

message SecretEntryPayload {
bytes dest_member_pub_key = 1;
bytes sender_device_pub_key = 2;
bytes encrypted_device_secret = 3;
}

message DeviceSecret {
bytes derivation_state = 1;
uint64 counter = 2;
}
20 changes: 20 additions & 0 deletions api/go-internal/log_entry_setting.proto
@@ -0,0 +1,20 @@
syntax = "proto3";

option go_package = "berty.tech/go/internal/group";

message SettingsEntryEnvelope {
bytes encrypted_settings_payload = 1;
bytes settings_payload_signature = 2;
}

message SettingsEntryPayload {
enum PayloadType {
PayloadTypeGroupSetting = 0;
PayloadTypeMemberSetting = 1;
}

PayloadType type = 1;
bytes member_pub_key = 2;
bytes key = 3;
bytes value = 4;
}
4 changes: 4 additions & 0 deletions go/gen.sum

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit eeb0d51

Please sign in to comment.