Note

Struct Note 

Source
pub struct Note { /* private fields */ }
Expand description

A Note is a text and signatures.

Implementations§

Source§

impl Note

Source

pub fn new(text: &[u8], existing_sigs: &[Signature]) -> Result<Self, NoteError>

Returns a new note, ensuring that the text is well-formed, and appending the provided signatures.

§Errors

Returns a NoteError::MalformedNote if the text is larger than we’re willing to parse, cannot be decoded as UTF-8, or contains any non-newline ASCII control characters.

Source

pub fn from_bytes(msg: &[u8]) -> Result<Self, NoteError>

Parses the message msg into a note, returning a NoteError if any of the text or signatures are malformed.

§Errors

Returns a NoteError::MalformedNote if the message is larger than we’re willing to parse, cannot be decoded as UTF-8, contains any non-newline ASCII control characters, or is otherwise invalid.

Source

pub fn verify( &self, known: &impl Verifiers, ) -> Result<(Vec<Signature>, Vec<Signature>), NoteError>

Checks signatures on the note for those from known verifiers.

For each signature in the message, Note::verify calls known.verifier to find a verifier. If known.verifier returns a verifier and the verifier accepts the signature, Note::verify includes the signature in the returned list of verified signatures. If known.verifier returns a VerificationError::UnknownKey, Note::verify includes the signature in the returned list of unverified signatures.

§Errors

If known.verifier returns a verifier but the verifier rejects the signature, Note::verify returns a NoteError::InvalidSignature. If known.verifier returns any other error, Note::verify returns that error.

If no known verifier has signed an otherwise valid note, Note::verify returns an NoteError::UnverifiedNote.

Source

pub fn add_sigs(&mut self, signers: &[&dyn Signer]) -> Result<(), NoteError>

Signs the note with the given signers. The new signatures from signers are listed in the encoded message after the existing signatures already present in n.sigs. If any signer uses the same key as an existing signature, the existing signature is removed.

§Errors

Returns an error if any signers have invalid names. Names must be non-empty and not have any Unicode spaces or pluses.

Source

pub fn to_bytes(&self) -> Vec<u8>

Returns a well-formed signed note.

Source

pub fn text(&self) -> &[u8]

Returns the note’s text.

Trait Implementations§

Source§

impl Debug for Note

Source§

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

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

impl PartialEq for Note

Source§

fn eq(&self, other: &Note) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Note

Auto Trait Implementations§

§

impl Freeze for Note

§

impl RefUnwindSafe for Note

§

impl Send for Note

§

impl Sync for Note

§

impl Unpin for Note

§

impl UnwindSafe for Note

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

Source§

type Output = T

Should always be Self
Source§

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

Source§

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>,

Source§

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.