Offline Transaction Signing (OTS) 0.1.0
Loading...
Searching...
No Matches
ots-exceptions.hpp File Reference

Header for the C++ library Exceptions. More...

#include <vector>
#include <stdexcept>
#include <string>
Include dependency graph for ots-exceptions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ots::exception::Exception
 
struct  ots::exception::Exception::RegisteredException
 
class  ots::exception::RuntimeError
 Conditions only detectable at runtime. More...
 
class  ots::exception::LogicError
 violation of logical preconditions or class invariants More...
 
class  ots::exception::InvalidArgument
 provided an invalid argument More...
 
class  ots::exception::RangeError
 range error in internal computation More...
 
class  ots::exception::NotImplementedYet
 Sole purpose of this exception is to create already the stub and mark as incomplete, you should never get such exception in the complete library. More...
 
class  ots::exception::DomainError
 errors related to the library use itself More...
 
class  ots::exception::OutOfRange
 arguments outside of expected range. Needle not in Haystack ;) More...
 
class  ots::exception::BufferOverflowException
 size is bigger then buffer More...
 
class  ots::exception::MemoryAllocationError
 Could not allocate memory. More...
 
class  ots::exception::SecurityException
 Any security realted issue. More...
 
class  ots::exception::SecurityError
 Any security realted error: like no random generator available. More...
 
class  ots::exception::LowEntropy
 Low entropy detected. More...
 
class  ots::exception::UnknownNetwork
 a network is not known More...
 
class  ots::exception::wipeablestring::UnsafeConversion
 a conversion to std::string is not allowed More...
 
class  ots::exception::wipeablevector::UnsafeConversion
 a conversion to std::vector is not allowed More...
 
class  ots::exception::sign::InvalidSignature
 a signature is invalid More...
 
class  ots::exception::sign::EmptyMessage
 a message is empty More...
 
class  ots::exception::sign::EmptySignature
 a signature is empty More...
 
class  ots::exception::seed::NoDefaultLanguageSet
 a default language is expected but not set More...
 
class  ots::exception::seed::LanguageNotFound
 a language expected if not found More...
 
class  ots::exception::seed::LanguageNotSupportedBySeedType
 a language is not supported by the seed type More...
 
class  ots::exception::seed::WordCount
 a seed expected has a different word count. Polyseed are 16 words, Monero Seeds are 25 words, Legacy Seeds are 13 words More...
 
class  ots::exception::seed::SeedEncodingFailed
 a seed could not be encoded More...
 
class  ots::exception::seed::SeedDecodingFailed
 a seed could not be encoded More...
 
class  ots::exception::seed::LengthMismatch
 a seed expected has a different length, and is used instead of WordCount on merging Values/seed phrases together. The length of the seed phrases or values must be the same, you can't merge a 25 words Monero Seed with a 16 words Polyseed e.g. More...
 
class  ots::exception::seed::TooFewValues
 you need at least two values to merge. More...
 
class  ots::exception::seed::PasswordNotSupported
 a password is not supported for the seed type More...
 
class  ots::exception::seed::MergeError
 a seed index could not be merged More...
 
class  ots::exception::polyseed::WordCount
 a polyseed expected has a different word count. Polyseed are 16 words More...
 
class  ots::exception::polyseed::UnsupportedLanguage
 a language is not supported by polyseed More...
 
class  ots::exception::polyseed::ChecksumMismatch
 a checksum mismatch detected More...
 
class  ots::exception::polyseed::UnsupportedFeatures
 a feature is not supported by polyseed More...
 
class  ots::exception::polyseed::InvalidSeedFormat
 a seed phrase is not in the expected format More...
 
class  ots::exception::polyseed::MemoryAllocationError
 Could not allocate memory. More...
 
class  ots::exception::polyseed::AmbigousLanguage
 Seed phrase language is ambigous. Language must be explicit specified. More...
 
class  ots::exception::polyseed::NoPasswordProvided
 Seed encrypted, but no password provided. More...
 
class  ots::exception::legacyseed::InvalidSeedFormat
 
class  ots::exception::seedjar::SeedNotFound
 a seed expected if not found More...
 
class  ots::exception::keystore::LockedAccessAttempt
 a process tried to access locked key data More...
 
class  ots::exception::keystore::LockedWriteAttempt
 a process tried to write to locked key data More...
 
class  ots::exception::keystore::polyseed::ActivePolyseedDataSession
 a process tried to start a new session during an active session ongoing More...
 
class  ots::exception::keystore::polyseed::NoActivePolyseedDataSession
 no active session ongoing which could be commited or discarded More...
 
class  ots::exception::keystore::polyseed::PolyseedDataReadOnlySession
 write attempt while read only session More...
 
class  ots::exception::wallet::AddressNotFound
 wallet does not contain the provided address More...
 
class  ots::exception::wallet::ImportOutputs
 Import outputs failed. More...
 
class  ots::exception::wallet::ExportKeyImages
 export key images failed More...
 
class  ots::exception::wallet::InvalidCiphertext
 the provided ciphertext is not valid More...
 
class  ots::exception::wallet::CiphertextAuthenticationFailed
 the provided ciphertext is not valid More...
 
class  ots::exception::wallet::InternalError
 an internal error occurred (monero specific) More...
 
class  ots::exception::account::GenerationFailed
 account generation failed More...
 
class  ots::exception::tx::Invalid
 the provided unsigned transaction is not valid More...
 
class  ots::exception::address::Invalid
 The provided string is not a valid Monero address. More...
 
class  ots::exception::address::NotIntegrated
 The provided string is not an integrated address. More...
 

Namespaces

namespace  ots
 The library exists complete only in this namespace.
 
namespace  ots::exception
 All ots library related exceptions are in this namespace.
 
namespace  ots::exception::wipeablestring
 All exceptions related to ots::WipeableString.
 
namespace  ots::exception::wipeablevector
 All exceptions related to ots::WipeableVector.
 
namespace  ots::exception::sign
 All exceptions related to sign data.
 
namespace  ots::exception::seed
 All exceptions related to ots::Seed.
 
namespace  ots::exception::polyseed
 All exceptions related to ots::Polyseed.
 
namespace  ots::exception::legacyseed
 All exceptions related to ots::LegacySeed.
 
namespace  ots::exception::seedjar
 All exceptions related to ots::SeedJar.
 
namespace  ots::exception::keystore
 All exceptions related to ots::KeyStore.
 
namespace  ots::exception::keystore::polyseed
 All exceptions related to ots::PolyseedKeyStore.
 
namespace  ots::exception::wallet
 All exceptions related to ots::Wallet.
 
namespace  ots::exception::account
 All exceptions related to ots::Account.
 
namespace  ots::exception::tx
 All exceptions related Transactions in ots::Wallet, ots::TxWarning, ots::TxDescription.
 
namespace  ots::exception::address
 All exceptions related to ots::Address.
 

Macros

#define NOT_IMPLEMENTED_YET()   throw ots::exception::NotImplementedYet(__func__)
 
#define REGISTER_EXCEPTION(CLASS, CODE, NAME)
 

Detailed Description

Header for the C++ library Exceptions.

Macro Definition Documentation

◆ NOT_IMPLEMENTED_YET

#define NOT_IMPLEMENTED_YET ( )    throw ots::exception::NotImplementedYet(__func__)

◆ REGISTER_EXCEPTION

#define REGISTER_EXCEPTION (   CLASS,
  CODE,
  NAME 
)
Value:
static constexpr int32_t error_code = CODE; \
static constexpr const char* error_class = NAME; \
protected: \
static inline bool registered = ots::exception::Exception::registerException<CLASS>(error_code, error_class);