pub struct PasswordDeviceAdmission {
pub format_version: u32,
pub account_uuid: Vec<u8>,
pub challenge_id: Vec<u8>,
pub continuation_id: Vec<u8>,
pub caller_device_public_key: Vec<u8>,
pub owner_state_hash: Vec<u8>,
pub owner_sequence: u64,
pub client_operation_id: String,
}Expand description
The owner signs this exact admission, independently of the password proof. Ed25519 signs SHA-256(“heddle-password-device-admission-v1” || u32be(format_version) || account_uuid[16] || challenge_id[32] || continuation_id[32] || caller_device_public_key[32] || owner_state_hash[32] || u64be(owner_sequence) || u32be(client_operation_id UTF-8 byte length) || client_operation_id UTF-8).
Fields§
§format_version: u32Exactly 1; reject unknown versions.
account_uuid: Vec<u8>Exactly 16 bytes, non-nil.
challenge_id: Vec<u8>Exactly 32 bytes.
continuation_id: Vec<u8>Exactly 32 bytes.
caller_device_public_key: Vec<u8>Exactly 32 bytes.
owner_state_hash: Vec<u8>Exactly 32 bytes; current accepted state.
owner_sequence: u64Current accepted sequence.
client_operation_id: String1..128 UTF-8 bytes; equals completion.
Trait Implementations§
Source§impl Clone for PasswordDeviceAdmission
impl Clone for PasswordDeviceAdmission
Source§fn clone(&self) -> PasswordDeviceAdmission
fn clone(&self) -> PasswordDeviceAdmission
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PasswordDeviceAdmission
impl Debug for PasswordDeviceAdmission
Source§impl Default for PasswordDeviceAdmission
impl Default for PasswordDeviceAdmission
Source§fn default() -> PasswordDeviceAdmission
fn default() -> PasswordDeviceAdmission
Returns the “default value” for a type. Read more
impl Eq for PasswordDeviceAdmission
Source§impl Hash for PasswordDeviceAdmission
impl Hash for PasswordDeviceAdmission
Source§impl Message for PasswordDeviceAdmission
impl Message for PasswordDeviceAdmission
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
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,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
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,
Encodes the message with a length-delimiter to a buffer. Read more
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,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
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,
Decodes a length-delimited instance of the message from the buffer.
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,
Decodes an instance of the message from a buffer, and merges it into
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,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.Source§impl PartialEq for PasswordDeviceAdmission
impl PartialEq for PasswordDeviceAdmission
impl StructuralPartialEq for PasswordDeviceAdmission
Auto Trait Implementations§
impl Freeze for PasswordDeviceAdmission
impl RefUnwindSafe for PasswordDeviceAdmission
impl Send for PasswordDeviceAdmission
impl Sync for PasswordDeviceAdmission
impl Unpin for PasswordDeviceAdmission
impl UnsafeUnpin for PasswordDeviceAdmission
impl UnwindSafe for PasswordDeviceAdmission
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more