diff --git a/crates/bin/pcli/src/command/view/tx.rs b/crates/bin/pcli/src/command/view/tx.rs index 4604d0aafb..3031720d4f 100644 --- a/crates/bin/pcli/src/command/view/tx.rs +++ b/crates/bin/pcli/src/command/view/tx.rs @@ -382,8 +382,19 @@ impl TxCmd { "Claim Liquidity Position Reward".to_string(), "".to_string(), ], - penumbra_transaction::ActionView::Ics20Withdrawal(_) => { - ["Ics20 Withdrawal".to_string(), "".to_string()] + penumbra_transaction::ActionView::Ics20Withdrawal(w) => { + let unit = w.denom.best_unit_for(w.amount); + [ + "Ics20 Withdrawal".to_string(), + // TODO: why doesn't format_value include the unit? + format!( + "{}{} via {} to {}", + unit.format_value(w.amount), + unit, + w.source_channel, + w.destination_chain_address, + ), + ] } penumbra_transaction::ActionView::DaoDeposit(_) => { ["Dao Deposit".to_string(), "".to_string()] diff --git a/crates/core/component/ibc/src/ics20_withdrawal.rs b/crates/core/component/ibc/src/ics20_withdrawal.rs index a3e862b4c2..9a0b0dd423 100644 --- a/crates/core/component/ibc/src/ics20_withdrawal.rs +++ b/crates/core/component/ibc/src/ics20_withdrawal.rs @@ -34,6 +34,7 @@ pub struct Ics20Withdrawal { // the source channel used for the withdrawal pub source_channel: ChannelId, } + impl Ics20Withdrawal { pub fn value(&self) -> Value { Value {