|
using | Address = h160 |
|
using | Addresses = h160s |
| A vector of Ethereum addresses.
|
|
using | AddressSet = std::unordered_set< h160 > |
| A hash set of Ethereum addresses.
|
|
using | errinfo_comment = boost::error_info< struct tag_comment, std::string > |
|
using | bytes = std::vector<::byte > |
|
using | bytesRef = vector_ref<::byte > |
|
using | bytesConstRef = vector_ref<::byte const > |
|
using | bytesSec = secure_vector<::byte > |
|
using | bigint = boost::multiprecision::number< boost::multiprecision::cpp_int_backend<> > |
|
using | u64 = boost::multiprecision::number< boost::multiprecision::cpp_int_backend< 64, 64, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void > > |
|
using | u128 = boost::multiprecision::number< boost::multiprecision::cpp_int_backend< 128, 128, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void > > |
|
using | u256 = boost::multiprecision::number< boost::multiprecision::cpp_int_backend< 256, 256, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void > > |
|
using | s256 = boost::multiprecision::number< boost::multiprecision::cpp_int_backend< 256, 256, boost::multiprecision::signed_magnitude, boost::multiprecision::unchecked, void > > |
|
using | u160 = boost::multiprecision::number< boost::multiprecision::cpp_int_backend< 160, 160, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void > > |
|
using | s160 = boost::multiprecision::number< boost::multiprecision::cpp_int_backend< 160, 160, boost::multiprecision::signed_magnitude, boost::multiprecision::unchecked, void > > |
|
using | u512 = boost::multiprecision::number< boost::multiprecision::cpp_int_backend< 512, 512, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void > > |
|
using | s512 = boost::multiprecision::number< boost::multiprecision::cpp_int_backend< 512, 512, boost::multiprecision::signed_magnitude, boost::multiprecision::unchecked, void > > |
|
using | u256s = std::vector< u256 > |
|
using | u160s = std::vector< u160 > |
|
using | u256Set = std::set< u256 > |
|
using | u160Set = std::set< u160 > |
|
using | StringMap = std::map< std::string, std::string > |
|
using | BytesMap = std::map< bytes, bytes > |
|
using | u256Map = std::map< u256, u256 > |
|
using | HexMap = std::map< bytes, bytes > |
|
using | StringHashMap = std::unordered_map< std::string, std::string > |
|
using | u256HashMap = std::unordered_map< u256, u256 > |
|
using | strings = std::vector< std::string > |
|
using | errinfo_invalidSymbol = boost::error_info< struct tag_invalidSymbol, char > |
|
using | errinfo_wrongAddress = boost::error_info< struct tag_address, std::string > |
|
using | errinfo_required = boost::error_info< struct tag_required, bigint > |
|
using | errinfo_got = boost::error_info< struct tag_got, bigint > |
|
using | errinfo_min = boost::error_info< struct tag_min, bigint > |
|
using | errinfo_max = boost::error_info< struct tag_max, bigint > |
|
using | RequirementError = boost::tuple< errinfo_required, errinfo_got > |
|
using | RequirementErrorComment = boost::tuple< errinfo_required, errinfo_got, errinfo_comment > |
|
using | errinfo_hash256 = boost::error_info< struct tag_hash, h256 > |
|
using | errinfo_required_h256 = boost::error_info< struct tag_required_h256, h256 > |
|
using | errinfo_got_h256 = boost::error_info< struct tag_get_h256, h256 > |
|
using | Hash256RequirementError = boost::tuple< errinfo_required_h256, errinfo_got_h256 > |
|
using | errinfo_extraData = boost::error_info< struct tag_extraData, bytes > |
|
using | errinfo_externalFunction = boost::errinfo_api_function |
|
using | errinfo_interface = boost::error_info< struct tag_interface, std::string > |
|
using | errinfo_path = boost::error_info< struct tag_path, std::string > |
|
using | errinfo_nodeID = boost::error_info< struct tag_nodeID, h512 > |
|
using | h2048 = FixedHash< 256 > |
|
using | h1024 = FixedHash< 128 > |
|
using | h520 = FixedHash< 65 > |
|
using | h512 = FixedHash< 64 > |
|
using | h256 = FixedHash< 32 > |
|
using | h160 = FixedHash< 20 > |
|
using | h128 = FixedHash< 16 > |
|
using | h64 = FixedHash< 8 > |
|
using | h512s = std::vector< h512 > |
|
using | h256s = std::vector< h256 > |
|
using | h160s = std::vector< h160 > |
|
using | h256Set = std::set< h256 > |
|
using | h160Set = std::set< h160 > |
|
using | h256Hash = std::unordered_set< h256 > |
|
using | h160Hash = std::unordered_set< h160 > |
|
using | Mutex = std::mutex |
|
using | RecursiveMutex = std::recursive_mutex |
|
using | SharedMutex = boost::shared_mutex |
|
using | Guard = std::lock_guard< std::mutex > |
|
using | UniqueGuard = std::unique_lock< std::mutex > |
|
using | RecursiveGuard = std::lock_guard< std::recursive_mutex > |
|
using | ReadGuard = boost::shared_lock< boost::shared_mutex > |
|
using | UpgradableGuard = boost::upgrade_lock< boost::shared_mutex > |
|
using | UpgradeGuard = boost::upgrade_to_unique_lock< boost::shared_mutex > |
|
using | WriteGuard = boost::unique_lock< boost::shared_mutex > |
|
using | Secret = SecureFixedHash< 32 > |
|
using | Public = h512 |
|
using | PublicCompressed = FixedHash< 33 > |
|
using | Signature = h520 |
|
using | CompactSignature = h512 |
|
using | Secrets = std::vector< Secret > |
| A vector of secrets.
|
|
|
bool | assertAux (bool _a, char const *_aStr, unsigned _line, char const *_file, char const *_func) |
|
template<class A , class B > |
bool | assertEqualAux (A const &_a, B const &_b, char const *_aStr, char const *_bStr, unsigned _line, char const *_file, char const *_func) |
|
template<class _ExceptionType > |
void | assertThrowAux (bool _condition, ::std::string const &_errorDescription, unsigned _line, char const *_file, char const *_function) |
|
template<class _ExceptionType > |
void | assertThrowAux (void const *_pointer, ::std::string const &_errorDescription, unsigned _line, char const *_file, char const *_function) |
|
std::string | toBase64 (bytesConstRef _in) |
|
std::string | toBase64URLSafe (bytesConstRef _in) |
|
bytes | fromBase64 (std::string const &_in) |
|
int64_t | utcTime () |
| Get the current time in seconds since the epoch in UTC.
|
|
template<size_t n> |
u256 | exp10 () |
|
template<> |
u256 | exp10< 0 > () |
|
template<class Iterator > |
std::string | toHex (Iterator _it, Iterator _end, std::string const &_prefix) |
|
template<class T > |
std::string | toHex (T const &_data) |
|
template<class T > |
std::string | toHexPrefixed (T const &_data) |
|
bytes | fromHex (std::string const &_s, WhenError _throw=WhenError::DontThrow) |
|
bool | isHex (std::string const &_s) noexcept |
|
template<class T > |
static bool | isHash (std::string const &_hash) |
|
std::string | asString (bytes const &_b) |
|
std::string | asString (bytesConstRef _b) |
|
bytes | asBytes (std::string const &_b) |
| Converts a string to a byte array containing the string's (byte) data.
|
|
bytes | asNibbles (bytesConstRef const &_s) |
|
template<class T , class Out > |
void | toBigEndian (T _val, Out &o_out) |
|
template<class T , class _In > |
T | fromBigEndian (_In const &_bytes) |
|
std::string | toBigEndianString (u256 _val) |
| Convenience functions for toBigEndian.
|
|
std::string | toBigEndianString (u160 _val) |
|
bytes | toBigEndian (u256 _val) |
|
bytes | toBigEndian (u160 _val) |
|
template<class T > |
bytes | toCompactBigEndian (T _val, unsigned _min=0) |
|
bytes | toCompactBigEndian (::byte _val, unsigned _min=0) |
|
template<class T > |
std::string | toCompactBigEndianString (T _val, unsigned _min=0) |
|
std::string | toCompactHex (u256 _val, unsigned _min=0) |
|
std::string | toCompactHexPrefixed (u256 _val, unsigned _min=0) |
|
std::string | escaped (std::string const &_s, bool _all=true) |
|
template<class T , class _U > |
unsigned | commonPrefix (T const &_t, _U const &_u) |
|
template<class T > |
unsigned | bytesRequired (T _i) |
|
template<class T > |
void | trimFront (T &_t, unsigned _elements) |
|
template<class T , class _U > |
void | pushFront (T &_t, _U _e) |
|
template<class T , class U > |
std::vector< T > & | operator+= (std::vector< T > &_a, U const &_b) |
| Concatenate the contents of a container onto a vector.
|
|
template<class T , class U > |
std::set< T > & | operator+= (std::set< T > &_a, U const &_b) |
| Insert the contents of a container into a set.
|
|
template<class T , class U > |
std::unordered_set< T > & | operator+= (std::unordered_set< T > &_a, U const &_b) |
| Insert the contents of a container into an unordered_set.
|
|
template<class T , class U > |
std::set< T > | operator+ (std::set< T > _a, U const &_b) |
| Insert the contents of a container into a set.
|
|
template<class T , class U > |
std::unordered_set< T > | operator+ (std::unordered_set< T > _a, U const &_b) |
| Insert the contents of a container into an unordered_set.
|
|
template<class T , class U > |
std::vector< T > | operator+ (std::vector< T > _a, U const &_b) |
| Concatenate the contents of a container onto a vector.
|
|
template<class T , class U > |
std::vector< T > | keysOf (std::map< T, U > const &_m) |
|
template<class T , class U > |
std::vector< T > | keysOf (std::unordered_map< T, U > const &_m) |
|
template<class T , class U > |
std::vector< U > | valuesOf (std::map< T, U > const &_m) |
|
template<class T , class U > |
std::vector< U > | valuesOf (std::unordered_map< T, U > const &_m) |
|
template<class T , class V > |
bool | contains (T const &_t, V const &_v) |
|
template<class V > |
bool | contains (std::unordered_set< V > const &_set, V const &_v) |
|
template<class K , class V > |
bool | contains (std::unordered_map< K, V > const &_map, K const &_k) |
|
template<class V > |
bool | contains (std::set< V > const &_set, V const &_v) |
|
template<typename N > |
static constexpr std::enable_if_t<!std::is_enum_v< N >, bool > | is_integer (Signedness sig) |
|
template<typename N > |
static constexpr std::enable_if_t< std::is_enum_v< N >, bool > | is_integer (Signedness sig) |
|
std::ostream & | operator<< (std::ostream &_out, bytes const &_e) |
|
template<class T > |
std::ostream & | operator<< (std::ostream &_out, std::vector< T > const &_e) |
|
template<class T , std::size_t Z> |
std::ostream & | operator<< (std::ostream &_out, std::array< T, Z > const &_e) |
|
template<class T , class U > |
std::ostream & | operator<< (std::ostream &_out, std::set< T, U > const &_e) |
|
template<class T , class U > |
std::ostream & | operator<< (std::ostream &_out, std::unordered_set< T, U > const &_e) |
|
template<class T > |
std::string | toString (std::chrono::time_point< T > const &_e, std::string const &_format="%F %T") |
|
template<class T > |
std::ostream & | streamout (std::ostream &_out, std::vector< T > const &_e) |
|
template<class T , std::size_t Z> |
std::ostream & | streamout (std::ostream &_out, std::array< T, Z > const &_e) |
|
template<class T > |
std::ostream & | streamout (std::ostream &_out, std::set< T > const &_v) |
|
template<class T > |
std::ostream & | operator<< (std::ostream &_out, std::set< T > const &_e) |
|
template<class T > |
std::ostream & | streamout (std::ostream &_out, std::unordered_set< T > const &_v) |
|
template<class T > |
std::ostream & | operator<< (std::ostream &_out, std::unordered_set< T > const &_e) |
|
template<class _T > |
std::string | toString (_T const &_t) |
| Converts arbitrary value to string representation using std::stringstream.
|
|
template<> |
std::string | toString< std::string > (std::string const &_s) |
|
template<> |
std::string | toString< uint8_t > (uint8_t const &_u) |
|
bytes | jsToBytes (string const &_s, OnFailed _f) |
|
std::string | toJS (::byte _b) |
|
template<unsigned S> |
std::string | toJS (FixedHash< S > const &_h) |
|
template<unsigned N> |
std::string | toJS (boost::multiprecision::number< boost::multiprecision::cpp_int_backend< N, N, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void > > const &_n) |
|
std::string | toJS (bytes const &_n, std::size_t _padding=0) |
|
template<unsigned T> |
std::string | toJS (SecureFixedHash< T > const &_i) |
|
template<typename T > |
std::string | toJS (T const &_i) |
|
bytes | jsToBytes (std::string const &_s, OnFailed _f=OnFailed::Empty) |
|
template<unsigned N> |
FixedHash< N > | jsToFixed (std::string const &_s) |
|
template<unsigned N> |
boost::multiprecision::number< boost::multiprecision::cpp_int_backend< N *8, N *8, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void > > | jsToInt (std::string const &_s) |
|
u256 | jsToU256 (std::string const &_s) |
|
uint64_t | jsToInt (std::string const &_s) |
|
uint64_t | getUInt (const Json::Value &v) |
|
| DEV_SIMPLE_EXCEPTION_RLP (BadCast) |
|
| DEV_SIMPLE_EXCEPTION_RLP (BadRLP) |
|
| DEV_SIMPLE_EXCEPTION_RLP (OversizeRLP) |
|
| DEV_SIMPLE_EXCEPTION_RLP (UndersizeRLP) |
|
| DEV_SIMPLE_EXCEPTION (BadHexCharacter) |
|
| DEV_SIMPLE_EXCEPTION (NoNetworking) |
|
| DEV_SIMPLE_EXCEPTION (NoUPnPDevice) |
|
| DEV_SIMPLE_EXCEPTION (RootNotFound) |
|
| DEV_SIMPLE_EXCEPTION (BadRoot) |
|
| DEV_SIMPLE_EXCEPTION (FileError) |
|
| DEV_SIMPLE_EXCEPTION (Overflow) |
|
| DEV_SIMPLE_EXCEPTION (FailedInvariant) |
|
| DEV_SIMPLE_EXCEPTION (ValueTooLarge) |
|
| DEV_SIMPLE_EXCEPTION (UnknownField) |
|
| DEV_SIMPLE_EXCEPTION (MissingField) |
|
| DEV_SIMPLE_EXCEPTION (WrongFieldType) |
|
| DEV_SIMPLE_EXCEPTION (InterfaceNotSupported) |
|
| DEV_SIMPLE_EXCEPTION (ExternalFunctionFailure) |
|
| DEV_SIMPLE_EXCEPTION (WaitTimeout) |
|
template<unsigned N> |
std::size_t | hash_value (FixedHash< N > const &_value) |
| Function for boost::hash.
|
|
template<unsigned N> |
std::ostream & | operator<< (std::ostream &_out, FixedHash< N > const &_h) |
| Stream I/O for the FixedHash class.
|
|
template<unsigned N> |
std::istream & | operator>> (std::istream &_in, FixedHash< N > &o_h) |
|
template<unsigned N> |
std::ostream & | operator<< (std::ostream &_out, SecureFixedHash< N > const &_h) |
| Stream I/O for the SecureFixedHash class.
|
|
h160 | right160 (h256 const &_t) |
|
std::string | toString (h256s const &_bs) |
|
boost::log::formatting_ostream & | operator<< (boost::log::formatting_ostream &_strm, bigint const &_value) |
|
boost::log::formatting_ostream & | operator<< (boost::log::formatting_ostream &_strm, u256 const &_value) |
|
boost::log::formatting_ostream & | operator<< (boost::log::formatting_ostream &_strm, u160 const &_value) |
|
template<unsigned N> |
boost::log::formatting_ostream & | operator<< (boost::log::formatting_ostream &_strm, FixedHash< N > const &_value) |
|
template<unsigned N> |
boost::log::formatting_ostream & | operator<< (boost::log::formatting_ostream &_strm, FixedHash< N > &_value) |
|
boost::log::formatting_ostream & | operator<< (boost::log::formatting_ostream &_strm, h160 const &_value) |
|
boost::log::formatting_ostream & | operator<< (boost::log::formatting_ostream &_strm, h256 const &_value) |
|
boost::log::formatting_ostream & | operator<< (boost::log::formatting_ostream &_strm, h512 const &_value) |
|
boost::log::formatting_ostream & | operator<< (boost::log::formatting_ostream &_strm, bytesConstRef _value) |
|
template<class _T > |
void | rlpListAux (RLPStream &_out, _T _t) |
|
template<class _T , class... _Ts> |
void | rlpListAux (RLPStream &_out, _T _t, _Ts... _ts) |
|
template<class _T > |
bytes | rlp (_T _t) |
| Export a single item in RLP format, returning a byte array.
|
|
bytes | rlpList () |
| Export a list of items in RLP format, returning a byte array.
|
|
template<class... _Ts> |
bytes | rlpList (_Ts... _ts) |
|
std::ostream & | operator<< (std::ostream &_out, dev::RLP const &_d) |
| Human readable version of RLP.
|
|
bool | sha3 (bytesConstRef _input, bytesRef o_output) noexcept |
|
h256 | sha3 (bytesConstRef _input) noexcept |
| Calculate SHA3-256 hash of the given input, returning as a 256-bit hash.
|
|
SecureFixedHash< 32 > | sha3Secure (bytesConstRef _input) noexcept |
|
h256 | sha3 (bytes const &_input) noexcept |
| Calculate SHA3-256 hash of the given input, returning as a 256-bit hash.
|
|
SecureFixedHash< 32 > | sha3Secure (bytes const &_input) noexcept |
|
h256 | sha3 (std::string const &_input) noexcept |
|
SecureFixedHash< 32 > | sha3Secure (std::string const &_input) noexcept |
|
h256 | sha3 (h256 const &_input) noexcept |
| Keccak hash variant optimized for hashing 256-bit hashes.
|
|
template<unsigned N> |
h256 | sha3 (FixedHash< N > const &_input) noexcept |
|
template<unsigned N> |
SecureFixedHash< 32 > | sha3Secure (FixedHash< N > const &_input) noexcept |
|
SecureFixedHash< 32 > | sha3 (bytesSec const &_input) noexcept |
| Fully secure variants are equivalent for sha3 and sha3Secure.
|
|
SecureFixedHash< 32 > | sha3Secure (bytesSec const &_input) noexcept |
|
template<unsigned N> |
SecureFixedHash< 32 > | sha3 (SecureFixedHash< N > const &_input) noexcept |
|
template<unsigned N> |
SecureFixedHash< 32 > | sha3Secure (SecureFixedHash< N > const &_input) noexcept |
|
std::string | sha3 (std::string const &_input, bool _isNibbles) |
|
void | sha3mac (bytesConstRef _secret, bytesConstRef _plain, bytesRef _output) |
| Calculate SHA3-256 MAC.
|
|
template<class _T > |
vector_ref< _T const > | ref (_T const &_t) |
|
template<class _T > |
vector_ref< _T > | ref (_T &_t) |
|
template<class _T > |
vector_ref< _T const > | ref (std::vector< _T > const &_t) |
|
template<class _T > |
vector_ref< _T > | ref (std::vector< _T > &_t) |
|
bytes | aesDecrypt (bytesConstRef _cipher, std::string const &_password, unsigned _rounds=2000, bytesConstRef _salt=bytesConstRef()) |
|
h512 | toCompact (const Signature &_s) |
|
Public | toPublic (Secret const &_secret) |
| Convert a secret key into the public key equivalent.
|
|
Public | toPublic (PublicCompressed const &_publicCompressed) |
| Convert a compressed public key into the uncompressed equivalent.
|
|
PublicCompressed | toPublicCompressed (Secret const &_secret) |
| Convert a secret key into the public key in compressed format.
|
|
Address | toAddress (Public const &_public) |
| Convert a public key to address.
|
|
Address | toAddress (Secret const &_secret) |
|
void | encrypt (Public const &_k, bytesConstRef _plain, bytes &o_cipher) |
| Encrypts plain text using Public key.
|
|
bool | decrypt (Secret const &_k, bytesConstRef _cipher, bytes &o_plaintext) |
| Decrypts cipher using Secret key.
|
|
void | encryptECIES (Public const &_k, bytesConstRef _plain, bytes &o_cipher) |
| Encrypt payload using ECIES standard with AES128-CTR.
|
|
void | encryptECIES (Public const &_k, bytesConstRef _sharedMacData, bytesConstRef _plain, bytes &o_cipher) |
|
bool | decryptECIES (Secret const &_k, bytesConstRef _cipher, bytes &o_plaintext) |
| Decrypt payload using ECIES standard with AES128-CTR.
|
|
bool | decryptECIES (Secret const &_k, bytesConstRef _sharedMacData, bytesConstRef _cipher, bytes &o_plaintext) |
|
std::pair< bytes, h128 > | encryptSymNoAuth (SecureFixedHash< 16 > const &_k, bytesConstRef _plain) |
| Encrypts payload with random IV/ctr using AES128-CTR.
|
|
bytes | encryptAES128CTR (bytesConstRef _k, h128 const &_iv, bytesConstRef _plain) |
| Encrypts payload with specified IV/ctr using AES128-CTR.
|
|
bytesSec | decryptAES128CTR (bytesConstRef _k, h128 const &_iv, bytesConstRef _cipher) |
| Decrypts payload with specified IV/ctr using AES128-CTR.
|
|
bytes | encryptSymNoAuth (SecureFixedHash< 16 > const &_k, h128 const &_iv, bytesConstRef _plain) |
| Encrypts payload with specified IV/ctr using AES128-CTR.
|
|
bytes | encryptSymNoAuth (SecureFixedHash< 32 > const &_k, h128 const &_iv, bytesConstRef _plain) |
|
bytesSec | decryptSymNoAuth (SecureFixedHash< 16 > const &_k, h128 const &_iv, bytesConstRef _cipher) |
| Decrypts payload with specified IV/ctr using AES128-CTR.
|
|
bytesSec | decryptSymNoAuth (SecureFixedHash< 32 > const &_k, h128 const &_iv, bytesConstRef _cipher) |
|
Public | recover (Signature const &_sig, h256 const &_hash) |
| Recovers Public key from signed message hash.
|
|
Signature | sign (Secret const &_k, h256 const &_hash) |
| Returns siganture of message hash.
|
|
bool | verify (Public const &_k, Signature const &_s, h256 const &_hash) |
| Verify signature.
|
|
bool | verify (PublicCompressed const &_key, h512 const &_signature, h256 const &_hash) |
|