pub struct HalfKey { /* private fields */ }
Expand description
Represents a half-key used for the Proof-of-Relay.
Half-key is equivalent to a non-zero scalar in the field used by secp256k1, but the type itself does not validate nor enforce this fact.
Implementations§
Source§impl HalfKey
impl HalfKey
Sourcepub fn to_challenge(&self) -> HalfKeyChallenge
pub fn to_challenge(&self) -> HalfKeyChallenge
Converts the non-zero scalar represented by this half-key into the half-key challenge. This operation naturally enforces the underlying scalar to be non-zero.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for HalfKey
impl<'de> Deserialize<'de> for HalfKey
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<HalfKey> for HalfKeyChallenge
impl From<HalfKey> for HalfKeyChallenge
impl Copy for HalfKey
impl Eq for HalfKey
impl StructuralPartialEq for HalfKey
Auto Trait Implementations§
impl Freeze for HalfKey
impl RefUnwindSafe for HalfKey
impl Send for HalfKey
impl Sync for HalfKey
impl Unpin for HalfKey
impl UnwindSafe for HalfKey
Blanket Implementations§
§impl<T, U> AsByteSlice<T> for U
impl<T, U> AsByteSlice<T> for U
fn as_byte_slice(&self) -> &[u8] ⓘ
§impl<U> AsSliceOf for U
impl<U> AsSliceOf for U
fn as_slice_of<T>(&self) -> Result<&[T], Error>where
T: FromByteSlice,
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> ToHex for Twhere
T: BytesRepresentable,
impl<T> ToHex for Twhere
T: BytesRepresentable,
Source§impl<T> ToHex for T
impl<T> ToHex for T
Source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
Encode the hex strict representing
self
into the result. Lower case
letters are used (e.g. f9b4ca
)Source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
Encode the hex strict representing
self
into the result. Upper case
letters are used (e.g. F9B4CA
)