{"version":3,"file":"errors.mjs","sources":["../../src/errors.ts"],"sourcesContent":["/**\r\n * Error classes and stable error categories emitted by SDK operations.\r\n * @module Errors\r\n */\r\n/** Stable error codes emitted by SNS SDK operations. */\r\nexport enum ErrorType {\r\n  InvalidSubdomain = \"InvalidSubdomain\",\r\n  PrimaryDomainNotFound = \"PrimaryDomainNotFound\",\r\n  NoRecordData = \"NoRecordData\",\r\n  InvalidRecordData = \"InvalidRecordData\",\r\n  InvalidEvmAddress = \"InvalidEvmAddress\",\r\n  InvalidInjectiveAddress = \"InvalidInjectiveAddress\",\r\n  InvalidARecord = \"InvalidARecord\",\r\n  InvalidAAAARecord = \"InvalidAAAARecord\",\r\n  InvalidRecordInput = \"InvalidRecordInput\",\r\n  AccountDoesNotExist = \"AccountDoesNotExist\",\r\n  NoAccountData = \"NoAccountData\",\r\n  InvalidInput = \"InvalidInput\",\r\n  InvalidDomain = \"InvalidDomain\",\r\n  MissingVerifier = \"MissingVerifier\",\r\n  PythFeedNotFound = \"PythFeedNotFound\",\r\n  InvalidRoa = \"InvalidRoa\",\r\n  InvalidParent = \"InvalidParent\",\r\n  NftAccountNotFound = \"NftRecordNotFound\",\r\n  PdaOwnerNotAllowed = \"PdaOwnerNotAllowed\",\r\n  DomainDoesNotExist = \"DomainDoesNotExist\",\r\n  RecordMalformed = \"RecordMalformed\",\r\n  CouldNotFindNftOwner = \"CouldNotFindNftOwner\",\r\n  InvalidValidation = \"InvalidValidation\",\r\n  InvalidSerializedData = \"InvalidSerializedData\",\r\n  UnsupportedTld = \"UnsupportedTld\",\r\n  DomainExpired = \"DomainExpired\",\r\n  CouldNotFindSrsOwner = \"CouldNotFindSrsOwner\",\r\n  SnsSolResolutionMismatch = \"SnsSolResolutionMismatch\",\r\n}\r\n\r\n/** Base error thrown by SNS SDK operations. Inspect `type` for a stable error code. */\r\nexport class SNSError extends Error {\r\n  type: ErrorType;\r\n\r\n  constructor(type: ErrorType, message?: string) {\r\n    super(message);\r\n    this.name = \"SNSError\";\r\n    this.type = type;\r\n\r\n    if ((Error as any).captureStackTrace) {\r\n      (Error as any).captureStackTrace(this, SNSError);\r\n    }\r\n  }\r\n}\r\n\r\n/** Thrown when a subdomain name is malformed or unsupported. */\r\nexport class InvalidSubdomainError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.InvalidSubdomain, message);\r\n  }\r\n}\r\n\r\n/** Thrown when an address has no configured primary domain. */\r\nexport class PrimaryDomainNotFoundError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.PrimaryDomainNotFound, message);\r\n  }\r\n}\r\n\r\n/** Thrown when a requested record account has no readable data. */\r\nexport class NoRecordDataError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.NoRecordData, message);\r\n  }\r\n}\r\n\r\n/** Thrown when record content fails format validation. */\r\nexport class InvalidRecordDataError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.InvalidRecordData, message);\r\n  }\r\n}\r\n\r\n/** Thrown when an EVM address is invalid for a record operation. */\r\nexport class InvalidEvmAddressError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.InvalidEvmAddress, message);\r\n  }\r\n}\r\n\r\n/** Thrown when an Injective address is invalid for a record operation. */\r\nexport class InvalidInjectiveAddressError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.InvalidInjectiveAddress, message);\r\n  }\r\n}\r\n\r\n/** Thrown when an IPv4 record value is invalid. */\r\nexport class InvalidARecordError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.InvalidARecord, message);\r\n  }\r\n}\r\n\r\n/** Thrown when an IPv6 record value is invalid. */\r\nexport class InvalidAAAARecordError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.InvalidAAAARecord, message);\r\n  }\r\n}\r\n\r\n/** Thrown when record creation or update input is incomplete or invalid. */\r\nexport class InvalidRecordInputError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.InvalidRecordInput, message);\r\n  }\r\n}\r\n\r\n/** Thrown when a required on-chain account does not exist. */\r\nexport class AccountDoesNotExistError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.AccountDoesNotExist, message);\r\n  }\r\n}\r\n\r\n/** Thrown when an existing account has no readable data. */\r\nexport class NoAccountDataError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.NoAccountData, message);\r\n  }\r\n}\r\n\r\n/** Thrown when a general SDK input contract is not met. */\r\nexport class InvalidInputError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.InvalidInput, message);\r\n  }\r\n}\r\n\r\n/** Thrown when a domain name is malformed or invalid. */\r\nexport class InvalidDomainError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.InvalidDomain, message);\r\n  }\r\n}\r\n\r\n/** Thrown when required record verification data is missing. */\r\nexport class MissingVerifierError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.MissingVerifier, message);\r\n  }\r\n}\r\n\r\n/** Thrown when no Pyth price feed is configured for a mint. */\r\nexport class PythFeedNotFoundError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.PythFeedNotFound, message);\r\n  }\r\n}\r\n\r\n/** Thrown when a Right of Association proof is invalid. */\r\nexport class InvalidRoaError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.InvalidRoa, message);\r\n  }\r\n}\r\n\r\n/** Thrown when a required parent domain account cannot be resolved. */\r\nexport class InvalidParentError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.InvalidParent, message);\r\n  }\r\n}\r\n\r\n/** Thrown when an expected SNS NFT account cannot be found. */\r\nexport class NftAccountNotFoundError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.NftAccountNotFound, message);\r\n  }\r\n}\r\n\r\n/** Thrown when a program-derived address is not an allowed owner. */\r\nexport class PdaOwnerNotAllowedError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.PdaOwnerNotAllowed, message);\r\n  }\r\n}\r\n\r\n/** Thrown when a requested SNS domain account does not exist. */\r\nexport class DomainDoesNotExistError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.DomainDoesNotExist, message);\r\n  }\r\n}\r\n\r\n/** Thrown when serialized record data cannot be decoded safely. */\r\nexport class RecordMalformedError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.RecordMalformed, message);\r\n  }\r\n}\r\n\r\n/** Thrown when the owner of an SNS NFT cannot be determined. */\r\nexport class CouldNotFindNftOwnerError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.CouldNotFindNftOwner, message);\r\n  }\r\n}\r\n\r\n/** Thrown when an unsupported record validation mode is encountered. */\r\nexport class InvalidValidationError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.InvalidValidation, message);\r\n  }\r\n}\r\n\r\n/** Thrown when serialized account or record data is inconsistent. */\r\nexport class InvalidSerializedDataError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.InvalidSerializedData, message);\r\n  }\r\n}\r\n\r\n/** Thrown when a domain does not use a supported top-level domain. */\r\nexport class UnsupportedTldError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.UnsupportedTld, message);\r\n  }\r\n}\r\n\r\n/** Thrown when a Solana Registration Service domain has expired. */\r\nexport class DomainExpiredError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.DomainExpired, message);\r\n  }\r\n}\r\n\r\n/** Thrown when a Solana Registration Service domain owner cannot be resolved. */\r\nexport class CouldNotFindSrsOwnerError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.CouldNotFindSrsOwner, message);\r\n  }\r\n}\r\n\r\n/** Thrown when .sns and .sol resolve the same domain to different addresses. */\r\nexport class SnsSolResolutionMismatchError extends SNSError {\r\n  constructor(message?: string) {\r\n    super(ErrorType.SnsSolResolutionMismatch, message);\r\n  }\r\n}\r\n"],"names":[],"mappings":"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"}