Struct flow_sdk::algorithms::secp256k1::schnorrsig::PublicKey [−][src]
pub struct PublicKey(_);
Expand description
A Schnorr public key, used for verification of Schnorr signatures
Implementations
Obtains a raw const pointer suitable for use with FFI functions
Obtains a raw mutable pointer suitable for use with FFI functions
Creates a new Schnorr public key from a Schnorr key pair
Creates a Schnorr public key directly from a slice
Serialize the key as a byte-encoded pair of values. In compressed form the y-coordinate is represented by only a single bit, as x determines it up to one bit.
pub fn tweak_add_assign<V>(
&mut self,
secp: &Secp256k1<V>,
tweak: &[u8]
) -> Result<bool, Error> where
V: Verification,
pub fn tweak_add_assign<V>(
&mut self,
secp: &Secp256k1<V>,
tweak: &[u8]
) -> Result<bool, Error> where
V: Verification,
Tweak an x-only PublicKey by adding the generator multiplied with the given tweak to it.
Returns a boolean representing the parity of the tweaked key, which can be provided to
tweak_add_check
which can be used to verify a tweak more efficiently than regenerating
it and checking equality. Will return an error if the resulting key would be invalid or
if the tweak was not a 32-byte length slice.
pub fn tweak_add_check<V>(
&self,
secp: &Secp256k1<V>,
tweaked_key: &PublicKey,
tweaked_parity: bool,
tweak: [u8; 32]
) -> bool where
V: Verification,
pub fn tweak_add_check<V>(
&self,
secp: &Secp256k1<V>,
tweaked_key: &PublicKey,
tweaked_parity: bool,
tweak: [u8; 32]
) -> bool where
V: Verification,
Verify that a tweak produced by tweak_add_assign
was computed correctly
Should be called on the original untweaked key. Takes the tweaked key and
output parity from tweak_add_assign
as input.
Currently this is not much more efficient than just recomputing the tweak and checking equality. However, in future this API will support batch verification, which is significantly faster, so it is wise to design protocols with this in mind.
Trait Implementations
Creates a new Schnorr public key from a FFI x-only public key
Performs the conversion.
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for PublicKey
impl UnwindSafe for PublicKey
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.
Wrap the input message T
in a tonic::Request
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more