Rename BankError to TransactionError
This commit is contained in:
@ -16,7 +16,7 @@ use crate::service::Service;
|
||||
use crate::sigverify_stage::VerifiedPackets;
|
||||
use bincode::deserialize;
|
||||
use solana_metrics::counter::Counter;
|
||||
use solana_runtime::bank::{self, Bank, BankError};
|
||||
use solana_runtime::bank::{self, Bank, TransactionError};
|
||||
use solana_sdk::timing::{self, duration_as_us, MAX_RECENT_BLOCKHASHES};
|
||||
use solana_sdk::transaction::Transaction;
|
||||
use std::net::UdpSocket;
|
||||
@ -208,7 +208,7 @@ impl BankingStage {
|
||||
.zip(txs.iter())
|
||||
.filter_map(|(r, x)| match r {
|
||||
Ok(_) => Some(x.clone()),
|
||||
Err(BankError::InstructionError(index, err)) => {
|
||||
Err(TransactionError::InstructionError(index, err)) => {
|
||||
info!("instruction error {:?}, {:?}", index, err);
|
||||
Some(x.clone())
|
||||
}
|
||||
@ -682,7 +682,7 @@ mod tests {
|
||||
assert_eq!(entries[0].0.transactions.len(), transactions.len());
|
||||
|
||||
// ProgramErrors should still be recorded
|
||||
results[0] = Err(BankError::InstructionError(
|
||||
results[0] = Err(TransactionError::InstructionError(
|
||||
1,
|
||||
InstructionError::new_result_with_negative_lamports(),
|
||||
));
|
||||
@ -690,8 +690,8 @@ mod tests {
|
||||
let (_, entries) = entry_receiver.recv().unwrap();
|
||||
assert_eq!(entries[0].0.transactions.len(), transactions.len());
|
||||
|
||||
// Other BankErrors should not be recorded
|
||||
results[0] = Err(BankError::AccountNotFound);
|
||||
// Other TransactionErrors should not be recorded
|
||||
results[0] = Err(TransactionError::AccountNotFound);
|
||||
BankingStage::record_transactions(&transactions, &results, &poh_recorder).unwrap();
|
||||
let (_, entries) = entry_receiver.recv().unwrap();
|
||||
assert_eq!(entries[0].0.transactions.len(), transactions.len() - 1);
|
||||
|
@ -229,7 +229,7 @@ mod tests {
|
||||
use crate::blocktree::create_new_tmp_ledger;
|
||||
use crate::blocktree::tests::entries_to_blobs;
|
||||
use crate::entry::{create_ticks, next_entry, Entry};
|
||||
use solana_runtime::bank::BankError;
|
||||
use solana_runtime::bank::TransactionError;
|
||||
use solana_sdk::genesis_block::GenesisBlock;
|
||||
use solana_sdk::hash::Hash;
|
||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||
@ -383,32 +383,32 @@ mod tests {
|
||||
fn test_first_err() {
|
||||
assert_eq!(first_err(&[Ok(())]), Ok(()));
|
||||
assert_eq!(
|
||||
first_err(&[Ok(()), Err(BankError::DuplicateSignature)]),
|
||||
Err(BankError::DuplicateSignature)
|
||||
first_err(&[Ok(()), Err(TransactionError::DuplicateSignature)]),
|
||||
Err(TransactionError::DuplicateSignature)
|
||||
);
|
||||
assert_eq!(
|
||||
first_err(&[
|
||||
Ok(()),
|
||||
Err(BankError::DuplicateSignature),
|
||||
Err(BankError::AccountInUse)
|
||||
Err(TransactionError::DuplicateSignature),
|
||||
Err(TransactionError::AccountInUse)
|
||||
]),
|
||||
Err(BankError::DuplicateSignature)
|
||||
Err(TransactionError::DuplicateSignature)
|
||||
);
|
||||
assert_eq!(
|
||||
first_err(&[
|
||||
Ok(()),
|
||||
Err(BankError::AccountInUse),
|
||||
Err(BankError::DuplicateSignature)
|
||||
Err(TransactionError::AccountInUse),
|
||||
Err(TransactionError::DuplicateSignature)
|
||||
]),
|
||||
Err(BankError::AccountInUse)
|
||||
Err(TransactionError::AccountInUse)
|
||||
);
|
||||
assert_eq!(
|
||||
first_err(&[
|
||||
Err(BankError::AccountInUse),
|
||||
Err(TransactionError::AccountInUse),
|
||||
Ok(()),
|
||||
Err(BankError::DuplicateSignature)
|
||||
Err(TransactionError::DuplicateSignature)
|
||||
]),
|
||||
Err(BankError::AccountInUse)
|
||||
Err(TransactionError::AccountInUse)
|
||||
);
|
||||
}
|
||||
|
||||
@ -431,7 +431,7 @@ mod tests {
|
||||
// First, ensure the TX is rejected because of the unregistered last ID
|
||||
assert_eq!(
|
||||
bank.process_transaction(&tx),
|
||||
Err(BankError::BlockhashNotFound)
|
||||
Err(TransactionError::BlockhashNotFound)
|
||||
);
|
||||
|
||||
// Now ensure the TX is accepted despite pointing to the ID of an empty entry.
|
||||
@ -733,7 +733,7 @@ mod tests {
|
||||
let entry_3 = next_entry(&entry_2.hash, 1, vec![tx]);
|
||||
assert_eq!(
|
||||
process_entries(&bank, &[entry_3]),
|
||||
Err(BankError::AccountNotFound)
|
||||
Err(TransactionError::AccountNotFound)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ pub enum Error {
|
||||
RecvTimeoutError(std::sync::mpsc::RecvTimeoutError),
|
||||
TryRecvError(std::sync::mpsc::TryRecvError),
|
||||
Serialize(std::boxed::Box<bincode::ErrorKind>),
|
||||
BankError(bank::BankError),
|
||||
TransactionError(bank::TransactionError),
|
||||
ClusterInfoError(cluster_info::ClusterInfoError),
|
||||
BlobError(packet::BlobError),
|
||||
#[cfg(feature = "erasure")]
|
||||
@ -57,9 +57,9 @@ impl std::convert::From<std::sync::mpsc::RecvTimeoutError> for Error {
|
||||
Error::RecvTimeoutError(e)
|
||||
}
|
||||
}
|
||||
impl std::convert::From<bank::BankError> for Error {
|
||||
fn from(e: bank::BankError) -> Error {
|
||||
Error::BankError(e)
|
||||
impl std::convert::From<bank::TransactionError> for Error {
|
||||
fn from(e: bank::TransactionError) -> Error {
|
||||
Error::TransactionError(e)
|
||||
}
|
||||
}
|
||||
impl std::convert::From<cluster_info::ClusterInfoError> for Error {
|
||||
|
@ -9,7 +9,7 @@ use bs58;
|
||||
use jsonrpc_core::{Error, ErrorCode, Metadata, Result};
|
||||
use jsonrpc_derive::rpc;
|
||||
use solana_drone::drone::request_airdrop_transaction;
|
||||
use solana_runtime::bank::{self, Bank, BankError};
|
||||
use solana_runtime::bank::{self, Bank, TransactionError};
|
||||
use solana_sdk::account::Account;
|
||||
use solana_sdk::pubkey::Pubkey;
|
||||
use solana_sdk::signature::Signature;
|
||||
@ -261,9 +261,11 @@ impl RpcSol for RpcSolImpl {
|
||||
} else {
|
||||
match res.unwrap() {
|
||||
Ok(_) => RpcSignatureStatus::Confirmed,
|
||||
Err(BankError::AccountInUse) => RpcSignatureStatus::AccountInUse,
|
||||
Err(BankError::AccountLoadedTwice) => RpcSignatureStatus::AccountLoadedTwice,
|
||||
Err(BankError::InstructionError(_, _)) => {
|
||||
Err(TransactionError::AccountInUse) => RpcSignatureStatus::AccountInUse,
|
||||
Err(TransactionError::AccountLoadedTwice) => {
|
||||
RpcSignatureStatus::AccountLoadedTwice
|
||||
}
|
||||
Err(TransactionError::InstructionError(_, _)) => {
|
||||
RpcSignatureStatus::ProgramRuntimeError
|
||||
}
|
||||
Err(err) => {
|
||||
|
@ -6,7 +6,7 @@ use core::hash::Hash;
|
||||
use jsonrpc_core::futures::Future;
|
||||
use jsonrpc_pubsub::typed::Sink;
|
||||
use jsonrpc_pubsub::SubscriptionId;
|
||||
use solana_runtime::bank::{self, Bank, BankError};
|
||||
use solana_runtime::bank::{self, Bank, TransactionError};
|
||||
use solana_sdk::account::Account;
|
||||
use solana_sdk::pubkey::Pubkey;
|
||||
use solana_sdk::signature::Signature;
|
||||
@ -98,8 +98,10 @@ impl RpcSubscriptions {
|
||||
pub fn check_signature(&self, signature: &Signature, bank_error: &bank::Result<()>) {
|
||||
let status = match bank_error {
|
||||
Ok(_) => RpcSignatureStatus::Confirmed,
|
||||
Err(BankError::AccountInUse) => RpcSignatureStatus::AccountInUse,
|
||||
Err(BankError::InstructionError(_, _)) => RpcSignatureStatus::ProgramRuntimeError,
|
||||
Err(TransactionError::AccountInUse) => RpcSignatureStatus::AccountInUse,
|
||||
Err(TransactionError::InstructionError(_, _)) => {
|
||||
RpcSignatureStatus::ProgramRuntimeError
|
||||
}
|
||||
Err(_) => RpcSignatureStatus::GenericFailure,
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user