import { ShadeError } from '@shade/core';

export class KTError extends ShadeError {
  constructor(code: string, message: string) {
    super(code, message);
    this.name = 'KTError';
  }
}

export class KTVerificationError extends KTError {
  constructor(message: string) {
    super('SHADE_KT_VERIFICATION', message);
    this.name = 'KTVerificationError';
  }
}

export class KTSplitViewError extends KTError {
  constructor(message: string) {
    super('SHADE_KT_SPLIT_VIEW', message);
    this.name = 'KTSplitViewError';
  }
}

export class KTStaleSTHError extends KTError {
  constructor(message: string) {
    super('SHADE_KT_STALE_STH', message);
    this.name = 'KTStaleSTHError';
  }
}

export class KTLogIdMismatchError extends KTError {
  constructor(message: string) {
    super('SHADE_KT_LOG_ID_MISMATCH', message);
    this.name = 'KTLogIdMismatchError';
  }
}
