feat: update getSignatureStatus methods
This commit is contained in:
committed by
Michael Vines
parent
ae10f1ecab
commit
3a2fe7fdbc
@@ -15,15 +15,20 @@ export async function sendAndConfirmRawTransaction(
|
||||
commitment: ?Commitment,
|
||||
): Promise<TransactionSignature> {
|
||||
const start = Date.now();
|
||||
const statusCommitment = commitment || connection.commitment || 'max';
|
||||
let signature = await connection.sendRawTransaction(rawTransaction);
|
||||
|
||||
// Wait up to a couple slots for a confirmation
|
||||
let status = null;
|
||||
let statusRetries = 6;
|
||||
for (;;) {
|
||||
status = (await connection.getSignatureStatus(signature, commitment)).value;
|
||||
status = (await connection.getSignatureStatus(signature)).value;
|
||||
if (status) {
|
||||
break;
|
||||
if (statusCommitment === 'max' && status.confirmations === null) {
|
||||
break;
|
||||
} else if (statusCommitment === 'recent') {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Sleep for approximately half a slot
|
||||
|
@@ -43,8 +43,11 @@ async function _sendAndConfirmTransaction(
|
||||
signers: Array<Account>,
|
||||
commitment: ?Commitment,
|
||||
): Promise<TransactionSignature> {
|
||||
const statusCommitment = commitment || connection.commitment || 'max';
|
||||
|
||||
let sendRetries = 10;
|
||||
let signature;
|
||||
|
||||
for (;;) {
|
||||
const start = Date.now();
|
||||
signature = await connection.sendTransaction(transaction, ...signers);
|
||||
@@ -53,10 +56,13 @@ async function _sendAndConfirmTransaction(
|
||||
let status = null;
|
||||
let statusRetries = 6;
|
||||
for (;;) {
|
||||
status = (await connection.getSignatureStatus(signature, commitment))
|
||||
.value;
|
||||
status = (await connection.getSignatureStatus(signature)).value;
|
||||
if (status) {
|
||||
break;
|
||||
if (statusCommitment === 'max' && status.confirmations === null) {
|
||||
break;
|
||||
} else if (statusCommitment === 'recent') {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (--statusRetries <= 0) {
|
||||
|
Reference in New Issue
Block a user