/// Data loaded from persistence is missing genesis hash.
MissingGenesis,
/// Data loaded from persistence is missing descriptor.
- MissingDescriptor,
+ MissingDescriptor(KeychainKind),
}
impl fmt::Display for LoadError {
}
LoadError::MissingNetwork => write!(f, "loaded data is missing network type"),
LoadError::MissingGenesis => write!(f, "loaded data is missing genesis hash"),
- LoadError::MissingDescriptor => write!(f, "loaded data is missing descriptor"),
+ LoadError::MissingDescriptor(k) => {
+ write!(f, "loaded data is missing descriptor for keychain {k:?}")
+ }
}
}
}
.indexer
.keychains_added
.get(&KeychainKind::External)
- .ok_or(LoadError::MissingDescriptor)?
+ .ok_or(LoadError::MissingDescriptor(KeychainKind::External))?
.clone();
let change_descriptor = changeset
.indexed_tx_graph
.indexer
.keychains_added
.get(&KeychainKind::Internal)
- .ok_or(LoadError::MissingDescriptor)?
+ .ok_or(LoadError::MissingDescriptor(KeychainKind::Internal))?
.clone();
let (signers, change_signers) =
expected: genesis_hash,
got: None,
},
- LoadError::MissingDescriptor => NewOrLoadError::LoadedDescriptorDoesNotMatch {
- got: None,
- keychain: KeychainKind::External,
- },
+ LoadError::MissingDescriptor(keychain) => {
+ NewOrLoadError::LoadedDescriptorDoesNotMatch {
+ got: None,
+ keychain,
+ }
+ }
})?;
if wallet.network != network {
return Err(NewOrLoadError::LoadedNetworkDoesNotMatch {