pub struct SphinxHeader {
pub shared_secret: PublicKey,
pub routing_info: Box<EncapsulatedRoutingInformation>,
}Fields§
Alpha element
routing_info: Box<EncapsulatedRoutingInformation>Implementations§
Source§impl SphinxHeader
impl SphinxHeader
Sourcepub fn process_with_expanded_secret(
self,
expanded_secret: &ExpandedSharedSecret,
) -> Result<ProcessedHeader, Error>
pub fn process_with_expanded_secret( self, expanded_secret: &ExpandedSharedSecret, ) -> Result<ProcessedHeader, Error>
Processes the header with the provided expanded shared secret It could be useful in the situation where caller has already derived the value, because, for example, he had to obtain the reply tag.
pub fn process( self, node_secret_key: &StaticSecret, ) -> Result<ProcessedHeader, Error>
Using the provided packet’s alpha and node’s secret key, expand it into the output of all required random oracles
pub fn ensure_header_integrity( &self, expanded_shared_secret: &ExpandedSharedSecret, ) -> Result<(), Error>
pub fn unchecked_process_as_current( self, node_secret_key: &StaticSecret, ) -> Result<ProcessedHeader, Error>
👎Deprecated
pub fn unchecked_process_as_legacy( self, node_secret_key: &StaticSecret, ) -> Result<ProcessedHeader, Error>
👎Deprecated
pub fn to_bytes(&self) -> Vec<u8> ⓘ
pub fn from_bytes(bytes: &[u8]) -> Result<SphinxHeader, Error>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SphinxHeader
impl RefUnwindSafe for SphinxHeader
impl Send for SphinxHeader
impl Sync for SphinxHeader
impl Unpin for SphinxHeader
impl UnwindSafe for SphinxHeader
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
Source§impl<T> Deprecatable for T
impl<T> Deprecatable for T
fn deprecate(self) -> Deprecated<Self>where
Self: Sized,
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 moreSource§impl<T> OptionalSet for T
impl<T> OptionalSet for T
Source§fn with_optional<F, T>(self, f: F, val: Option<T>) -> Self
fn with_optional<F, T>(self, f: F, val: Option<T>) -> Self
If the value is available (i.e.
Some), the provided closure is applied.
Otherwise self is returned with no modifications.Source§fn with_validated_optional<F, T, V, E>(
self,
f: F,
value: Option<T>,
validate: V,
) -> Result<Self, E>
fn with_validated_optional<F, T, V, E>( self, f: F, value: Option<T>, validate: V, ) -> Result<Self, E>
If the value is available (i.e.
Some) it is validated and then the provided closure is applied.
Otherwise self is returned with no modifications.Source§fn with_optional_env<F, T>(self, f: F, val: Option<T>, env_var: &str) -> Self
fn with_optional_env<F, T>(self, f: F, val: Option<T>, env_var: &str) -> Self
If the value is available (i.e.
Some), the provided closure is applied.
Otherwise, if the environment was configured and the corresponding variable was set,
the value is parsed using the FromStr implementation and the closure is applied on that instead.
Finally, if none of those were available, self is returned with no modifications.Source§fn with_optional_custom_env<F, T, G>(
self,
f: F,
val: Option<T>,
env_var: &str,
parser: G,
) -> Self
fn with_optional_custom_env<F, T, G>( self, f: F, val: Option<T>, env_var: &str, parser: G, ) -> Self
If the value is available (i.e.
Some), the provided closure is applied.
Otherwise, if the environment was configured and the corresponding variable was set,
the value is parsed using the provided parser and the closure is applied on that instead.
Finally, if none of those were available, self is returned with no modifications.