Invoice

Struct Invoice 

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

NB: Invoice fields are non-public since each time we update them we must clear signature

Implementations§

Source§

impl Invoice

Source

pub fn version(&self) -> &u8

Method borrowing Invoice::version field. Version byte, always 0 for the initial version

Source

pub fn amount(&self) -> &AmountExt

Method borrowing Invoice::amount field. Amount in the specified asset - a price per single item, if quantity

Source

pub fn beneficiary(&self) -> &Beneficiary

Method borrowing Invoice::beneficiary field. Main beneficiary. Separating the first beneficiary into a standalone

Source

pub fn alt_beneficiaries(&self) -> &Vec<Beneficiary>

Method borrowing Invoice::alt_beneficiaries field. List of beneficiary ordered in most desirable-first order, which follow

Source

pub fn asset(&self) -> &Option<AssetId>

Method borrowing Invoice::asset field. AssetId can also be used to define blockchain. If it’s empty it implies

Source

pub fn expiry(&self) -> &Option<NaiveDateTime>

Method borrowing Invoice::expiry field.

Source

pub fn recurrent(&self) -> &Recurrent

Method borrowing Invoice::recurrent field. Interval between recurrent payments

Source

pub fn quantity(&self) -> &Option<Quantity>

Method borrowing Invoice::quantity field.

Source

pub fn currency_requirement(&self) -> &Option<CurrencyData>

Method borrowing Invoice::currency_requirement field. If the price of the asset provided by fiat provider URL goes below this

Source

pub fn merchant(&self) -> &Option<String>

Method borrowing Invoice::merchant field.

Source

pub fn purpose(&self) -> &Option<String>

Method borrowing Invoice::purpose field.

Source

pub fn details(&self) -> &Option<Details>

Method borrowing Invoice::details field.

Source

pub fn signature(&self) -> &Option<(PublicKey, Signature)>

Method borrowing Invoice::signature field.

Source

pub fn consignment_endpoints(&self) -> &Vec<ConsignmentEndpoint>

Method borrowing Invoice::consignment_endpoints field. List of nodes which are able to accept RGB consignment

Source

pub fn unknown(&self) -> &Stream

Method borrowing Invoice::unknown field.

Source§

impl Invoice

Source

pub fn new( beneficiary: Beneficiary, amount: Option<u64>, asset: Option<AssetId>, ) -> Invoice

Source

pub fn with_descriptor( descr: Descriptor<DescriptorPublicKey>, amount: Option<u64>, chain: &Chain, ) -> Invoice

Source

pub fn with_address(address: Address, amount: Option<u64>) -> Invoice

Source

pub fn classify_asset(&self, chain: Option<Chain>) -> AssetClass

Source

pub fn beneficiaries(&self) -> BeneficiariesIter<'_>

Source

pub fn set_amount(&mut self, amount: AmountExt) -> bool

Source

pub fn set_recurrent(&mut self, recurrent: Recurrent) -> bool

Source

pub fn set_expiry(&mut self, expiry: NaiveDateTime) -> bool

Source

pub fn set_no_expiry(&mut self) -> bool

Source

pub fn set_quantity(&mut self, quantity: Quantity) -> bool

Source

pub fn remove_quantity(&mut self) -> bool

Source

pub fn set_currency_requirement(&mut self, currency_data: CurrencyData) -> bool

Source

pub fn remove_currency_requirement(&mut self) -> bool

Source

pub fn set_merchant(&mut self, merchant: String) -> bool

Source

pub fn remove_merchant(&mut self) -> bool

Source

pub fn set_purpose(&mut self, purpose: String) -> bool

Source

pub fn remove_purpose(&mut self) -> bool

Source

pub fn set_details(&mut self, details: Details) -> bool

Source

pub fn remove_details(&mut self) -> bool

Source

pub fn signature_hash(&self) -> MerkleNode

Source

pub fn set_signature(&mut self, pubkey: PublicKey, signature: Signature)

Source

pub fn remove_signature(&mut self)

Trait Implementations§

Source§

impl Clone for Invoice

Source§

fn clone(&self) -> Invoice

Returns a duplicate 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 Debug for Invoice

Source§

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

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

impl Display for Invoice

Source§

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

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

impl FromStr for Invoice

Source§

type Err = Error

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl Ord for Invoice

Source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for Invoice

Source§

fn eq(&self, other: &Invoice) -> 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 PartialOrd for Invoice

Source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Strategy for Invoice

Source§

const HRP: &'static str = "i"

Bech32 HRP prefix used by a type
Source§

type Strategy = CompressedStrictEncoding

Specific strategy used for automatic implementation of all Bech32-related traits.
Source§

impl StrictDecode for Invoice

Source§

fn strict_decode<D: Read>(d: D) -> Result<Self, Error>

Decode with the given std::io::Read instance; must either construct an instance or return implementation-specific error type.
Source§

fn strict_deserialize(data: impl AsRef<[u8]>) -> Result<Self, Error>

Tries to deserialize byte array into the current type using StrictDecode::strict_decode. If there are some data remains in the buffer once deserialization is completed, fails with Error::DataNotEntirelyConsumed. Use io::Cursor over the buffer and StrictDecode::strict_decode to avoid such failures.
Source§

fn strict_file_load(path: impl AsRef<Path>) -> Result<Self, Error>

Reads data from file at path and reconstructs object from it. Fails with Error::DataNotEntirelyConsumed if file contains remaining data after the object reconstruction.
Source§

impl StrictEncode for Invoice

Source§

fn strict_encode<E: Write>(&self, e: E) -> Result<usize, Error>

Encode with the given std::io::Write instance; must return result with either amount of bytes encoded – or implementation-specific error type.
Source§

fn strict_serialize(&self) -> Result<Vec<u8>, Error>

Serializes data as a byte array using StrictEncode::strict_encode function
Source§

fn strict_file_save(&self, path: impl AsRef<Path>) -> Result<usize, Error>

Saves data to a file at a given path. If the file does not exists, attempts to create the file. If the file already exists, it gets truncated.
Source§

impl Eq for Invoice

Source§

impl StructuralPartialEq for Invoice

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromBech32Str for T

Source§

const HRP: &'static str = T::HRP

Specifies which HRP is used by Bech32 string representing this data type
Source§

fn from_bech32_str(s: &str) -> Result<T, Error>

Constructs type from the provided Bech32 string, or fails with Error
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> ToBech32String for T

Source§

fn to_bech32_string(&self) -> String

Creates Bech32 string with appropriate type data representation
Source§

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

Source§

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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
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.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> VerifyEq for T
where T: Eq,

Source§

fn verify_eq(&self, other: &T) -> bool

Verifies commit-equivalence of two instances of the same type.