-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
store: Suggested refactor #2309
Comments
Yeah I'm totally into this - store should be moved into submodules that will increase the comprehensibility of the code bigtime |
Working on it. |
We could also do a docs fix here by adding documentation for the existing implementation. I think that portion could be prelaunch and the rest could be postlaunch. The first part of the store refactor has been hard to merge. |
In my opinion, this is most definitely not blocking launch. Hence updating labels accordingly. |
I think @mossid's store refactor addressed this. Closing. |
Summary
Make all the store types exported, move each store into its own module.
Problem Definition / Proposed Solution
Currently its very hard to figure out how the internals of our stores works. This is partially due to lack of documentation, but also due to part of the way its structured. Currently no type is exported, so you wouldn't be aware of the type-specific pecularities, even if you wanted to. (Those godocs won't show up here: https://godoc.org/github.com/cosmos/cosmos-sdk/store, even though those methods are exported and satisfy the interface)
Thus I think we should export these types
I think moving each of these store types into their own module, with a
doc.go
file would be incredibly helpful. (Similar to what is done for every crypto package)I have tagged this if-have-time-prelaunch, as I am very certain there are bugs in our store implementations, and it being poorly documented is likely a cause of it. Signs that there are bugs: RipeMD160 remained, there is an issue with iterator return values (either due to incorrect expectations from their names, or impl bugs)
The text was updated successfully, but these errors were encountered: