regen-ledger icon indicating copy to clipboard operation
regen-ledger copied to clipboard

Improved architecture for submodule wiring

Open ryanchristo opened this issue 2 years ago • 0 comments

Summary

When implementing basket and marketplace functionality, we went with a submodule architecture. There are a lot of open questions remaining on how this architecture should look. Opening this issue to discuss improvements.

We currently have directories for each submodule within the root-level ecocredit module directory but each subdirectory only includes the generate types, the stateless message implementation, and stateless utility functions. The server/keeper and client implementation for each submodule is nested within submodule subdirectories within the root-level client and server directories but could be nested within the directories for each submodule within the root-level ecocredit module directory.

Should client and server/keeper directories for each submodule be nested within the root-level submodule directory? Do we plan on supporting multiple proto package versions for each submodule and, if so, how would this look? How will this submodule architecture work with cosmos-sdk v1? What improvements can we make to the submodule architecture approach?

Problem Definition

There is a lack of clarity on what submodule architecture should look like.

Proposal

[ work in progress ]


For Admin Use

  • [ ] Not duplicate issue
  • [ ] Appropriate labels applied
  • [ ] Appropriate contributors tagged
  • [ ] Contributor assigned/self-assigned

ryanchristo avatar Jun 17 '22 20:06 ryanchristo