casper_client/cli/transaction_v1_builder/
error.rs1use core::fmt::{self, Display, Formatter};
2use std::error::Error as StdError;
3
4#[cfg(doc)]
5use super::{TransactionV1, TransactionV1Builder};
6
7#[derive(Clone, Eq, PartialEq, Debug)]
9#[non_exhaustive]
10pub enum TransactionV1BuilderError {
11 MissingInitiatorAddr,
16 MissingChainName,
21 CouldNotSerializeField {
24 field_index: u16,
26 },
27}
28
29impl Display for TransactionV1BuilderError {
30 fn fmt(&self, formatter: &mut Formatter) -> fmt::Result {
31 match self {
32 TransactionV1BuilderError::MissingInitiatorAddr => {
33 write!(
34 formatter,
35 "transaction requires account - use `with_account` or `with_secret_key`"
36 )
37 }
38 TransactionV1BuilderError::MissingChainName => {
39 write!(
40 formatter,
41 "transaction requires chain name - use `with_chain_name`"
42 )
43 }
44 TransactionV1BuilderError::CouldNotSerializeField { field_index } => {
45 write!(formatter, "Cannot serialize field at index {}", field_index)
46 }
47 }
48 }
49}
50
51impl StdError for TransactionV1BuilderError {}