-
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
Core v1 API Review #21176
Comments
The existence of the core/app package definitely goes beyond the scope of what is needed to build a module IMHO and again raises questions for what is the intended scope of core. Is this simply here to reduce dependencies within server/v2? Furthermore, core/app has basically no documentation on any types, no package docs and no stated purpose. I suggest we discuss on the next call and create a clear purpose statement for core. |
So I'd like to propose the following:
The module-level README and package level doc strings can then provide guidelines that help future maintainers decide if new code fits in the module and a specific package or if it doesn't. Taking one example -
So based on that doc string, we can tell that
As for the purpose of core, we've previously stated that it's either:
Initially, Also just noting that rereading the Slack discussion, it seems that people generally think core should be more disciplined and we should separate concerns FWIW... |
Added this point to our team call on Thursday. Personally, I first felt the same about The rest of the packages make sense to me, but I 100% agree we should document every single API and be strict about what should go in there. (I think we are just missing simsv2 api) Personally, I see |
I believe the |
Was just looking at core/store yesterday. If core/store is store types for modules, then most of the stuff in there should be moved to some other package like core/server/store |
The time for stable module api is coming! With v0.52 almost (internally) audited and ready for alpha, we need to make sure cosmossdk.io/core v1 has good APIs.
From our call (1/2) we should change a few things before the alpha:
TransientStoreService
isn't supported for store/v2 (refactor(core): core review (1/n) #21193)Changeset
/KVPairs
should remain in core/store (@tac0turtle)InvokeTyped
from router.Service and renameInvokeUntyped
to invoke. Update the usage in module code (@julienrbrt) (refactor(core,stf,x)!: remove InvokeTyped from router #21224)BlockRequest
(https://github.com/cosmos/cosmos-sdk/blob/main/core/app/app.go#L29-L30)ConsensusMessages
still needed there (@tac0turtle) (refactor: remove consensus messages #21248)core/app
should be moved back to server/v2 (not as its core modules but directly next to their implementation), if not moved, possibly rename it instead (@tac0turtle) (chore: cleanup core/app #21368)doc.go
(chore: cleanup core/app #21368)gogoproto.MessageName
- router should get the name (@julienrbrt) (refactor(core): re-add handlers #21575)In our next meeting (2/2), we'll finish reviewing core/store, core/testing and core/transaction.DONE.Upon closing this issue, we can tag
cosmossdk.io/core
v1-alpha.1
(finalv1
after 0.52 audit)The text was updated successfully, but these errors were encountered: