pub enum TranslateErr<E> {
TranslatorErr(E),
OuterError(Error),
}Expand description
An enum for representing translation errors
Variants§
TranslatorErr(E)
Error inside in the underlying key translation
OuterError(Error)
Error in the final translated structure. In some cases, the translated structure might not be valid under the given context. For example, translating from string keys to x-only keys in wsh descriptors.
Implementations§
Source§impl<E> TranslateErr<E>
impl<E> TranslateErr<E>
Sourcepub fn expect_translator_err(self, msg: &str) -> E
pub fn expect_translator_err(self, msg: &str) -> E
Enum used to capture errors from the Translator trait as well as
context errors from the translated structure.
The errors occurred in translation are captured in the TranslateErr::TranslatorErr
while the errors in the translated structure are captured in the TranslateErr::OuterError
As of taproot upgrade: The following rules apply to the translation of descriptors:
- Legacy/Bare does not allow x_only keys
- SegwitV0 does not allow uncompressed keys and x_only keys
- Tapscript does not allow uncompressed keys
- Translating into multi-path descriptors should have same number of path for all the keys in the descriptor
§Panics
This function will panic if the Error is OutError.
Source§impl TranslateErr<Infallible>
impl TranslateErr<Infallible>
Sourcepub fn into_outer_err(self) -> Error
pub fn into_outer_err(self) -> Error
Remove the impossible “translator error” case and return a context error.
When the translator error type is core::convert::Infallible, which is
impossible to construct, allows unwrapping the outer error without any
panic paths.