pub async fn wait_for_transaction_confirmation(
rpc_client: &RpcClientAsync,
signature: &Signature,
recent_blockhash: &Hash,
config: &RpcConfirmTransactionConfig
) -> Result<TransactionStatus, WaitForTransactionConfirmationError>
Expand description
Wait for signature
to be confirmed at commitment
or until either
recent_blockhash
is so old that the tx can’t be confirmed andblockhash_initial_timeout
is reached- the
signature_status_timeout
is reached While waiting, query for confirmation everysignature_status_interval
NOTE: RpcClient::config contains confirm_transaction_initial_timeout which is the same as blockhash_initial_timeout. Unfortunately the former is private.
Returns:
- blockhash and blockhash_initial_timeout expired -> BlockhashExpired error
- signature_status_timeout expired -> Timeout error (possibly just didn’t reach commitment in time?)
- any rpc error -> ClientError error
- confirmed at commitment -> ok(slot, opt<tx_error>)