-
Notifications
You must be signed in to change notification settings - Fork 607
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
Make all keepers pointers, use multiple initialization methods #697
Conversation
Codecov Report
@@ Coverage Diff @@
## main #697 +/- ##
=======================================
Coverage 18.69% 18.69%
=======================================
Files 171 171
Lines 23814 23814
=======================================
Hits 4452 4452
Misses 18600 18600
Partials 762 762
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
I like how this change affects app.go in the way that it became so much easier to understand and modulized as well!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall LGTM. Just pointed out some areas where it didn't make sense to me why some keepers were pointers and some were not. (I assume there are reasons)
* Make all keepers pointers, use multiple initialization methods * Split out new store loader logic * Make antehandler input simpler * Improve comment * Improve comment
* Make all keepers pointers, use multiple initialization methods * Split out new store loader logic * Make antehandler input simpler * Improve comment * Improve comment
Description
This is an alternate design to #696 , I actually like this better. It doesn't involve sweeping breaking changes across the app tests. I think we get the benefits of split up methods, and pointers unless necessary to not use them, without sacrificing usability elsewhere. I think we can get the abstraction we want in a keepers module still, by making a method to go from app -> AppKeepers struct, but not force its use throughout. (This is also really low priority imo)
We are refactoring initializing keepers into five steps, using pointer refs to keepers the whole way through:
Then we have all other prior logic for setting module managers. The module managers should likely have code deduplicated in a future PR.
For contributor use:
docs/
) or specification (x/<module>/spec/
)Unreleased
section inCHANGELOG.md
Files changed
in the Github PR explorer