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
@github-project-automation github-project-automation bot moved this to 📝 Todo in Cosmos-SDK Jan 16, 2023
@julienrbrt julienrbrt moved this from 📝 Todo to 💪 In Progress in Cosmos-SDK Jan 17, 2023
@github-project-automation github-project-automation bot moved this from 💪 In Progress to 👏 Done in Cosmos-SDK Jan 25, 2023
@tac0turtle tac0turtle removed the Q1:2023 label Apr 3, 2023
@tac0turtle tac0turtle removed this from Cosmos-SDK May 31, 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