mirror of
https://github.com/logos-messaging/chat_proto.git
synced 2026-07-28 01:33:09 +00:00
44 lines
2.0 KiB
Rust
44 lines
2.0 KiB
Rust
// @generated
|
|
// This file is @generated by prost-build.
|
|
// /////////////////////////////////////////////////////////////////////////////
|
|
// Keypackage + Account Store Submissions
|
|
// /////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Submissions published over the delivery network for the keypackage + account
|
|
// store to pick up by subscription.
|
|
//
|
|
// In both messages `payload` is opaque to the store: it verifies `signature`
|
|
// over the received `payload` bytes under the advertised key, without decoding
|
|
// the payload. The signed bytes and the transmitted bytes are identical, so
|
|
// every verifier checks the signature over exactly what it received.
|
|
|
|
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
|
|
pub struct KeyPackageSubmissionV1 {
|
|
/// 32-byte Ed25519 device verifying key. Both the verification key and the
|
|
/// store's lookup key.
|
|
#[prost(bytes="bytes", tag="1")]
|
|
pub device_id: ::prost::bytes::Bytes,
|
|
/// The signed payload: a timestamp header followed by the key package.
|
|
#[prost(bytes="bytes", tag="2")]
|
|
pub payload: ::prost::bytes::Bytes,
|
|
/// 64-byte Ed25519 signature over `payload`, made by `device_id`'s key.
|
|
/// Proof-of-possession: only that key's holder can publish under it.
|
|
#[prost(bytes="bytes", tag="3")]
|
|
pub signature: ::prost::bytes::Bytes,
|
|
}
|
|
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
|
|
pub struct AccountSubmissionV1 {
|
|
/// 32-byte Ed25519 account verifying key. Both the verification key and the
|
|
/// store's lookup key.
|
|
#[prost(bytes="bytes", tag="1")]
|
|
pub account_pub: ::prost::bytes::Bytes,
|
|
/// The signed device-list payload: a lamport-timestamped list of device
|
|
/// verifying keys, so consumers can detect stale bundles.
|
|
#[prost(bytes="bytes", tag="2")]
|
|
pub payload: ::prost::bytes::Bytes,
|
|
/// 64-byte Ed25519 signature over `payload`, made by the account key.
|
|
#[prost(bytes="bytes", tag="3")]
|
|
pub signature: ::prost::bytes::Bytes,
|
|
}
|
|
// @@protoc_insertion_point(module)
|