Utility function getAllSignatures

This commit is contained in:
Nicholas Clarke 2022-01-25 15:50:00 -08:00
parent 99bae5a33a
commit 7d474ed608
1 changed files with 41 additions and 0 deletions

View File

@ -100,3 +100,44 @@ async function consumeTransactions() {
}
consumeTransactions();
async function getAllSignatures(addressPk: PublicKey, connection: Connection) {
let signatures;
const limit = 1000;
let before = null;
let options;
let allSignaturesInfo: ConfirmedSignatureInfo[] = [];
while (true) {
if (before === null) {
options = { limit: limit };
} else {
options = { limit: limit, before: before };
}
let signaturesInfo = await connection.getConfirmedSignaturesForAddress2(
addressPk,
options,
);
signatures = signaturesInfo.map((x) => x['signature']);
allSignaturesInfo = allSignaturesInfo.concat(signaturesInfo);
if (signaturesInfo.length !== limit) {
break
}
before = signatures[signatures.length - 1];
console.log(
new Date(
signaturesInfo[signaturesInfo.length - 1].blockTime! * 1000,
).toISOString(),
);
}
return allSignaturesInfo;
}