case.dbMigrationGenericFailure:return"Migration of the pending DB failed because of unspecific reason."
case.dbMigrationInvalidVersion:return"Migration of the pending DB failed because unknown version of the existing database."
case.dbMigrationV1:return"Migration of the pending DB to version 1 failed."
case.dbMigrationV2:return"Migration of the pending DB to version 2 failed."
case.simpleConnectionProvider:return"SimpleConnectionProvider init of Connection failed."
case.saplingParamsInvalidSpendParams:return"Downloaded file with sapling spending parameters isn't valid."
case.saplingParamsInvalidOutputParams:return"Downloaded file with sapling output parameters isn't valid."
case.saplingParamsDownload:return"Failed to download sapling parameters file"
case.saplingParamsCantMoveDownloadedFile:return"Failed to move sapling parameters file to final destination after download."
case.notesDAOReceivedCount:return"SQLite query failed when fetching received notes count from the database."
case.notesDAOReceivedNote:return"SQLite query failed when fetching received notes from the database."
case.notesDAOReceivedCantDecode:return"Fetched note from the SQLite but can't decode that."
case.notesDAOSentCount:return"SQLite query failed when fetching sent notes count from the database."
case.notesDAOSentNote:return"SQLite query failed when fetching sent notes from the database."
case.notesDAOSentCantDecode:return"Fetched note from the SQLite but can't decode that."
case.blockDAOBlock:return"SQLite query failed when fetching block information from database."
case.blockDAOCantDecode:return"Fetched block information from DB but can't decode them."
case.blockDAOLatestBlockHeight:return"SQLite query failed when fetching height of the latest block from the database."
case.blockDAOLatestBlock:return"SQLite query failed when fetching the latest block from the database."
case.blockDAOLatestBlockCantDecode:return"Fetched latesxt block information from DB but can't decode them."
case.rustCreateAccount:return"Error from rust layer when calling ZcashRustBackend.createAccount"
case.rustCreateToAddress:return"Error from rust layer when calling ZcashRustBackend.createToAddress"
case.rustDecryptAndStoreTransaction:return"Error from rust layer when calling ZcashRustBackend.decryptAndStoreTransaction"
case.rustGetBalance:return"Error from rust layer when calling ZcashRustBackend.getBalance"
case.rustGetCurrentAddress:return"Error from rust layer when calling ZcashRustBackend.getCurrentAddress"
case.rustGetCurrentAddressInvalidAddress:return"Unified address generated by rust layer is invalid when calling ZcashRustBackend.getCurrentAddress"
case.rustGetNearestRewindHeight:return"Error from rust layer when calling ZcashRustBackend.getNearestRewindHeight"
case.rustGetNextAvailableAddress:return"Error from rust layer when calling ZcashRustBackend.getNextAvailableAddress"
case.rustGetNextAvailableAddressInvalidAddress:return"Unified address generated by rust layer is invalid when calling ZcashRustBackend.getNextAvailableAddress"
case.rustGetTransparentBalanceNegativeAccount:return"account parameter is lower than 0 when calling ZcashRustBackend.getTransparentBalance"
case.rustGetTransparentBalance:return"Error from rust layer when calling ZcashRustBackend.getTransparentBalance"
case.rustGetVerifiedBalance:return"Error from rust layer when calling ZcashRustBackend.getVerifiedBalance"
case.rustGetVerifiedTransparentBalanceNegativeAccount:return"account parameter is lower than 0 when calling ZcashRustBackend.getVerifiedTransparentBalance"
case.rustGetVerifiedTransparentBalance:return"Error from rust layer when calling ZcashRustBackend.getVerifiedTransparentBalance"
case.rustInitDataDb:return"Error from rust layer when calling ZcashRustBackend.initDataDb"
case.rustInitAccountsTableViewingKeyCotainsNullBytes:return"Any of the viewing keys passed to the ZcashRustBackend.initAccountsTable method contains null bytes before end"
case.rustInitAccountsTableViewingKeyIsInvalid:return"Any of the viewing keys passed to the ZcashRustBackend.initAccountsTable method isn't valid"
case.rustInitAccountsTableDataDbNotEmpty:return"Error from rust layer when calling ZcashRustBackend.initAccountsTable"
case.rustInitAccountsTable:return"Error from rust layer when calling ZcashRustBackend.initAccountsTable"
case.rustInitBlockMetadataDb:return"Error from rust layer when calling ZcashRustBackend.initBlockMetadataDb"
case.rustWriteBlocksMetadataAllocationProblem:return"Unable to allocate memory required to write blocks when calling ZcashRustBackend.writeBlocksMetadata"
case.rustWriteBlocksMetadata:return"Error from rust layer when calling ZcashRustBackend.writeBlocksMetadata"
case.rustInitBlocksTableHashContainsNullBytes:return"hash passed to the ZcashRustBackend.initBlocksTable method contains null bytes before end"
case.rustInitBlocksTableSaplingTreeContainsNullBytes:return"saplingTree passed to the ZcashRustBackend.initBlocksTable method contains null bytes before end"
case.rustInitBlocksTableDataDbNotEmpty:return"Error from rust layer when calling ZcashRustBackend.initBlocksTable"
case.rustInitBlocksTable:return"Error from rust layer when calling ZcashRustBackend.initBlocksTable"
case.rustListTransparentReceivers:return"Error from rust layer when calling ZcashRustBackend.listTransparentReceivers"
case.rustListTransparentReceiversInvalidAddress:return"Transparent receiver generated by rust layer is invalid when calling ZcashRustBackend.listTransparentReceivers"
case.rustPutUnspentTransparentOutput:return"Error from rust layer when calling ZcashRustBackend.putUnspentTransparentOutput"
case.rustValidateCombinedChainValidationFailed:return"Error unrelated to chain validity from rust layer when calling ZcashRustBackend.validateCombinedChain"
case.rustValidateCombinedChainInvalidChain:return"Error from rust layer which means that combined chain isn't valid."
case.rustRewindToHeight:return"Error from rust layer when calling ZcashRustBackend.rewindToHeight"
case.rustRewindCacheToHeight:return"Error from rust layer when calling ZcashRustBackend.rewindCacheToHeight"
case.rustScanBlocks:return"Error from rust layer when calling ZcashRustBackend.scanBlocks"
case.rustShieldFunds:return"Error from rust layer when calling ZcashRustBackend.shieldFunds"
case.rustNoConsensusBranchId:return"Error from rust layer when calling ZcashRustBackend.consensusBranchIdFor"
case.rustReceiverTypecodesOnUnifiedAddressContainsNullBytes:return"address passed to the ZcashRustBackend.receiverTypecodesOnUnifiedAddress method contains null bytes before end"
case.rustRustReceiverTypecodesOnUnifiedAddressMalformed:return"Error from rust layer when calling ZcashRustBackend.receiverTypecodesOnUnifiedAddress"
case.rustDeriveUnifiedSpendingKey:return"Error from rust layer when calling ZcashRustBackend.deriveUnifiedSpendingKey"
case.rustDeriveUnifiedFullViewingKey:return"Error from rust layer when calling ZcashRustBackend.deriveUnifiedFullViewingKey"
case.rustDeriveUnifiedFullViewingKeyInvalidDerivedKey:return"Viewing key derived by rust layer is invalid when calling ZcashRustBackend.deriveUnifiedFullViewingKey"
case.rustGetSaplingReceiverInvalidAddress:return"Error from rust layer when calling ZcashRustBackend.getSaplingReceiver"
case.rustGetSaplingReceiverInvalidReceiver:return"Sapling receiver generated by rust layer is invalid when calling ZcashRustBackend.getSaplingReceiver"
case.rustGetTransparentReceiverInvalidAddress:return"Error from rust layer when calling ZcashRustBackend.getTransparentReceiver"
case.rustGetTransparentReceiverInvalidReceiver:return"Transparent receiver generated by rust layer is invalid when calling ZcashRustBackend.getTransparentReceiver"
case.accountDAOGetAll:return"SQLite query failed when fetching all accounts from the database."
case.accountDAOGetAllCantDecode:return"Fetched accounts from SQLite but can't decode them."
case.accountDAOFindBy:return"SQLite query failed when seaching for accounts in the database."
case.accountDAOFindByCantDecode:return"Fetched accounts from SQLite but can't decode them."
case.accountDAOUpdateInvalidAccount:return"Object passed to update() method conforms to `AccountEntity` protocol but isn't exactly `Account` type."
case.accountDAOUpdate:return"SQLite query failed when updating account in the database."
case.accountDAOUpdatedZeroRows:return"Update of the account updated 0 rows in the database. One row should be updated."
case.blockRepositoryWriteBlock:return"Failed to write block to disk."
case.blockRepositoryGetFilename:return"Failed to get filename for the block from file URL."
case.blockRepositoryParseHeightFromFilename:return"Failed to parse block height from filename."
case.blockRepositoryRemoveExistingBlock:return"Failed to remove existing block from disk."
case.blockRepositoryGetFilenameAndIsDirectory:return"Failed to get filename and information if url points to directory from file URL."
case.blockRepositoryCreateBlocksCacheDirectory:return"Failed to create blocks cache directory."
case.blockRepositoryReadDirectoryContent:return"Failed to read content of directory."
case.blockRepositoryRemoveBlockAfterRewind:return"Failed to remove block from disk after rewind operation."
case.blockRepositoryRemoveBlocksCacheDirectory:return"Failed to remove blocks cache directory while clearing storage."
case.blockRepositoryRemoveBlockClearingCache:return"Failed to remove block from cache when clearing cache up to some height."
case.blockDownloadSyncRangeNotSet:return"Trying to download blocks before sync range is set in `BlockDownloaderImpl`. This means that download stream is not created and download cant' start."
case.blockDownloaderServiceDownloadBlockRange:return"Stream downloading the given block range failed."
case.zcashTransactionOverviewInit:return"Initialization of `ZcashTransaction.Overview` failed."
case.zcashTransactionReceivedInit:return"Initialization of `ZcashTransaction.Received` failed."
case.zcashTransactionSentInit:return"Initialization of `ZcashTransaction.Sent` failed."
case.transactionRepositoryEntityNotFound:return"Entity not found in the database, result of `createEntity` execution."
case.transactionRepositoryTransactionMissingRequiredFields:return"`Find` call is missing fields, required fields are transaction `index` and `blockTime`."
case.transactionRepositoryCountAll:return"Counting all transactions failed."
case.transactionRepositoryCountUnmined:return"Counting all unmined transactions failed."
case.transactionRepositoryQueryExecute:return"Execution of a query failed."
case.transactionRepositoryFindMemos:return"Finding memos in the database failed."
case.pendingTransactionDAOCreate:return"SQLite query failed when creating pending transaction."
case.pendingTransactionDAOUpdateMissingID:return"Pending transaction which should be updated is missing ID."
case.pendingTransactionDAOUpdate:return"SQLite query failed when updating pending transaction."
case.pendingTransactionDAODeleteMissingID:return"Pending transaction which should be deleted is missing ID."
case.pendingTransactionDAODelete:return"SQLite query failed when deleting pending transaction."
case.pendingTransactionDAOCancelMissingID:return"Pending transaction which should be canceled is missing ID."
case.pendingTransactionDAOCancel:return"SQLite query failed when canceling pending transaction."
case.pendingTransactionDAOFind:return"SQLite query failed when seaching for pending transaction."
case.pendingTransactionDAOGetAll:return"SQLite query failed when getting pending transactions."
case.pendingTransactionDAOApplyMinedHeight:return"SQLite query failed when applying mined height."
case.derivationToolSpendingKeyInvalidAccount:return"Invalid account when trying to derive spending key"
case.unspentTransactionOutputDAOCreateTable:return"Creation of the table for unspent transaction output failed."
case.unspentTransactionOutputDAOStore:return"SQLite query failed when storing unspent transaction output."
case.unspentTransactionOutputDAOClearAll:return"SQLite query failed when removing all the unspent transation outputs."
case.unspentTransactionOutputDAOGetAllCantDecode:return"Fetched information about unspent transaction output from the DB but it can't be decoded to `UTXO` object."
case.unspentTransactionOutputDAOGetAll:return"SQLite query failed when getting all the unspent transation outputs."
case.unspentTransactionOutputDAOBalance:return"SQLite query failed when getting balance."
case.spendingKeyInvalidInput:return"Can't create `SaplingExtendedSpendingKey` because input is invalid."
case.unifiedFullViewingKeyInvalidInput:return"Can't create `UnifiedFullViewingKey` because input is invalid."
case.extetendedFullViewingKeyInvalidInput:return"Can't create `SaplingExtendedFullViewingKey` because input is invalid."
case.transparentAddressInvalidInput:return"Can't create `TransparentAddress` because input is invalid."
case.saplingAddressInvalidInput:return"Can't create `SaplingAddress` because input is invalid."
case.unifiedAddressInvalidInput:return"Can't create `UnifiedAddress` because input is invalid."
case.recipientInvalidInput:return"Can't create `Recipient` because input is invalid."
case.walletTransEncoderCreateTransactionMissingSaplingParams:return"WalletTransactionEncoder wants to create transaction but files with sapling parameters are not present on disk."
case.walletTransEncoderShieldFundsMissingSaplingParams:return"WalletTransactionEncoder wants to shield funds but files with sapling parameters are not present on disk."
case.persistentTransManagerEncodeUknownToAddress:return"PersistentTransactionsManager cant get to address from pending transaction."
case.persistentTransManagerSubmitTransactionIDMissing:return"PersistentTransactionsManager wants to submit pending transaction but transaction is missing id."
case.persistentTransManagerSubmitTransactionNotFound:return"PersistentTransactionsManager wants to submit pending transaction but transaction is missing id. Transaction is probably not stored."
case.persistentTransManagerSubmitTransactionCanceled:return"PersistentTransactionsManager wants to submit pending transaction but transaction is canceled."
case.persistentTransManagerSubmitTransactionRawDataMissing:return"PersistentTransactionsManager wants to submit pending transaction but transaction is missing raw data."
case.persistentTransManagerSubmitFailed:return"PersistentTransactionsManager wants to submit pending transaction but submit API call failed."
case.persistentTransManagerApplyMinedHeightTransactionIDMissing:return"PersistentTransactionsManager wants to apply mined height to transaction but transaction is missing id. Transaction is probably not stored."
case.persistentTransManagerApplyMinedHeightTransactionNotFound:return"PersistentTransactionsManager wants to apply mined height to transaction but transaction is not found in storage. Transaction is probably not stored."
case.zatoshiDecode:return"Initiatilzation fo `Zatoshi` from a decoder failed."
case.zatoshiEncode:return"Encode of `Zatoshi` failed."
case.unspentTransactionFetcherStream:return"Awaiting transactions from the stream failed."
case.compactBlockProcessorInvalidConfiguration:return"CompactBlockProcessor was started with an invalid configuration."
case.compactBlockProcessorMissingDbPath:return"CompactBlockProcessor was set up with path but that location couldn't be reached."
case.compactBlockProcessorDataDbInitFailed:return"Data Db file couldn't be initialized at path."
case.compactBlockProcessorConnection:return"There's a problem with the network connection."
case.compactBlockProcessorGrpcError:return"Error on gRPC happened."
case.compactBlockProcessorWrongConsensusBranchId:return"The remote server you are connecting to is publishing a different branch ID than the one your App is expecting This could be caused by your App being out of date or the server you are connecting you being either on a different network or out of date after a network upgrade."
case.compactBlockProcessorNetworkMismatch:return"A server was reached, but it's targeting the wrong network Type. Make sure you are pointing to the right server."
case.compactBlockProcessorSaplingActivationMismatch:return"A server was reached, it's showing a different sapling activation. Are you sure you are pointing to the right server?"
case.compactBlockProcessorCacheDbMigrationFsCacheMigrationFailedSameURL:return"when the given URL is the same URL than the one provided as `self.fsBlockDbRoot` assuming that's a programming error being the `legacyCacheDbURL` a sqlite database file and not a directory"
case.compactBlockProcessorCacheDbMigrationFailedToDeleteLegacyDb:return"Deletion of readable file at the provided URL failed."
case.compactBlockProcessorChainName:return"Chain name does not match. Expected either 'test' or 'main'. This is probably an API or programming error."
case.compactBlockProcessorConsensusBranchID:return"Consensus BranchIDs don't match this is probably an API or programming error."
case.synchronizerNotPrepared:return"The synchronizer is unprepared."
case.synchronizerSendMemoToTransparentAddress:return"Memos can't be sent to transparent addresses."
case.synchronizerShieldFundsInsuficientTransparentFunds:return"There is not enough transparent funds to cover fee for the shielding."
case.synchronizerLatestUTXOsInvalidTAddress:return"LatestUTXOs for the address failed, invalid t-address."