67 lines
2.2 KiB
TypeScript
67 lines
2.2 KiB
TypeScript
/** Base class for errors */
|
|
export abstract class TokenError extends Error {
|
|
constructor(message?: string) {
|
|
super(message);
|
|
}
|
|
}
|
|
|
|
/** Thrown if an account is not found at the expected address */
|
|
export class TokenAccountNotFoundError extends TokenError {
|
|
name = 'TokenAccountNotFoundError';
|
|
}
|
|
|
|
/** Thrown if a program state account is not a valid Account */
|
|
export class TokenInvalidAccountError extends TokenError {
|
|
name = 'TokenInvalidAccountError';
|
|
}
|
|
|
|
/** Thrown if a program state account is not owned by the expected token program */
|
|
export class TokenInvalidAccountOwnerError extends TokenError {
|
|
name = 'TokenInvalidAccountOwnerError';
|
|
}
|
|
|
|
/** Thrown if the byte length of an program state account doesn't match the expected size */
|
|
export class TokenInvalidAccountSizeError extends TokenError {
|
|
name = 'TokenInvalidAccountSizeError';
|
|
}
|
|
|
|
/** Thrown if the mint of a token account doesn't match the expected mint */
|
|
export class TokenInvalidMintError extends TokenError {
|
|
name = 'TokenInvalidMintError';
|
|
}
|
|
|
|
/** Thrown if the owner of a token account doesn't match the expected owner */
|
|
export class TokenInvalidOwnerError extends TokenError {
|
|
name = 'TokenInvalidOwnerError';
|
|
}
|
|
|
|
/** Thrown if the owner of a token account is a PDA (Program Derived Address) */
|
|
export class TokenOwnerOffCurveError extends TokenError {
|
|
name = 'TokenOwnerOffCurveError';
|
|
}
|
|
|
|
/** Thrown if an instruction's program is invalid */
|
|
export class TokenInvalidInstructionProgramError extends TokenError {
|
|
name = 'TokenInvalidInstructionProgramError';
|
|
}
|
|
|
|
/** Thrown if an instruction's keys are invalid */
|
|
export class TokenInvalidInstructionKeysError extends TokenError {
|
|
name = 'TokenInvalidInstructionKeysError';
|
|
}
|
|
|
|
/** Thrown if an instruction's data is invalid */
|
|
export class TokenInvalidInstructionDataError extends TokenError {
|
|
name = 'TokenInvalidInstructionDataError';
|
|
}
|
|
|
|
/** Thrown if an instruction's type is invalid */
|
|
export class TokenInvalidInstructionTypeError extends TokenError {
|
|
name = 'TokenInvalidInstructionTypeError';
|
|
}
|
|
|
|
/** Thrown if the program does not support the desired instruction */
|
|
export class TokenUnsupportedInstructionError extends TokenError {
|
|
name = 'TokenUnsupportedInstructionError';
|
|
}
|