[][src]Enum bitcoin::util::psbt::Error

pub enum Error {
    InvalidMagic,
    InvalidSeparator,
    InvalidKey(Key),
    InvalidProprietaryKey,
    DuplicateKey(Key),
    UnsignedTxHasScriptSigs,
    UnsignedTxHasScriptWitnesses,
    MustHaveUnsignedTx,
    NoMorePairs,
    UnexpectedUnsignedTx {
        expected: Transaction,
        actual: Transaction,
    },
    NonStandardSigHashType(u32),
    HashParseError(Error),
    InvalidPreimageHashPair {
        hash_type: PsbtHash,
        preimage: Vec<u8>,
        hash: Vec<u8>,
    },
    MergeConflict(String),
    ConsensusEncoding,
}

Ways that a Partially Signed Transaction might fail.

Variants

InvalidMagic

Magic bytes for a PSBT must be the ASCII for "psbt" serialized in most significant byte order.

InvalidSeparator

The separator for a PSBT must be 0xff.

InvalidKey(Key)

Known keys must be according to spec.

InvalidProprietaryKey

Non-proprietary key type found when proprietary key was expected

DuplicateKey(Key)

Keys within key-value map should never be duplicated.

UnsignedTxHasScriptSigs

The scriptSigs for the unsigned transaction must be empty.

UnsignedTxHasScriptWitnesses

The scriptWitnesses for the unsigned transaction must be empty.

MustHaveUnsignedTx

A PSBT must have an unsigned transaction.

NoMorePairs

Signals that there are no more key-value pairs in a key-value map.

UnexpectedUnsignedTx

Attempting to merge with a PSBT describing a different unsigned transaction.

Fields of UnexpectedUnsignedTx

expected: Transaction

Expected

actual: Transaction

Actual

NonStandardSigHashType(u32)

Unable to parse as a standard SigHash type.

HashParseError(Error)

Parsing errors from bitcoin_hashes

InvalidPreimageHashPair

The pre-image must hash to the correponding psbt hash

Fields of InvalidPreimageHashPair

hash_type: PsbtHash

Hash-type

preimage: Vec<u8>

Pre-image

hash: Vec<u8>

Hash value

MergeConflict(String)

Data inconsistency/conflicting data during merge procedure

ConsensusEncoding

Serialization error in bitcoin consensus-encoded structures

Trait Implementations

impl From<Error> for Error[src]

impl Clone for Error[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl PartialEq<Error> for Error[src]

impl Eq for Error[src]

impl Display for Error[src]

impl Debug for Error[src]

impl Error for Error[src]

fn description(&self) -> &str1.0.0[src]

This method is soft-deprecated. Read more

fn cause(&self) -> Option<&dyn Error>1.0.0[src]

Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

The lower-level cause of this error, if any. Read more

fn source(&self) -> Option<&(dyn Error + 'static)>1.30.0[src]

The lower-level source of this error, if any. Read more

Auto Trait Implementations

impl Unpin for Error

impl Sync for Error

impl Send for Error

impl UnwindSafe for Error

impl RefUnwindSafe for Error

Blanket Implementations

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

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

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

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[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<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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