feat: update getSignatureStatus methods

This commit is contained in:
Justin Starry
2020-04-06 17:56:26 +08:00
committed by Michael Vines
parent ae10f1ecab
commit 3a2fe7fdbc
7 changed files with 57 additions and 23 deletions

View File

@@ -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