Add slot info to Bank::get_signature_confirmation_status (#9018)

This commit is contained in:
Justin Starry
2020-03-23 21:55:15 +08:00
committed by GitHub
parent 4b4819cd07
commit a0ffcc61ae
5 changed files with 65 additions and 20 deletions

View File

@ -19,7 +19,7 @@ use solana_ledger::{
bank_forks::BankForks, blockstore::Blockstore, rooted_slot_iterator::RootedSlotIterator,
};
use solana_perf::packet::PACKET_DATA_SIZE;
use solana_runtime::bank::Bank;
use solana_runtime::{bank::Bank, status_cache::SignatureConfirmationStatus};
use solana_sdk::{
clock::{Slot, UnixTimestamp},
commitment_config::{CommitmentConfig, CommitmentLevel},
@ -203,7 +203,9 @@ impl JsonRpcRequestProcessor {
Ok(sig) => {
let status = bank.get_signature_confirmation_status(&sig);
match status {
Some((_, result)) => new_response(bank, result.is_ok()),
Some(SignatureConfirmationStatus { status, .. }) => {
new_response(bank, status.is_ok())
}
None => new_response(bank, false),
}
}
@ -227,10 +229,16 @@ impl JsonRpcRequestProcessor {
) -> Option<RpcSignatureConfirmation> {
self.bank(commitment)
.get_signature_confirmation_status(&signature)
.map(|(confirmations, status)| RpcSignatureConfirmation {
confirmations,
status,
})
.map(
|SignatureConfirmationStatus {
confirmations,
status,
..
}| RpcSignatureConfirmation {
confirmations,
status,
},
)
}
fn get_slot(&self, commitment: Option<CommitmentConfig>) -> Result<u64> {