Enum invoice::Beneficiary
source · #[non_exhaustive]
pub enum Beneficiary {
Address(Address),
BlindUtxo(ConcealedSeal),
Descriptor(Descriptor<DescriptorPublicKey>),
Psbt(Psbt),
Bolt(LnAddress),
Unknown(Blob),
}
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Address(Address)
Addresses are useful when you do not like to leak public key information
BlindUtxo(ConcealedSeal)
Used by protocols that work with existing UTXOs and can assign some client-validated data to them (like in RGB). We always hide the real UTXO behind the hashed version (using some salt)
Descriptor(Descriptor<DescriptorPublicKey>)
Miniscript-based descriptors allowing custom derivation & key generation
Psbt(Psbt)
Full transaction template in PSBT format
Bolt(LnAddress)
Lightning node receiving the payment. Not the same as lightning invoice
since many of the invoice data now will be part of Invoice
here.
Unknown(Blob)
Fallback option for all future variants
Trait Implementations§
source§impl Clone for Beneficiary
impl Clone for Beneficiary
source§fn clone(&self) -> Beneficiary
fn clone(&self) -> Beneficiary
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for Beneficiary
impl Debug for Beneficiary
source§impl Display for Beneficiary
impl Display for Beneficiary
source§impl From<Address> for Beneficiary
impl From<Address> for Beneficiary
source§impl From<ConcealedSeal> for Beneficiary
impl From<ConcealedSeal> for Beneficiary
source§impl From<Descriptor<DescriptorPublicKey>> for Beneficiary
impl From<Descriptor<DescriptorPublicKey>> for Beneficiary
source§fn from(v: Descriptor<DescriptorPublicKey>) -> Self
fn from(v: Descriptor<DescriptorPublicKey>) -> Self
Converts to this type from the input type.
source§impl From<LnAddress> for Beneficiary
impl From<LnAddress> for Beneficiary
source§impl From<Psbt> for Beneficiary
impl From<Psbt> for Beneficiary
source§impl FromStr for Beneficiary
impl FromStr for Beneficiary
source§impl PartialEq<Beneficiary> for Beneficiary
impl PartialEq<Beneficiary> for Beneficiary
source§fn eq(&self, other: &Beneficiary) -> bool
fn eq(&self, other: &Beneficiary) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl StrictDecode for Beneficiary
impl StrictDecode for Beneficiary
source§fn strict_decode<D: Read>(d: D) -> Result<Self, Error>
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>
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>
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 Beneficiary
impl StrictEncode for Beneficiary
source§fn strict_encode<E: Write>(&self, e: E) -> Result<usize, Error>
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, Global>, Error>
fn strict_serialize(&self) -> Result<Vec<u8, Global>, Error>
Serializes data as a byte array using
StrictEncode::strict_encode
function