Enum psbt::Error

source ·
#[non_exhaustive]
pub enum Error {
Show 17 variants InvalidMagic, MissingUtxo, InvalidSeparator, PsbtUtxoOutOfbounds, InvalidKey(Key), InvalidProprietaryKey, DuplicateKey(Key), UnsignedTxHasScriptSigs, UnsignedTxHasScriptWitnesses, MustHaveUnsignedTx, NoMorePairs, UnexpectedUnsignedTx { expected: Box<Transaction, Global>, actual: Box<Transaction, Global>, }, NonStandardSighashType(u32), HashParse(Error), InvalidPreimageHashPair { hash_type: PsbtHash, preimage: Box<[u8], Global>, hash: Box<[u8], Global>, }, CombineInconsistentKeySources(Box<ExtendedPubKey, Global>), ConsensusEncoding,
}
Expand description

Ways that a Partially Signed Transaction might fail.

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.
§

InvalidMagic

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

§

MissingUtxo

Missing both the witness and non-witness utxo.

§

InvalidSeparator

The separator for a PSBT must be 0xff.

§

PsbtUtxoOutOfbounds

Returned when output index is out of bounds in relation to the output in non-witness UTXO.

§

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

Fields

§expected: Box<Transaction, Global>

Expected

§actual: Box<Transaction, Global>

Actual

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

§

NonStandardSighashType(u32)

Unable to parse as a standard sighash type.

§

HashParse(Error)

Parsing errors from bitcoin_hashes

§

InvalidPreimageHashPair

Fields

§hash_type: PsbtHash

Hash-type

§preimage: Box<[u8], Global>

Pre-image

§hash: Box<[u8], Global>

Hash value

The pre-image must hash to the correponding psbt hash

§

CombineInconsistentKeySources(Box<ExtendedPubKey, Global>)

Conflicting data during combine procedure: global extended public key has inconsistent key sources

§

ConsensusEncoding

Serialization error in bitcoin consensus-encoded structures

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to provide by using demand. Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Verifies commit-equivalence of two instances of the same type.