Skip to content

Commit c39ade4

Browse files
committed
fix(chain)!: remove Debug usage and implement Display for CalculateFeeError
Limited to 3 max shown items and added a suffix when there are additional entries.
1 parent f814bbb commit c39ade4

1 file changed

Lines changed: 22 additions & 4 deletions

File tree

crates/chain/src/tx_graph.rs

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -256,10 +256,28 @@ pub enum CalculateFeeError {
256256
impl fmt::Display for CalculateFeeError {
257257
fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
258258
match self {
259-
CalculateFeeError::MissingTxOut(outpoints) => write!(
260-
f,
261-
"missing `TxOut` for one or more of the inputs of the tx: {outpoints:?}",
262-
),
259+
CalculateFeeError::MissingTxOut(outpoints) => {
260+
let max_show = 3;
261+
let shown = outpoints.iter().take(max_show);
262+
let remaining = outpoints.len().saturating_sub(max_show);
263+
264+
write!(f, "missing `TxOut` for input(s)")?;
265+
if outpoints.is_empty() {
266+
write!(f, ": <none>")
267+
} else {
268+
write!(f, ": ")?;
269+
for (i, op) in shown.enumerate() {
270+
if i > 0 {
271+
write!(f, ", ")?;
272+
}
273+
write!(f, "{}", op)?;
274+
}
275+
if remaining > 0 {
276+
write!(f, " (+{} more)", remaining)?;
277+
}
278+
Ok(())
279+
}
280+
}
263281
CalculateFeeError::NegativeFee(fee) => write!(
264282
f,
265283
"transaction is invalid according to the graph and has negative fee: {}",

0 commit comments

Comments
 (0)