Calculating state object definitions checksums - first version.
First part towards resolving #286 (closed)
To do in next MR:
- does not detect rearrangements of members if they were not made in
FC_REFLECT
- add member offsets to their hashes - some important types are not reflected (f.e.
account_name_type
) - find a way for compiler to tell us that we need to manually supplement them in the mechanism of type deconstruction - does not work on chainbase indexes - multi-layered templates that are not reflected - possibly the same problem as above
- add simple tests on
foo
classes and templates to show how mechanism works in different situations (template/not template, reflected/not reflected, private/public members, one/many template parameters...) - add either logging of hashing process or on-demand list of hash-influencing elements (members, their types and offsets, enum values), so it can be easily checked what changed in case some hash shows different value
Edited by Andrzej Lisak