Currently the constructor is architecture dependent. This is confusing for several reasons:
- It is impossible to create a transaction larger than the max value of
uint32_t
, so a 64-bitsize_t
is not needed - Policy (and consensus) code should be arch-independent
- The current code will print spurious compile errors when compiled on 32-bit systems:
0policy/feerate.cpp:23:22: warning: result of comparison of constant 9223372036854775807 with expression of type 'size_t' (aka 'unsigned int') is always true [-Wtautological-constant-out-of-range-compare]
1 assert(nBytes_ <= uint64_t(std::numeric_limits<int64_t>::max()));
Fix all issues by making it arch-independent. Also, fix {}
style according to dev notes.