Add get_signature_status() to SyncClient

And move bank::Result to transaction module.
This commit is contained in:
Greg Fitzgerald
2019-04-05 10:42:54 -06:00
committed by Grimes
parent d3844ef32a
commit 46e6911ec1
12 changed files with 41 additions and 26 deletions

View File

@ -1,5 +1,4 @@
use crate::append_vec::AppendVec;
use crate::bank::Result;
use crate::message_processor::has_duplicates;
use bincode::serialize;
use hashbrown::{HashMap, HashSet};
@ -12,6 +11,7 @@ use solana_sdk::hash::{hash, Hash};
use solana_sdk::native_loader;
use solana_sdk::pubkey::Pubkey;
use solana_sdk::signature::{Keypair, KeypairUtil};
use solana_sdk::transaction::Result;
use solana_sdk::transaction::{Transaction, TransactionError};
use solana_vote_api;
use std::collections::BTreeMap;

View File

@ -22,10 +22,9 @@ use solana_sdk::pubkey::Pubkey;
use solana_sdk::signature::{Keypair, Signature};
use solana_sdk::system_transaction;
use solana_sdk::timing::{duration_as_ms, duration_as_us, MAX_RECENT_BLOCKHASHES};
use solana_sdk::transaction::{Transaction, TransactionError};
use solana_sdk::transaction::{Result, Transaction, TransactionError};
use solana_vote_api::vote_instruction::Vote;
use solana_vote_api::vote_state::{Lockout, VoteState};
use std::result;
use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
use std::sync::{Arc, RwLock};
use std::time::Instant;
@ -106,8 +105,6 @@ impl EpochSchedule {
}
}
pub type Result<T> = result::Result<T, TransactionError>;
type BankStatusCache = StatusCache<Result<()>>;
/// Manager for the state of all accounts and programs after processing its entries.

View File

@ -7,7 +7,7 @@ use solana_sdk::signature::Signature;
use solana_sdk::signature::{Keypair, KeypairUtil};
use solana_sdk::sync_client::SyncClient;
use solana_sdk::system_instruction;
use solana_sdk::transaction::Transaction;
use solana_sdk::transaction::{self, Transaction};
use solana_sdk::transport::Result;
use std::io;
@ -79,6 +79,13 @@ impl<'a> SyncClient for BankClient<'a> {
fn get_balance(&self, pubkey: &Pubkey) -> Result<u64> {
Ok(self.bank.get_balance(pubkey))
}
fn get_signature_status(
&self,
signature: &Signature,
) -> Result<Option<transaction::Result<()>>> {
Ok(self.bank.get_signature_status(signature))
}
}
impl<'a> BankClient<'a> {

View File

@ -1,5 +1,5 @@
use crate::bank::{Bank, Result};
use solana_sdk::transaction::Transaction;
use crate::bank::Bank;
use solana_sdk::transaction::{Result, Transaction};
// Represents the results of trying to lock a set of accounts
pub struct LockedAccountsResults<'a, 'b> {