[WIP] feat(services): scaffold api #4130
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
DO NOT REVIEW
ref: #3051
The scaffold API consists now of the following functions:
AddModule(ctx context.Context, m *Module) error
To be used for recent modules that support depinject, it wires the module in app_config.go and app.go
It auto-detects the folder architecture of the module via code analysis.
AddNonDepinjectModule(ctx context.Context, m *Module) error
This does the same as
AddModule
expects it adds registers the module manually (by modifying RegisterStores and RegisterModules on the runtime app)AddCommand(ctx context.Context, c *Command) error
AddCommand simply add custom commands in the commands.go file of an app (of where the root command is registered).
That service focuses on the scaffolding of an app (and not modules). It can typically be used to replace logic from the wasm app and as basis of the future Cosmod app.