Files
ts-roots/src/errors/index.ts

80 lines
1.7 KiB
TypeScript

/**
* Public key is not 64 lowercase hex characters.
*/
export class MalformedPubKeyError extends Error {
constructor() {
super("public key must be 64 lowercase hex characters");
this.name = "MalformedPubKeyError";
}
}
/**
* Private key is not 64 lowercase hex characters.
*/
export class MalformedPrivKeyError extends Error {
constructor() {
super("private key must be 64 lowercase hex characters");
this.name = "MalformedPrivKeyError";
}
}
/**
* Event ID is not 64 hex characters.
*/
export class MalformedIDError extends Error {
constructor() {
super("event id must be 64 hex characters");
this.name = "MalformedIDError";
}
}
/**
* Event signature is not 128 hex characters.
*/
export class MalformedSigError extends Error {
constructor() {
super("event signature must be 128 hex characters");
this.name = "MalformedSigError";
}
}
/**
* Event tag contains fewer than two elements.
*/
export class MalformedTagError extends Error {
constructor() {
super("tags must contain at least two elements");
this.name = "MalformedTagError";
}
}
/**
* Event ID could not be computed during validation.
*/
export class FailedIDCompError extends Error {
constructor() {
super("failed to compute event id");
this.name = "FailedIDCompError";
}
}
/**
* Event ID field is empty.
*/
export class NoEventIDError extends Error {
constructor() {
super("event id is empty");
this.name = "NoEventIDError";
}
}
/**
* Event signature failed cryptographic validation.
*/
export class InvalidSigError extends Error {
constructor() {
super("event signature is invalid");
this.name = "InvalidSigError";
}
}