@iexec/web3telegram
Version:
Enables secure, blockchain-based messaging by encrypting Telegram user IDs for privacy. It lets users message Ethereum account holders without knowing their Telegram details.
32 lines (28 loc) • 772 B
text/typescript
import { ApiCallError } from 'iexec/errors';
export class WorkflowError extends Error {
isProtocolError: boolean;
constructor({
message,
errorCause,
isProtocolError = false,
}: {
message: string;
errorCause: Error;
isProtocolError?: boolean;
}) {
super(message);
(this as any).cause = errorCause;
this.name = this.constructor.name;
this.isProtocolError = isProtocolError;
}
}
export function handleIfProtocolError(error: Error) {
if (error instanceof ApiCallError) {
throw new WorkflowError({
message:
"A service in the iExec protocol appears to be unavailable. You can retry later or contact iExec's technical support for help.",
errorCause: error,
isProtocolError: true,
});
}
}