{"version":3,"file":"SdkError.mjs","sources":["../../../src/errors/SdkError.ts"],"sourcesContent":["import { PublicKey } from '@solana/web3.js';\nimport { Cluster, Program, Currency } from '../types';\nimport {\n  ConvergenceError,\n  ConvergenceErrorInputWithoutSource,\n  ConvergenceErrorOptions,\n} from './ConvergenceError';\n\n/** @group Errors */\nexport class SdkError extends ConvergenceError {\n  constructor(input: ConvergenceErrorInputWithoutSource) {\n    super({\n      ...input,\n      key: `sdk.${input.key}`,\n      source: 'sdk',\n    });\n  }\n}\n\n/** @group Errors */\nexport class OperationHandlerMissingError extends SdkError {\n  constructor(operationKey: string, options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'operation_handler_missing',\n      title: 'Operation Handler Missing',\n      problem: `No operation handler was registered for the [${operationKey}] operation.`,\n      solution:\n        'Did you forget to register it? You may do this by using: ' +\n        '\"convergence.register(operation, operationHandler)\".',\n    });\n  }\n}\n\n/** @group Errors */\nexport class DriverNotProvidedError extends SdkError {\n  constructor(driver: string, options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'driver_not_provided',\n      title: 'Driver Not Provided',\n      problem: `The SDK tried to access the driver [${driver}] but was not provided.`,\n      solution:\n        'Make sure the driver is registered by using the \"setDriver(myDriver)\" method.',\n    });\n  }\n}\n\n/** @group Errors */\nexport class UnexpectedCurrencyError extends SdkError {\n  actual: Currency;\n  expected: Currency;\n  constructor(\n    actual: Currency,\n    expected: Currency,\n    options?: ConvergenceErrorOptions\n  ) {\n    super({\n      options,\n      key: 'unexpected_currency',\n      title: 'Unexpected Currency',\n      problem: `Expected currency [${expected}] but got [${actual}].`,\n      solution:\n        'Ensure the provided Amount or Currency is of the expected type.',\n    });\n    this.actual = actual;\n    this.expected = expected;\n  }\n}\n\n/** @group Errors */\nexport class CurrencyMismatchError extends SdkError {\n  left: Currency;\n  right: Currency;\n  operation?: string;\n  constructor(\n    left: Currency,\n    right: Currency,\n    operation?: string,\n    options?: ConvergenceErrorOptions\n  ) {\n    const wrappedOperation = operation ? ` [${operation}]` : '';\n    super({\n      options,\n      key: 'currency_mismatch',\n      title: 'Currency Mismatch',\n      problem:\n        `The SDK tried to execute an operation${wrappedOperation} on two different currencies: ` +\n        `${left.symbol} and ${right.symbol}.`,\n      solution:\n        'Provide both amounts in the same currency to perform this operation.',\n    });\n    this.left = left;\n    this.right = right;\n    this.operation = operation;\n  }\n}\n\n/** @group Errors */\nexport class InvalidJsonVariableError extends SdkError {\n  constructor(options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'invalid_json_variable',\n      title: 'Invalid JSON Variable',\n      problem: 'The provided JSON variable could not be parsed into a string.',\n      solution:\n        'Ensure the variable can be parsed as a JSON string using \"JSON.stringify(myVariable)\".',\n    });\n  }\n}\n\n/** @group Errors */\nexport class InvalidJsonStringError extends SdkError {\n  constructor(options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'invalid_json_string',\n      title: 'Invalid JSON String',\n      problem: 'The provided string could not be parsed into a JSON variable.',\n      solution: 'Ensure the provided string uses a valid JSON syntax.',\n    });\n  }\n}\n\n/** @group Errors */\nexport class OperationUnauthorizedForGuestsError extends SdkError {\n  constructor(operation: string, options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'operation_unauthorized_for_guests',\n      title: 'Operation Unauthorized For Guests',\n      problem: `Trying to access the [${operation}] operation as a guest.`,\n      solution:\n        'Ensure your wallet is connected using the identity driver. ' +\n        'For instance, by using \"convergence.use(walletAdapterIdentity(wallet))\" or ' +\n        '\"convergence.use(keypairIdentity(keypair))\".',\n    });\n  }\n}\n\n/** @group Errors */\nexport class UninitializedWalletAdapterError extends SdkError {\n  constructor(options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'uninitialized_wallet_adapter',\n      title: 'Uninitialized Wallet Adapter',\n      problem: 'The current wallet adapter is not initialized.',\n      solution:\n        'You likely have selected a wallet adapter but forgot to initialize it. ' +\n        'You may do this by running the following asynchronous method: \"walletAdapter.connect();\".',\n    });\n  }\n}\n\n/** @group Errors */\nexport class OperationNotSupportedByWalletAdapterError extends SdkError {\n  constructor(operation: string, options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'operation_not_supported_by_wallet_adapter',\n      title: 'Operation Not Supported By Wallet Adapter',\n      problem: `The current wallet adapter does not support the following operation: [${operation}].`,\n      solution:\n        'Ensure your wallet is connected using a compatible wallet adapter.',\n    });\n  }\n}\n\n/** @group Errors */\nexport class TaskIsAlreadyRunningError extends SdkError {\n  constructor(options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'task_is_already_running',\n      title: 'Task Is Already Running',\n      // eslint-disable-next-line quotes\n      problem: \"Trying to re-run a task that hasn't completed yet.\",\n      solution:\n        'Ensure the task has completed using \"await\" before trying to run it again.',\n    });\n  }\n}\n\n/** @group Errors */\nexport class AssetNotFoundError extends SdkError {\n  constructor(location: string, options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'asset_not_found',\n      title: 'Asset Not Found',\n      problem: `The asset at [${location}] could not be found.`,\n      solution: 'Ensure the asset exists at the given path or URI.',\n    });\n  }\n}\n\n/** @group Errors */\nexport class AccountNotFoundError extends SdkError {\n  constructor(\n    address: PublicKey,\n    accountType?: string,\n    options?: ConvergenceErrorOptions\n  ) {\n    super({\n      options,\n      key: 'account_not_found',\n      title: 'Account Not Found',\n      problem:\n        (accountType\n          ? `The account of type [${accountType}] was not found`\n          : 'No account was found') +\n        ` at the provided address [${address.toBase58()}].`,\n      solution:\n        'Ensure the provided address is correct and that an account exists at this address.',\n    });\n  }\n}\n\n/** @group Errors */\nexport class UnexpectedAccountError extends SdkError {\n  constructor(\n    address: PublicKey,\n    expectedType: string,\n    options?: ConvergenceErrorOptions\n  ) {\n    super({\n      options,\n      key: 'unexpected_account',\n      title: 'Unexpected Account',\n      problem:\n        `The account at the provided address [${address.toBase58()}] ` +\n        `is not of the expected type [${expectedType}].`,\n      solution: `Ensure the provided address is correct and that it holds an account of type [${expectedType}].`,\n    });\n  }\n}\n\n/** @group Errors */\nexport class UnexpectedTypeError extends SdkError {\n  constructor(\n    variable: string,\n    actualType: string,\n    expectedType: string,\n    options?: ConvergenceErrorOptions\n  ) {\n    super({\n      options,\n      key: 'unexpected_type',\n      title: 'Unexpected Type',\n      problem: `Expected variable [${variable}] to be of type [${expectedType}] but got [${actualType}].`,\n      solution:\n        'Please check that you are providing the right variable for this use case.',\n    });\n  }\n}\n\n/** @group Errors */\nexport class ExpectedSignerError extends SdkError {\n  constructor(\n    variable: string,\n    actualType: string,\n    options?: ConvergenceErrorOptions\n  ) {\n    super({\n      options,\n      key: 'expected_signer',\n      title: 'Expected Signer',\n      problem: `Expected variable [${variable}] to be of type [Signer] but got [${actualType}].`,\n      solution:\n        'Please check that you are providing the variable as a signer. ' +\n        'Note that, it may be allowed to provide a non-signer variable for certain use cases but not this one.',\n    });\n  }\n}\n\n/** @group Errors */\nexport class ProgramNotRecognizedError extends SdkError {\n  nameOrAddress: string | PublicKey;\n  cluster: Cluster;\n  constructor(\n    nameOrAddress: string | PublicKey,\n    cluster: Cluster,\n    options?: ConvergenceErrorOptions\n  ) {\n    const isName = typeof nameOrAddress === 'string';\n    const toString = isName ? nameOrAddress : nameOrAddress.toBase58();\n    super({\n      options,\n      key: 'program_not_recognized',\n      title: 'Program Not Recognized',\n      problem:\n        `The provided program ${isName ? 'name' : 'address'} [${toString}] ` +\n        `is not recognized in the [${cluster}] cluster.`,\n      solution:\n        'Did you forget to register this program? ' +\n        'If so, you may use \"convergence.programs().register(myProgram)\" to fix this.',\n    });\n    this.nameOrAddress = nameOrAddress;\n    this.cluster = cluster;\n  }\n}\n\n/** @group Errors */\nexport class MissingGpaBuilderError extends SdkError {\n  program: Program;\n  constructor(program: Program, options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'missing_gpa_builder',\n      title: 'Missing \"getProgramAccount\" Builder',\n      problem: `The program [${program.name}] does not have a registered \"getProgramAccount\" builder.`,\n      solution:\n        'When registering a program, make sure you provide a \"gpaResolver\" ' +\n        'before trying to access its \"getProgramAccount\" builder.',\n    });\n    this.program = program;\n  }\n}\n\n/** @group Errors */\nexport class NoInstructionsToSendError extends SdkError {\n  constructor(\n    operation: string,\n    solution?: string,\n    options?: ConvergenceErrorOptions\n  ) {\n    super({\n      options,\n      key: 'no_instructions_to_send',\n      title: 'No Instructions To Send',\n      problem:\n        `The input provided to the [${operation}] resulted ` +\n        'in a Transaction containing no Instructions.',\n      solution:\n        solution ??\n        'Ensure that the provided input has an effect on the operation. ' +\n          'This typically happens when trying to update an account with ' +\n          'the same data it already contains.',\n    });\n  }\n}\n\n/** @group Errors */\nexport class FailedToSerializeDataError extends SdkError {\n  constructor(dataDescription: string, options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'failed_to_serialize_data',\n      title: 'Failed To Serialize Data',\n      problem: `The received data could not be serialized as a [${dataDescription}].`,\n      solution:\n        'Ensure the data is of the expected type so it can be serialized.',\n    });\n  }\n}\n\n/** @group Errors */\nexport class MissingInputDataError extends SdkError {\n  constructor(missingParameters: string[], options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'missing_input_data',\n      title: 'Missing Input Data',\n      problem: 'Some parameters are missing from the provided input object.',\n      solution:\n        'Please provide the following missing parameters: [' +\n        missingParameters.join(', ') +\n        '].',\n    });\n  }\n}\n\n/** @group Errors */\nexport class FailedToDeserializeDataError extends SdkError {\n  constructor(dataDescription: string, options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'failed_to_deserialize_data',\n      title: 'Failed To Deserialize Data',\n      problem: `The received serialized data could not be deserialized to a [${dataDescription}].`,\n      solution:\n        'Ensure the serialized data is not corrupted and complies with the expected type.',\n    });\n  }\n}\n\n/** @group Errors */\nexport class NotYetImplementedError extends SdkError {\n  constructor(options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'not_yet_implemented',\n      title: 'Not Yet Implemented',\n      problem: 'This feature is not yet implemented.',\n      solution: 'Please check back later.',\n    });\n  }\n}\n\n/** @group Errors */\nexport class UnreachableCaseError extends SdkError {\n  constructor(value: never, options?: ConvergenceErrorOptions) {\n    super({\n      options,\n      key: 'unreachable_case',\n      title: `The Case '${value}' in a Switch or If Statement went Unhandled.`,\n      problem:\n        'The developer is not handling that case yet or is missing a `break` or `return` statement.',\n      solution:\n        'Check your inputs or file an issue to have all cases handled properly.',\n    });\n  }\n}\n"],"names":["SdkError","_ConvergenceError","_inherits","input","_classCallCheck","_callSuper","_objectSpread","key","concat","source","_createClass","ConvergenceError","OperationHandlerMissingError","_SdkError","operationKey","options","title","problem","solution","DriverNotProvidedError","_SdkError2","driver","UnexpectedCurrencyError","_SdkError3","actual","expected","_this","CurrencyMismatchError","_SdkError4","left","right","operation","_this2","wrappedOperation","symbol","InvalidJsonVariableError","_SdkError5","InvalidJsonStringError","_SdkError6","OperationUnauthorizedForGuestsError","_SdkError7","UninitializedWalletAdapterError","_SdkError8","OperationNotSupportedByWalletAdapterError","_SdkError9","TaskIsAlreadyRunningError","_SdkError10","AssetNotFoundError","_SdkError11","location","AccountNotFoundError","_SdkError12","address","accountType","toBase58","UnexpectedAccountError","_SdkError13","expectedType","UnexpectedTypeError","_SdkError14","variable","actualType","ExpectedSignerError","_SdkError15","ProgramNotRecognizedError","_SdkError16","nameOrAddress","cluster","_this3","isName","toString","MissingGpaBuilderError","_SdkError17","program","_this4","name","NoInstructionsToSendError","_SdkError18","FailedToSerializeDataError","_SdkError19","dataDescription","MissingInputDataError","_SdkError20","missingParameters","join","FailedToDeserializeDataError","_SdkError21","NotYetImplementedError","_SdkError22","UnreachableCaseError","_SdkError23","value"],"mappings":"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"}