Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
We currently require a "Salted" message to be created for each protobuf message that we have. The overhead for creating these additional objects is annoying and they are not particularly useful outside of the scope of precise-proofs. I'm proposing a different format for storing the salt values that doesn't require us to create these extra structs and pass them around in code.
We could store the salts in a mapping of type `map`. The behavior of precise-proofs would need to be changed to:
1) Remove FillSalts method
2) Remove the option to pass in a Salts message to the FlattenMessage struct
3) Remove the Salt Length Suffix Option and replace it with an option to pass in map containing the salts
4) Always generate compact property names even when the tree is generated with literal properties so we can look up the salts by those values.
4) Change AppendLeaf method, if the property is not already hashed, to look for a value in the SaltsMap:
* if present, hash the value with it
* if not, create a new entry in the map with a salt that is generated on the fly
* Remove all the Salted messages from the examples
* Update the documentation
* Update the example in the README and in proofs/proofs_test.go
This issue has a gitcoin bounty attached to it. If you'd like to start working on it, feel free to reach out to me (email@example.com) directly, join our slack channel `#bounties` on our [slack](https://join.slack.com/t/centrifuge-io/shared_invite/enQtNDk1MzkwODM4OTgxLWRlNTU4NDQzOWIwYWEzNGRhN2UzMzQwNThjZjI0ZmIxMTU4NmQwMjc2ZDBkOTEyNWJhMjE4MzA2NTE5MWU1NWE)