Files
hardhat-zkit/src/errors.ts
2024-06-12 18:20:38 +03:00

56 lines
1.7 KiB
TypeScript

import { NomicLabsHardhatPluginError } from "hardhat/plugins";
import { CircuitInfo } from "@solarity/zkit";
import { PLAGIN_NAME } from "./internal/constants";
export class HardhatZKitError extends NomicLabsHardhatPluginError {
constructor(message: string, parent?: Error) {
super(PLAGIN_NAME, message, parent);
}
}
export class NonExistentFile extends HardhatZKitError {
constructor(filePath: string) {
super(`The file at path ${filePath} does not exist`);
}
}
export class NonExistentR1CSHeader extends HardhatZKitError {
constructor(r1csFilePath: string) {
super(`Header section in ${r1csFilePath} file is not found.`);
}
}
export class MultipleCircuitsInfoError extends HardhatZKitError {
constructor(fileSourceName: string, circuitsInfo: CircuitInfo[]) {
super(
`Circuit with ${fileSourceName} source name has several circuits info: ${circuitsInfo.map((info) => `[Path: ${info.path}, Id: ${info.id}]`)}`,
);
}
}
export class ZeroCircuitsInfoError extends HardhatZKitError {
constructor(fileSourceName: string) {
super(`Circuit with ${fileSourceName} source name does not have any circuit info`);
}
}
export class DuplicateCircuitsNameError extends HardhatZKitError {
constructor(fileSourceName: string, duplicatedFileSourceName: string) {
super(`Circuit ${fileSourceName} duplicated ${duplicatedFileSourceName} circuit`);
}
}
export class NonExistentCircuitArtifactsError extends HardhatZKitError {
constructor(circuit: string) {
super(`The artifacts for '${circuit}' circuit do not exist. Please compile circuits`);
}
}
export class NonExistentCircuitError extends HardhatZKitError {
constructor(circuit: string) {
super(`Circuit '${circuit}' does not exist`);
}
}