You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IMO moving ValidatorI to types is a hack. It's a staking-specific interface, so it should stay in x/staking. Or else we'll end up with a huge types/core again.
One question I believe we didn't answer in #13012 is if modules are truly standalone, or if they can depend on each other in an acyclic way. If we choose the latter, then maybe we only need to verify the acyclicity of ValidatorI.
If we wanted to move this type then .GetStatus() BondStatus could probably be removed from the global type definition, it's only used in x/staking. A deeper investigation could even reveal that maybe only 1 or 2 methods of this wide interface are used outside of staking. Could we produce a different shared abstraction which satisfies current usage in other modules?
IMO acyclic dependencies are OK. If we can identify and commit to creating a sane acyclic dependency graph it would help answer questions like this one too. Given that we don't have that yet it might be a little early to undertake this issue.
ref: #13025, #13937
ValidatorI
interface to types package fromx/staking
https://github.com/cosmos/cosmos-sdk/blob/main/x/staking/types/exported.go
The text was updated successfully, but these errors were encountered: