[][src]Enum lnpbp::bp::dbc::Error

pub enum Error {
    Lnpbp1Commitment(Error),
    InvalidProofStructure,
    InvalidOpReturnKey,
    InvalidKeyData,
    UnsupportedWitnessVersion,
    LockscriptParseError,
    LockscriptContainsNoKeys,
    LockscriptContainsUnknownHashes,
    LockscriptKeyNotFound,
}

Different error types which may happen during deterministic bitcoin commitment generation procedures

Variants

Lnpbp1Commitment(Error)

Indicates failure of applying commitment tweak to a public key

InvalidProofStructure

Unable to verify commitment due to an incorrect proof data structure

InvalidOpReturnKey

LNPBP-2 standard requires OP_RETURN-based commitments to be produced only if serialized version of a tweaked pubkey starts with 02 byte. This error indicates that the provided public key does not satisfy this condition

InvalidKeyData

Can't deserealized public key from bitcoin script push op code

UnsupportedWitnessVersion

Wrong witness version, may be you need to upgrade used library version

LockscriptParseError

Miniscript was unable to parse provided script data; they are either invalid or miniscript library contains a bug

LockscriptContainsNoKeys

Provided script contains no keys, so commitment or its verification is impossible

LockscriptContainsUnknownHashes

Bitcoin script contains public key hashes with no matching public keys provided. Commitment procedure fails since it can't ensure that commitment include all public key.

LockscriptKeyNotFound

Attempt to commit into LockScript has failed: the key that must contain the commitment/tweak was not found either in plain nor hash form in any of the script branches

Trait Implementations

impl Clone for Error[src]

impl Copy for Error[src]

impl Debug for Error[src]

impl Display for Error[src]

impl Eq for Error[src]

impl Error for Error[src]

impl From<Error> for String[src]

impl From<Error> for Error[src]

impl From<Error> for Error[src]

impl From<Error> for Error[src]

impl From<PubkeyParseError> for Error[src]

impl PartialEq<Error> for Error[src]

impl StructuralEq for Error[src]

impl StructuralPartialEq for Error[src]

Auto Trait Implementations

impl RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl UnwindSafe for Error

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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