Better error names

This commit is contained in:
Greg Fitzgerald 2018-05-29 21:02:32 -06:00 committed by Grimes
parent b57aecc24c
commit 6c0c6de1d0
1 changed files with 9 additions and 9 deletions

View File

@ -25,9 +25,9 @@ pub const MAX_ENTRY_IDS: usize = 1024 * 4;
pub enum BankError { pub enum BankError {
AccountNotFound(PublicKey), AccountNotFound(PublicKey),
InsufficientFunds(PublicKey), InsufficientFunds(PublicKey),
InvalidTxSignature(Signature), DuplicateSiganture(Signature),
InvalidTxLastId(Hash), LastIdNotFound(Hash),
InvalidTxTokens, NegativeTokens,
} }
pub type Result<T> = result::Result<T, BankError>; pub type Result<T> = result::Result<T, BankError>;
@ -102,7 +102,7 @@ impl Bank {
.expect("'signatures' read lock") .expect("'signatures' read lock")
.contains(sig) .contains(sig)
{ {
return Err(BankError::InvalidTxSignature(*sig)); return Err(BankError::DuplicateSiganture(*sig));
} }
signatures signatures
.write() .write()
@ -140,7 +140,7 @@ impl Bank {
{ {
return Self::reserve_signature(&entry.1, sig); return Self::reserve_signature(&entry.1, sig);
} }
Err(BankError::InvalidTxLastId(*last_id)) Err(BankError::LastIdNotFound(*last_id))
} }
/// Tell the bank which Entry IDs exist on the ledger. This function /// Tell the bank which Entry IDs exist on the ledger. This function
@ -163,7 +163,7 @@ impl Bank {
if let Instruction::NewContract(contract) = &tx.instruction { if let Instruction::NewContract(contract) = &tx.instruction {
trace!("Transaction {}", contract.tokens); trace!("Transaction {}", contract.tokens);
if contract.tokens < 0 { if contract.tokens < 0 {
return Err(BankError::InvalidTxTokens); return Err(BankError::NegativeTokens);
} }
} }
let bals = self.balances let bals = self.balances
@ -412,7 +412,7 @@ mod tests {
let bank = Bank::new(&mint); let bank = Bank::new(&mint);
assert_eq!( assert_eq!(
bank.transfer(-1, &mint.keypair(), pubkey, mint.last_id()), bank.transfer(-1, &mint.keypair(), pubkey, mint.last_id()),
Err(BankError::InvalidTxTokens) Err(BankError::NegativeTokens)
); );
assert_eq!(bank.transaction_count(), 0); assert_eq!(bank.transaction_count(), 0);
} }
@ -548,7 +548,7 @@ mod tests {
); );
assert_eq!( assert_eq!(
bank.reserve_signature_with_last_id(&sig, &mint.last_id()), bank.reserve_signature_with_last_id(&sig, &mint.last_id()),
Err(BankError::InvalidTxSignature(sig)) Err(BankError::DuplicateSiganture(sig))
); );
} }
@ -578,7 +578,7 @@ mod tests {
// Assert we're no longer able to use the oldest entry ID. // Assert we're no longer able to use the oldest entry ID.
assert_eq!( assert_eq!(
bank.reserve_signature_with_last_id(&sig, &mint.last_id()), bank.reserve_signature_with_last_id(&sig, &mint.last_id()),
Err(BankError::InvalidTxLastId(mint.last_id())) Err(BankError::LastIdNotFound(mint.last_id()))
); );
} }