pub struct GetSecretIdsVersionsRequestMessage {
pub timestamp: Option<Timestamp>,
}Expand description
GetSecretIdsVersionsRequestMessage requests the list of all secrets and corresponding share versions that a Helper stores for a given Owner.
§Context
This message is used during the recovery flow, after the Owner has re-paired with a Helper (typically in recovery mode).
Since the recovering Owner does not know which secrets or versions the Helper holds, this message allows discovery of:
- all secretIds associated with the Owner
- all share versions stored for each secret
§Semantics
The Helper responds with a GetSecretIdsVersionsResponseMessage containing:
- one entry per secretId
- the list of versions stored for each secret
§Authorization Rules
The Helper MUST only fully process this request if it is received through a communication channel that was established in recovery mode and has been associated (via authentication) with the same Owner as previously stored secrets.
If this condition is not met, the Helper MAY:
- return only partial information (e.g., for the current channel), or
- reject the request entirely
§Authentication
The Helper MUST authenticate the requester at the application level before disclosing any information about stored secrets. Authentication is outside the scope of the protocol and may include:
- in-person verification
- KYC processes
- biometrics or credentials
§Idempotency
This request is idempotent. Repeated requests SHOULD return the same information unless the underlying storage changes.
Fields§
§timestamp: Option<Timestamp>Timestamp indicating when this message was created.
This value is expressed in UTC and can be used for:
- observability and logging
- replay detection (in combination with sequence numbers)
- timeout handling
Trait Implementations§
Source§impl Clone for GetSecretIdsVersionsRequestMessage
impl Clone for GetSecretIdsVersionsRequestMessage
Source§fn clone(&self) -> GetSecretIdsVersionsRequestMessage
fn clone(&self) -> GetSecretIdsVersionsRequestMessage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Message for GetSecretIdsVersionsRequestMessage
impl Message for GetSecretIdsVersionsRequestMessage
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for GetSecretIdsVersionsRequestMessage
impl PartialEq for GetSecretIdsVersionsRequestMessage
Source§fn eq(&self, other: &GetSecretIdsVersionsRequestMessage) -> bool
fn eq(&self, other: &GetSecretIdsVersionsRequestMessage) -> bool
self and other values to be equal, and is used by ==.