4namespace sysio {
namespace chain {
16 canonical_l.
_hash[0] &= 0xFFFFFFFFFFFFFF7FULL;
22 canonical_r.
_hash[0] |= 0x0000000000000080ULL;
27 return (val.
_hash[0] & 0x0000000000000080ULL) == 0;
31 return (val.
_hash[0] & 0x0000000000000080ULL) != 0;
38 while( ids.size() > 1 ) {
40 ids.push_back(ids.back());
42 for (
size_t i = 0; i < ids.size() / 2; i++) {
46 ids.resize(ids.size() / 2);
static sha256 hash(const char *d, uint32_t dlen)
checksum_type digest_type
digest_type make_canonical_right(const digest_type &val)
digest_type make_canonical_left(const digest_type &val)
bool is_canonical_right(const digest_type &val)
digest_type merkle(vector< digest_type > ids)
bool is_canonical_left(const digest_type &val)
auto make_canonical_pair(const digest_type &l, const digest_type &r)