Struct schnorr_fun::Message

source ·
pub struct Message<'a, S = Public> {
    pub bytes: Slice<'a, S>,
    pub app_tag: Option<&'static str>,
}
Expand description

A message to be signed.

The S parameter is a Secrecy which is used when signing a verifying to check whether the challenge scalar produced with the message should be secret.

Fields§

§bytes: Slice<'a, S>

The message bytes

§app_tag: Option<&'static str>

The optional application tag to separate the signature from other applications.

Implementations§

source§

impl<'a, S: Secrecy> Message<'a, S>

source

pub fn raw(bytes: &'a [u8]) -> Self

Create a raw message with no app_tag. The message bytes will be passed straight into the challenge hash. Usually, you only use this when signing a pre-hashed message.

source

pub fn empty() -> Self

Create an empty zero byte message.

source

pub fn plain(app_tag: &'static str, bytes: &'a [u8]) -> Self

Signs a plain variable length message.

You must provide an application tag to make sure signatures valid in one context are not valid in another. The tag is used as described here.

source

pub fn is_empty(&self) -> bool

Check if the message is empty with zero length

source

pub fn len(&self) -> usize

Length of the message as it is hashed

Trait Implementations§

source§

impl<'a, S: Clone> Clone for Message<'a, S>

source§

fn clone(&self) -> Message<'a, S>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a, S: Debug> Debug for Message<'a, S>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<S> HashInto for Message<'_, S>

source§

fn hash_into(self, hash: &mut impl Digest)

Asks the item to convert itself to bytes and add itself to hash.
source§

impl<'a, S: PartialEq> PartialEq for Message<'a, S>

source§

fn eq(&self, other: &Message<'a, S>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a, S: Copy> Copy for Message<'a, S>

source§

impl<'a, S> StructuralPartialEq for Message<'a, S>

Auto Trait Implementations§

§

impl<'a, S> RefUnwindSafe for Message<'a, S>
where S: RefUnwindSafe,

§

impl<'a, S> Send for Message<'a, S>
where S: Send,

§

impl<'a, S> Sync for Message<'a, S>
where S: Sync,

§

impl<'a, S> Unpin for Message<'a, S>
where S: Unpin,

§

impl<'a, S> UnwindSafe for Message<'a, S>
where S: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V