Reimplement transaction-history command with getConfirmedSignaturesForAddress2

This commit is contained in:
Michael Vines
2020-07-28 20:46:23 -07:00
parent 1b2276520b
commit 087fd32ce3
3 changed files with 63 additions and 69 deletions

View File

@ -2161,20 +2161,15 @@ impl RpcSol for RpcSolImpl {
) -> Result<Vec<RpcConfirmedTransactionStatusWithSignature>> {
let address = verify_pubkey(address)?;
let (start_after, limit) =
if let Some(RpcGetConfirmedSignaturesForAddress2Config { start_after, limit }) = config
{
(
if let Some(start_after) = start_after {
Some(verify_signature(&start_after)?)
} else {
None
},
limit.unwrap_or(MAX_GET_CONFIRMED_SIGNATURES_FOR_ADDRESS2_LIMIT),
)
} else {
(None, MAX_GET_CONFIRMED_SIGNATURES_FOR_ADDRESS2_LIMIT)
};
let config = config.unwrap_or_default();
let start_after = if let Some(start_after) = config.start_after {
Some(verify_signature(&start_after)?)
} else {
None
};
let limit = config
.limit
.unwrap_or(MAX_GET_CONFIRMED_SIGNATURES_FOR_ADDRESS2_LIMIT);
if limit == 0 || limit > MAX_GET_CONFIRMED_SIGNATURES_FOR_ADDRESS2_LIMIT {
return Err(Error::invalid_params(format!(