UNPKG

@nori-zk/ethprocessor

Version:

zkApp for verifying SP1 Helios Nori proof and storing latest execution state root on Mina

33 lines 1.28 kB
import { fetchTransactionStatus } from 'o1js'; export async function wait(txId, minaRPCNetworkUrl, maxAttempts = 50, intervalMs = 20000, maxUnknownCount = 5) { let attempt = 0; let unknownCount = 0; return new Promise((resolve, reject) => { (async () => { attempt++; do { const status = await fetchTransactionStatus(txId, minaRPCNetworkUrl); switch (status) { case 'INCLUDED': { resolve(true); break; } case 'PENDING': { break; } case 'UNKNOWN': { if (unknownCount < maxUnknownCount) { unknownCount++; break; } reject(new Error(`Transaction UNKNOWN status.`)); break; } } await new Promise((resolve) => setTimeout(resolve, intervalMs)); } while (attempt <= maxAttempts); reject(new Error('Max attempts breached.')); })().catch((error) => reject(error)); }); } //# sourceMappingURL=txWait.js.map