pub enum Error {
Show 15 variants
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,
}
Expand description
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.
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
MergeConflict(String)
Data inconsistency/conflicting data during merge procedure
ConsensusEncoding
Serialization error in bitcoin consensus-encoded structures