@unicitylabs/sphere-sdk 0.14.6 → 0.14.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -315,12 +315,15 @@ function pause(ms, signal) {
315
315
  });
316
316
  }
317
317
  async function retryTransient(attempt, signal, intervalMs) {
318
+ let retried = false;
318
319
  for (; ; ) {
320
+ if (signal.aborted) throw signal.reason;
319
321
  try {
320
- return await attempt();
322
+ return { value: await attempt(), retried };
321
323
  } catch (err) {
322
324
  if (signal.aborted) throw err;
323
325
  if (!isTransientGatewayError(err)) throw err;
326
+ retried = true;
324
327
  await pause(intervalMs, signal);
325
328
  }
326
329
  }
@@ -346,7 +349,7 @@ function certificationDeadline(timeoutMs, external, label) {
346
349
  };
347
350
  }
348
351
  async function awaitProofBounded(deps, transaction, signal) {
349
- return retryTransient(
352
+ const { value } = await retryTransient(
350
353
  () => waitInclusionProof(
351
354
  deps.client,
352
355
  deps.trustBase,
@@ -358,6 +361,7 @@ async function awaitProofBounded(deps, transaction, signal) {
358
361
  signal,
359
362
  deps.intervalMs
360
363
  );
364
+ return value;
361
365
  }
362
366
 
363
367
  // token-engine/errors.ts
@@ -1386,14 +1390,14 @@ var SphereTokenEngine = class {
1386
1390
  let submitError = null;
1387
1391
  let submitRejectedCleanly = false;
1388
1392
  try {
1389
- const response = await retryTransient(
1393
+ const { value: response, retried } = await retryTransient(
1390
1394
  () => this.deps.client.submitCertificationRequest(certificationData),
1391
1395
  signal,
1392
1396
  this.deps.proofPollIntervalMs ?? DEFAULT_PROOF_POLL_INTERVAL_MS
1393
1397
  );
1394
1398
  if (response.status !== CertificationStatus.SUCCESS) {
1395
1399
  submitError = new SphereError(`${failLabel}: ${response.status}`, failCode);
1396
- submitRejectedCleanly = CLEAN_REJECT_STATUSES.has(response.status);
1400
+ submitRejectedCleanly = !retried && CLEAN_REJECT_STATUSES.has(response.status);
1397
1401
  }
1398
1402
  } catch (err) {
1399
1403
  submitError = err ?? new SphereError(`${failLabel}: submit failed`, failCode);