Enum miniscript::miniscript::analyzable::AnalysisError
source · pub enum AnalysisError {
SiglessBranch,
RepeatedPubkeys,
BranchExceedResouceLimits,
HeightTimelockCombination,
Malleable,
ContainsRawPkh,
}
Expand description
Possible reasons Miniscript guarantees can fail We currently mark Miniscript as Non-Analyzable if
- It is unsafe(does not require a digital signature to spend it)
- It contains a unspendable path because of either a. Resource limitations b. Timelock Mixing
- The script is malleable and thereby some of satisfaction weight guarantees are not satisfied.
- It has repeated publickeys
Variants
SiglessBranch
Top level is not safe.
RepeatedPubkeys
Repeated Pubkeys
BranchExceedResouceLimits
Miniscript contains at least one path that exceeds resource limits
HeightTimelockCombination
Contains a combination of heightlock and timelock
Malleable
Malleable script
ContainsRawPkh
Contains partial descriptor raw pkh
Trait Implementations
sourceimpl Debug for AnalysisError
impl Debug for AnalysisError
sourceimpl Display for AnalysisError
impl Display for AnalysisError
sourceimpl Error for AnalysisError
impl Error for AnalysisError
sourcefn cause(&self) -> Option<&dyn Error>
fn cause(&self) -> Option<&dyn Error>
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
1.30.0 · sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
sourceimpl PartialEq<AnalysisError> for AnalysisError
impl PartialEq<AnalysisError> for AnalysisError
sourcefn eq(&self, other: &AnalysisError) -> bool
fn eq(&self, other: &AnalysisError) -> bool
impl StructuralPartialEq for AnalysisError
Auto Trait Implementations
impl RefUnwindSafe for AnalysisError
impl Send for AnalysisError
impl Sync for AnalysisError
impl Unpin for AnalysisError
impl UnwindSafe for AnalysisError
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more