mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-02-25 07:17:40 +01:00
Merge pull request #976 from TheBlueMatt/2021-06-actionable-errors
Make errors actionable when failing to deserialize a ChannelManager
This commit is contained in:
commit
e7d3781dd7
2 changed files with 5 additions and 1 deletions
|
@ -4667,6 +4667,8 @@ impl<'a, Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref>
|
|||
log_bytes!(channel.channel_id()), monitor.get_latest_update_id(), channel.get_latest_monitor_update_id());
|
||||
log_error!(args.logger, " The chain::Watch API *requires* that monitors are persisted durably before returning,");
|
||||
log_error!(args.logger, " client applications must ensure that ChannelMonitor data is always available and the latest to avoid funds loss!");
|
||||
log_error!(args.logger, " Without the latest ChannelMonitor we cannot continue without risking funds.");
|
||||
log_error!(args.logger, " Please ensure the chain::Watch API requirements are met and file a bug report at https://github.com/rust-bitcoin/rust-lightning");
|
||||
return Err(DecodeError::InvalidValue);
|
||||
} else if channel.get_cur_holder_commitment_transaction_number() > monitor.get_cur_holder_commitment_number() ||
|
||||
channel.get_revoked_counterparty_commitment_transaction_number() > monitor.get_min_seen_secret() ||
|
||||
|
@ -4686,6 +4688,8 @@ impl<'a, Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref>
|
|||
log_error!(args.logger, "Missing ChannelMonitor for channel {} needed by ChannelManager.", log_bytes!(channel.channel_id()));
|
||||
log_error!(args.logger, " The chain::Watch API *requires* that monitors are persisted durably before returning,");
|
||||
log_error!(args.logger, " client applications must ensure that ChannelMonitor data is always available and the latest to avoid funds loss!");
|
||||
log_error!(args.logger, " Without the ChannelMonitor we cannot continue without risking funds.");
|
||||
log_error!(args.logger, " Please ensure the chain::Watch API requirements are met and file a bug report at https://github.com/rust-bitcoin/rust-lightning");
|
||||
return Err(DecodeError::InvalidValue);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -439,7 +439,7 @@ impl TestLogger {
|
|||
impl Logger for TestLogger {
|
||||
fn log(&self, record: &Record) {
|
||||
*self.lines.lock().unwrap().entry((record.module_path.to_string(), format!("{}", record.args))).or_insert(0) += 1;
|
||||
if self.level >= record.level {
|
||||
if record.level >= self.level {
|
||||
println!("{:<5} {} [{} : {}, {}] {}", record.level.to_string(), self.id, record.module_path, record.file, record.line, record.args);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue