Struct secp256k1_sys::XOnlyPublicKey
source · #[repr(C)]pub struct XOnlyPublicKey(/* private fields */);
Implementations§
source§impl XOnlyPublicKey
impl XOnlyPublicKey
sourcepub fn cmp_fast_unstable(&self, other: &Self) -> Ordering
pub fn cmp_fast_unstable(&self, other: &Self) -> Ordering
Like cmp::Ord
but faster and with no guarantees across library versions.
The inner byte array of Self
is passed across the FFI boundry, as such there are
no guarantees on its layout and it is subject to change across library versions,
even minor versions. For this reason comparison function implementations (e.g.
Ord
, PartialEq
) take measures to ensure the data will remain constant (e.g., by
serializing it to a guaranteed format). This means they may be slow, this function
provides a faster comparison if you know that your types come from the same library
version.
sourcepub fn eq_fast_unstable(&self, other: &Self) -> bool
pub fn eq_fast_unstable(&self, other: &Self) -> bool
Like cmp::Eq
but faster and with no guarantees across library versions.
The inner byte array of Self
is passed across the FFI boundry, as such there are
no guarantees on its layout and it is subject to change across library versions,
even minor versions. For this reason comparison function implementations (e.g.
Ord
, PartialEq
) take measures to ensure the data will remain constant (e.g., by
serializing it to a guaranteed format). This means they may be slow, this function
provides a faster equality check if you know that your types come from the same
library version.
source§impl XOnlyPublicKey
impl XOnlyPublicKey
sourcepub unsafe fn new() -> Self
pub unsafe fn new() -> Self
Creates an “uninitialized” FFI x-only public key which is zeroed out
Safety
If you pass this to any FFI functions, except as an out-pointer, the result is likely to be an assertation failure and process termination.
sourcepub unsafe fn from_array_unchecked(data: [c_uchar; 64]) -> Self
pub unsafe fn from_array_unchecked(data: [c_uchar; 64]) -> Self
Create a new x-only public key usable for the FFI interface from raw bytes
Safety
Does not check the validity of the underlying representation. If it is invalid the result may be assertation failures (and process aborts) from the underlying library. You should not use this method except with data that you obtained from the FFI interface of the same version of this library.
sourcepub fn underlying_bytes(self) -> [c_uchar; 64]
pub fn underlying_bytes(self) -> [c_uchar; 64]
Returns the underlying FFI opaque representation of the x-only public key
You should not use this unless you really know what you are doing. It is essentially only useful for extending the FFI interface itself.
Trait Implementations§
source§impl CPtr for XOnlyPublicKey
impl CPtr for XOnlyPublicKey
source§impl Clone for XOnlyPublicKey
impl Clone for XOnlyPublicKey
source§fn clone(&self) -> XOnlyPublicKey
fn clone(&self) -> XOnlyPublicKey
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for XOnlyPublicKey
impl Debug for XOnlyPublicKey
source§impl Hash for XOnlyPublicKey
Available on non-secp256k1_fuzz
only.
impl Hash for XOnlyPublicKey
secp256k1_fuzz
only.source§impl<I> Index<I> for XOnlyPublicKey
impl<I> Index<I> for XOnlyPublicKey
source§impl Ord for XOnlyPublicKey
Available on non-secp256k1_fuzz
only.
impl Ord for XOnlyPublicKey
secp256k1_fuzz
only.source§fn cmp(&self, other: &XOnlyPublicKey) -> Ordering
fn cmp(&self, other: &XOnlyPublicKey) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for XOnlyPublicKey
Available on non-secp256k1_fuzz
only.
impl PartialEq for XOnlyPublicKey
secp256k1_fuzz
only.source§impl PartialOrd for XOnlyPublicKey
Available on non-secp256k1_fuzz
only.
impl PartialOrd for XOnlyPublicKey
secp256k1_fuzz
only.source§fn partial_cmp(&self, other: &XOnlyPublicKey) -> Option<Ordering>
fn partial_cmp(&self, other: &XOnlyPublicKey) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moreimpl Copy for XOnlyPublicKey
impl Eq for XOnlyPublicKey
secp256k1_fuzz
only.