Struct OnionPacket
pub struct OnionPacket {
pub version: u8,
pub public_key: Result<PublicKey, Error>,
pub hop_data: [u8; 1300],
pub hmac: [u8; 32],
}
Expand description
BOLT 4 onion packet including hop data for the next peer.
Fields§
§version: u8
BOLT 4 version number.
public_key: Result<PublicKey, Error>
In order to ensure we always return an error on onion decode in compliance with BOLT
#4, we have to
deserialize OnionPacket
s contained in UpdateAddHTLC
messages even if the ephemeral
public key (here) is bogus, so we hold a Result
instead of a PublicKey
as we’d
like.
hop_data: [u8; 1300]
1300 bytes encrypted payload for the next hop.
hmac: [u8; 32]
HMAC to verify the integrity of hop_data.
Trait Implementations§
§impl Clone for OnionPacket
impl Clone for OnionPacket
§fn clone(&self) -> OnionPacket
fn clone(&self) -> OnionPacket
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for OnionPacket
impl Debug for OnionPacket
§impl Hash for OnionPacket
impl Hash for OnionPacket
§impl PartialEq for OnionPacket
impl PartialEq for OnionPacket
§impl Readable for OnionPacket
impl Readable for OnionPacket
§fn read<R>(r: &mut R) -> Result<OnionPacket, DecodeError>where
R: Read,
fn read<R>(r: &mut R) -> Result<OnionPacket, DecodeError>where
R: Read,
Reads a
Self
in from the given Read
.§impl Writeable for OnionPacket
impl Writeable for OnionPacket
impl Eq for OnionPacket
impl StructuralPartialEq for OnionPacket
Auto Trait Implementations§
impl Freeze for OnionPacket
impl RefUnwindSafe for OnionPacket
impl Send for OnionPacket
impl Sync for OnionPacket
impl Unpin for OnionPacket
impl UnwindSafe for OnionPacket
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request