Skip to content

Commit

Permalink
fixup! refactor!: the TxSubmit endpoint no longer adds the stack trac…
Browse files Browse the repository at this point in the history
…e when returning domain errors
  • Loading branch information
AngelCastilloB committed Mar 16, 2023
1 parent a70db8e commit aeb27bb
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 20 deletions.
16 changes: 5 additions & 11 deletions packages/ogmios/src/CardanoNode/OgmiosCardanoNode.ts
Expand Up @@ -65,12 +65,11 @@ export class OgmiosCardanoNode extends RunnableModule implements CardanoNode {
this.#logger.info('Getting system start');
return await this.#stateQueryClient.systemStart();
} catch (error) {
const domainError =
CardanoNodeUtil.asCardanoNodeError(error) || new CardanoNodeErrors.UnknownCardanoNodeError(error);
const domainError = CardanoNodeUtil.asCardanoNodeError(error);

if (isProductionEnvironment()) stripStackTrace(domainError);

throw domainError;
throw domainError || new CardanoNodeErrors.UnknownCardanoNodeError(error);
}
}

Expand All @@ -90,12 +89,11 @@ export class OgmiosCardanoNode extends RunnableModule implements CardanoNode {
}
return map;
} catch (error) {
const domainError =
CardanoNodeUtil.asCardanoNodeError(error) || new CardanoNodeErrors.UnknownCardanoNodeError(error);
const domainError = CardanoNodeUtil.asCardanoNodeError(error);

if (isProductionEnvironment()) stripStackTrace(domainError);

throw domainError;
throw domainError || new CardanoNodeErrors.UnknownCardanoNodeError(error);
}
}

Expand All @@ -116,11 +114,7 @@ export class OgmiosCardanoNode extends RunnableModule implements CardanoNode {
if (error.name === 'FetchError') {
return { ok: false };
}
const domainError = new ProviderError(ProviderFailure.Unknown, error);

if (isProductionEnvironment()) stripStackTrace(domainError);

throw domainError;
throw new ProviderError(ProviderFailure.Unknown, error);
}
}

Expand Down
Expand Up @@ -75,12 +75,11 @@ export class OgmiosTxSubmitProvider extends RunnableModule implements TxSubmitPr
);
await this.#txSubmissionClient.submitTx(signedTransaction);
} catch (error) {
const domainError =
Cardano.util.asTxSubmissionError(error) || new CardanoNodeErrors.UnknownTxSubmissionError(error);
const txSubmitError = Cardano.util.asTxSubmissionError(error);

if (isProductionEnvironment()) stripStackTrace(domainError);
if (isProductionEnvironment()) stripStackTrace(txSubmitError);

throw domainError;
throw txSubmitError || new CardanoNodeErrors.UnknownTxSubmissionError(error);
}
}

Expand All @@ -101,11 +100,7 @@ export class OgmiosTxSubmitProvider extends RunnableModule implements TxSubmitPr
if (error.name === 'FetchError') {
return { ok: false };
}
const domainError = new ProviderError(ProviderFailure.Unknown, error);

if (isProductionEnvironment()) stripStackTrace(domainError);

throw domainError;
throw new ProviderError(ProviderFailure.Unknown, error);
}
}

Expand Down
2 changes: 2 additions & 0 deletions packages/util/src/errors.ts
Expand Up @@ -40,6 +40,8 @@ const isErrorLike = (error: unknown): error is ErrorLike => {
* @param error The error to be stripped of its stack trace.
*/
export const stripStackTrace = (error: unknown) => {
if (!error) return;

if (isErrorLike(error)) {
delete (error as Error).stack;
}
Expand Down

0 comments on commit aeb27bb

Please sign in to comment.