#ifndef OC_ISSUER_BIG_INT_HPP #define OC_ISSUER_BIG_INT_HPP #include #include #include "tl/expected.hpp" struct BigInt { BigInt() : data() {} virtual ~BigInt() = default; enum class eError : uint8_t { PARSE_ERROR }; static tl::expected from_string(const std::string &str); static BigInt from_int(uint64_t value); [[nodiscard]] std::string to_string() const; friend bool operator == (const BigInt& rhs, const BigInt& lhs); private: std::array data; }; bool operator==(const BigInt &rhs, const BigInt &lhs); #endif // #ifndef #ifndef OC_ISSUER_BIG_INT_HPP