Skip to content
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

refactor: x/feegrant as a standalone go module #14559

Closed
Tracked by #11899
kocubinski opened this issue Jan 9, 2023 · 0 comments · Fixed by #14649
Closed
Tracked by #11899

refactor: x/feegrant as a standalone go module #14559

kocubinski opened this issue Jan 9, 2023 · 0 comments · Fixed by #14649
Assignees

Comments

@kocubinski
Copy link
Member

kocubinski commented Jan 9, 2023

Ref: #11899

The SDK module dependency graph below (generated from main 2023-01-09) shows that x/feegrant has only one dependent. If it can be removed it should be trivial to create a go.mod for this module and separate it from the SDK monolith.

image

x/feegrant has dependencies on the SDK modules shown below. As a part of this issue lets do a cursory review and remove them if trivial, or punt to the dependency's issue if not.

$ goFmtString="{{ \$importPath := .ImportPath }} {{ \$forTest := .ForTest }}                                                               
{{ range .Imports }} {{ if \$forTest }} {{ \$forTest }}.test {{else}} {{ \$importPath }} {{end}}-> {{ . }}
{{ end }}"
$ go list -test -f "$goFmtString" ./... | awk -F'->' '$2 ~ "github.com/cosmos/cosmos-sdk/x/"' | awk -F'->' '$2 !~ "github.com/cosmos/cosmos-sdk/x/feegrant"'
  github.com/cosmos/cosmos-sdk/x/feegrant -> github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx
  github.com/cosmos/cosmos-sdk/x/feegrant -> github.com/cosmos/cosmos-sdk/x/authz/codec
  github.com/cosmos/cosmos-sdk/x/feegrant -> github.com/cosmos/cosmos-sdk/x/gov/codec
  github.com/cosmos/cosmos-sdk/x/feegrant -> github.com/cosmos/cosmos-sdk/x/group/codec
  github.com/cosmos/cosmos-sdk/x/feegrant/keeper -> github.com/cosmos/cosmos-sdk/x/auth/ante
  github.com/cosmos/cosmos-sdk/x/feegrant/simulation -> github.com/cosmos/cosmos-sdk/x/auth/tx
  github.com/cosmos/cosmos-sdk/x/feegrant/simulation -> github.com/cosmos/cosmos-sdk/x/simulation
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/auth
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/auth/tx/config
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/auth/types
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/auth/vesting
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/auth/vesting/types
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/bank
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/bank/types
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/consensus
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/consensus/types
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/genutil
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/genutil/types
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/mint
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/mint/types
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/params
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/params/types
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/staking
  github.com/cosmos/cosmos-sdk/x/feegrant/testutil -> github.com/cosmos/cosmos-sdk/x/staking/types
  github.com/cosmos/cosmos-sdk/x/feegrant.test -> github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx
  github.com/cosmos/cosmos-sdk/x/feegrant.test -> github.com/cosmos/cosmos-sdk/x/bank/types
  github.com/cosmos/cosmos-sdk/x/feegrant/client/cli.test -> github.com/cosmos/cosmos-sdk/x/gov/client/cli
  github.com/cosmos/cosmos-sdk/x/feegrant/client/cli.test -> github.com/cosmos/cosmos-sdk/x/gov/types/v1
  github.com/cosmos/cosmos-sdk/x/feegrant/client/cli.test -> github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1
  github.com/cosmos/cosmos-sdk/x/feegrant/keeper.test -> github.com/cosmos/cosmos-sdk/x/auth/types
  github.com/cosmos/cosmos-sdk/x/feegrant/module.test -> github.com/cosmos/cosmos-sdk/x/auth/types
  github.com/cosmos/cosmos-sdk/x/feegrant/simulation.test -> github.com/cosmos/cosmos-sdk/x/auth/keeper
  github.com/cosmos/cosmos-sdk/x/feegrant/simulation.test -> github.com/cosmos/cosmos-sdk/x/bank/keeper
  github.com/cosmos/cosmos-sdk/x/feegrant/simulation.test -> github.com/cosmos/cosmos-sdk/x/bank/testutil

List of To-dos when creating a go.mod: https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#gomod

@kocubinski kocubinski changed the title refactor: x/freegrant as a standalone go module refactor: x/feegrant as a standalone go module Jan 9, 2023
@atheeshp atheeshp self-assigned this Jan 11, 2023
@julienrbrt julienrbrt moved this from 📝 Todo to 💪 In Progress in Cosmos-SDK Legacy Jan 17, 2023
@github-project-automation github-project-automation bot moved this from 💪 In Progress to 👏 Done in Cosmos-SDK Legacy Jan 25, 2023
@tac0turtle tac0turtle removed the Q1:2023 label Apr 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants