syntax = "proto3"; package meowlib; option go_package = "forge.redroom.link/yves/meowlib"; // structure for sending a message intended for server use in protobuf format message PackedServerMessage { string From = 1; bytes Payload = 2; bytes Signature = 3; } // structure for sending a message to be forwarded to another user in protobuf format message PackedUserMessage { string From = 1; string Destination=2; bytes Payload=3; bytes Signature=4; } // structure defining a message to be forwarded encrypted, then sent in a "packedmessage" message ServerMessage { string Type = 1; string ServerPubKey = 2 ; bytes Payload = 3 ; uint64 ServerReceived = 4 ; string ServerUuid = 5 ; message ConversationRequest { string ccid = 1; string LastUuidOK = 2; bool PublishOnline = 3; } message ConversationResponse { repeated string MessageUuids = 1; string SourceIpAddress = 2; } repeated ConversationRequest PollRequest = 7; map PollResponse = 8; message PostedMessage{ string ccid= 1; repeated PackedUserMessage Messages = 2; } repeated PostedMessage Messages = 9; string NextServerKey = 10; string Url = 11; } message Server { string Name = 1; string Description=2; string PublicKey = 3; string Url = 4; int32 ConfidenceLevel = 5; } message MinimalContact { string name=1; string publicKey=2; repeated Server TrustedServers = 3; } message UserMessage { string Destination = 1; string From = 2; string Type = 3; bytes Data = 4; message ConversationStatus { string LocalUuid = 1; uint64 LocalSequence = 2 ; uint64 Sent = 3 ; uint64 Received = 4; uint64 Processed = 5; string NextCkey = 6; // contact key bool NextCkeyAck = 7; // false when proposing a new id, true for accepting it string NextEkey = 8; // encryption key bool NextKeyEkeyAck = 9; // false when proposing a new key, true for accpeting it string NextLkey = 10; // lookup key bool NextLkeyAck = 11; // false when proposing a new id, true for accepting it } ConversationStatus Status = 5; MinimalContact contact = 6; message Group{ string name=1; repeated MinimalContact members = 2; } Group group = 7; }