// Errors match those in rust https://github.com/solana-labs/solana-program-library/blob/master/token-metadata/interface/src/error.rs
// Code follows: https://github.com/solana-labs/solana-program-library/blob/master/token/js/src/errors.tshttps://github.com/solana-labs/solana-program-library/blob/master/token/js/src/errors.ts
/** Base class for errors */
export class TokenMetadataError extends Error {
constructor(message?: string) {
super(message);
}
}
/** Thrown if incorrect account provided */
export class IncorrectAccountError extends TokenMetadataError {
name = 'IncorrectAccountError';
}
/** Thrown if Mint has no mint authority */
export class MintHasNoMintAuthorityError extends TokenMetadataError {
name = 'MintHasNoMintAuthorityError';
}
/** Thrown if Incorrect mint authority has signed the instruction */
export class IncorrectMintAuthorityError extends TokenMetadataError {
name = 'IncorrectMintAuthorityError';
}
/** Thrown if Incorrect mint authority has signed the instruction */
export class IncorrectUpdateAuthorityError extends TokenMetadataError {
name = 'IncorrectUpdateAuthorityError';
}
/** Thrown if Token metadata has no update authority */
export class ImmutableMetadataError extends TokenMetadataError {
name = 'ImmutableMetadataError';
}
/** Thrown if Key not found in metadata account */
export class KeyNotFoundError extends TokenMetadataError {
name = 'KeyNotFoundError';
}