UNPKG

@effectai/sdk

Version:

Effect Network Javscript/Typescript SDK (for [https://effect.network](https://effect.network))

37 lines 1.37 kB
export var TxState; (function (TxState) { TxState["EXECUTED"] = "EXECUTED"; TxState["SOFT_FAIL"] = "soft_fail"; TxState["HARD_FAIL"] = "hard_fail"; TxState["EXPIRED"] = "EXPIRED"; TxState["IRREVERSIBLE"] = "IRREVERSIBLE"; TxState["IN_BLOCK"] = "IN_BLOCK"; })(TxState || (TxState = {})); export function waitForTransaction(transactionId, context, state = TxState.IRREVERSIBLE, maxRetries = 3) { return new Promise((resolve, reject) => { let attempt = 0; const interval = setInterval(async () => { try { attempt++; const response = await context.get_transaction_status(transactionId); if (response.state === TxState.SOFT_FAIL || response.state === TxState.HARD_FAIL || response.state === TxState.EXPIRED) { clearInterval(interval); reject(response); } if (response?.state === state) { clearInterval(interval); resolve(response); } } catch (error) { if (attempt > maxRetries) { clearInterval(interval); reject(error); } } }, 3000); }); } //# sourceMappingURL=transaction.js.map