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