I suggest changing integer types to unsigned ones, where negative values are not expected (key/secret ID, nonce, versions, ParameterRange values, etc). This will double the range of possible values and potentially will make the process of random values generation easier.
I have a feeling that signed integers were used because of there being no unsigned integer in Java and therefore ending up as a long in the Java protobuf binding.
I suggest changing integer types to unsigned ones, where negative values are not expected (key/secret ID, nonce, versions,
ParameterRange
values, etc). This will double the range of possible values and potentially will make the process of random values generation easier.