confirm --verbose now displays failed transactions
This commit is contained in:
@ -1176,38 +1176,37 @@ fn process_confirm(
|
|||||||
true,
|
true,
|
||||||
) {
|
) {
|
||||||
Ok(status) => {
|
Ok(status) => {
|
||||||
if let Some(result) = status {
|
if let Some(transaction_status) = status {
|
||||||
match result {
|
if config.verbose {
|
||||||
Ok(_) => {
|
match rpc_client.get_confirmed_transaction(
|
||||||
if config.verbose {
|
signature,
|
||||||
match rpc_client.get_confirmed_transaction(
|
solana_transaction_status::TransactionEncoding::Binary,
|
||||||
signature,
|
) {
|
||||||
solana_transaction_status::TransactionEncoding::Binary,
|
Ok(confirmed_transaction) => {
|
||||||
) {
|
println!(
|
||||||
Ok(confirmed_transaction) => {
|
"\nTransaction executed in slot {}:",
|
||||||
println!("\nTransaction:");
|
confirmed_transaction.slot
|
||||||
crate::display::println_transaction(
|
);
|
||||||
&confirmed_transaction
|
crate::display::println_transaction(
|
||||||
.transaction
|
&confirmed_transaction
|
||||||
.transaction
|
.transaction
|
||||||
.decode()
|
.transaction
|
||||||
.expect("Successful decode"),
|
.decode()
|
||||||
&confirmed_transaction.transaction.meta,
|
.expect("Successful decode"),
|
||||||
" ",
|
&confirmed_transaction.transaction.meta,
|
||||||
);
|
" ",
|
||||||
println!();
|
);
|
||||||
Ok(format!("Confirmed in slot {}", confirmed_transaction.slot))
|
}
|
||||||
}
|
Err(err) => {
|
||||||
Err(err) => Ok(format!(
|
println!("Unable to get confirmed transaction details: {}", err)
|
||||||
"Confirmed. Unable to get confirmed transaction details: {}",
|
|
||||||
err
|
|
||||||
)),
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Ok("Confirmed".to_string())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Err(err) => Ok(format!("Transaction failed with error: {}", err)),
|
println!();
|
||||||
|
}
|
||||||
|
|
||||||
|
match transaction_status {
|
||||||
|
Ok(_) => Ok("Confirmed".to_string()),
|
||||||
|
Err(err) => Ok(format!("Transaction failed: {}", err)),
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Ok("Not found".to_string())
|
Ok("Not found".to_string())
|
||||||
@ -3456,10 +3455,7 @@ mod tests {
|
|||||||
config.command = CliCommand::Confirm(any_signature);
|
config.command = CliCommand::Confirm(any_signature);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
process_command(&config).unwrap(),
|
process_command(&config).unwrap(),
|
||||||
format!(
|
format!("Transaction failed: {}", TransactionError::AccountInUse)
|
||||||
"Transaction failed with error: {}",
|
|
||||||
TransactionError::AccountInUse
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
// Failure cases
|
// Failure cases
|
||||||
|
Reference in New Issue
Block a user