pub struct OnionDataResponsePayload {
pub real_pk: PublicKey,
pub payload: Vec<u8>,
}
Expand description
Unencrypted payload of OnionDataResponse
packet.
Inner payload is encrypted with long term PublicKey
to prove to the receiver
that the sender owns it.
Serialized form:
Length | Content |
---|---|
32 | Long term PublicKey |
variable | Payload |
where payload is encrypted OnionDataResponseInnerPayload
Fields§
§real_pk: PublicKey
Long term PublicKey
that was used for the inner encrypted payload.
payload: Vec<u8>
Inner encrypted payload.
Implementations§
Source§impl OnionDataResponsePayload
impl OnionDataResponsePayload
Sourcepub fn new(
shared_secret: &PrecomputedKey,
real_pk: PublicKey,
nonce: &Nonce,
payload: &OnionDataResponseInnerPayload,
) -> OnionDataResponsePayload
pub fn new( shared_secret: &PrecomputedKey, real_pk: PublicKey, nonce: &Nonce, payload: &OnionDataResponseInnerPayload, ) -> OnionDataResponsePayload
Create OnionDataResponsePayload
from OnionDataResponseInnerPayload
encrypting it with shared_key
and nonce
Sourcepub fn get_payload(
&self,
nonce: &Nonce,
shared_secret: &PrecomputedKey,
) -> Result<OnionDataResponseInnerPayload, GetPayloadError>
pub fn get_payload( &self, nonce: &Nonce, shared_secret: &PrecomputedKey, ) -> Result<OnionDataResponseInnerPayload, GetPayloadError>
Decrypt payload and try to parse it as OnionDataResponseInnerPayload
.
Returns Error
in case of failure:
- fails to decrypt
- fails to parse as
OnionDataResponseInnerPayload
Trait Implementations§
Source§impl Clone for OnionDataResponsePayload
impl Clone for OnionDataResponsePayload
Source§fn clone(&self) -> OnionDataResponsePayload
fn clone(&self) -> OnionDataResponsePayload
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 moreSource§impl Debug for OnionDataResponsePayload
impl Debug for OnionDataResponsePayload
Source§impl FromBytes for OnionDataResponsePayload
impl FromBytes for OnionDataResponsePayload
Source§fn from_bytes(
i: &[u8],
) -> IResult<&[u8], OnionDataResponsePayload, (&[u8], ErrorKind)>
fn from_bytes( i: &[u8], ) -> IResult<&[u8], OnionDataResponsePayload, (&[u8], ErrorKind)>
Deserialize struct using
nom
from raw bytesSource§impl PartialEq for OnionDataResponsePayload
impl PartialEq for OnionDataResponsePayload
Source§impl ToBytes for OnionDataResponsePayload
impl ToBytes for OnionDataResponsePayload
impl Eq for OnionDataResponsePayload
impl StructuralPartialEq for OnionDataResponsePayload
Auto Trait Implementations§
impl Freeze for OnionDataResponsePayload
impl RefUnwindSafe for OnionDataResponsePayload
impl Send for OnionDataResponsePayload
impl Sync for OnionDataResponsePayload
impl Unpin for OnionDataResponsePayload
impl UnwindSafe for OnionDataResponsePayload
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