Mix of uint64 and int64 tree sizes
RJPercival opened this issue · comments
In trillian.proto, tree size is uint64
.
Lines 237 to 242 in f12f919
In trillian_log_api.proto, tree sizes are
int64
.trillian/trillian_log_api.proto
Lines 269 to 274 in f12f919
This mismatch makes it necessary to cast from unsigned to signed integer when creating requests.
My vote is in favour of uint64 for tree sizes (and int64 for timestamps, see
Line 244 in f12f919
This might not be the only mismatch. I think some of the proof code uses int64 for tree sizes.
Code can be fixed up a bit more easily, but protos define higher level interfaces between potentially distant (both in time and space) processes, so getting those right is quite important.
Realistically we're not going to make these breaking changes. But we pinky promise to be consistent with this on new APIs.