-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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: remove consensus as a imported type in modules #21480
Conversation
WalkthroughWalkthroughThe changes involve the removal of the Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant App
participant ConsensusParamsKeeper
participant StakingKeeper
Client->>App: Send transaction
App->>ConsensusParamsKeeper: Retrieve consensus parameters
ConsensusParamsKeeper-->>App: Return parameters
App->>StakingKeeper: Process staking logic
StakingKeeper-->>App: Return staking result
App-->>Client: Return transaction result
Possibly related issues
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are some behaviors changes that should be reverted, I think. See my other comment. The rest lgtm!!
return 0, 0, 0, err | ||
} | ||
if params.Evidence == nil { | ||
return 0, 0, 0, errors.New("evidence age is nil") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should return a typed error here, and for all the others too.
As right know we would reject something is the value is nil while before not (for instance in evidence)
@@ -73,27 +72,22 @@ func (k Keeper) handleEquivocationEvidence(ctx context.Context, evidence *types. | |||
// Reject evidence if the double-sign is too old. Evidence is considered stale | |||
// if the difference in time and number of blocks is greater than the allowed | |||
// parameters defined. | |||
resp, err := k.QueryRouterService.Invoke(ctx, &consensusv1.QueryParamsRequest{}) | |||
|
|||
eviAgeBlocks, eviAgeDuration, _, err := k.consensusKeeper.EvidenceParams(ctx) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here, if EvidenceParams is nil, we error, while before we wouldn't.
We should check a not found typed error.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it seems safe to skip even if not found. I was thinking of leaving it as returning nil.
ca6e694
to
b3254bc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Outside diff range, codebase verification and nitpick comments (5)
client/v2/go.mod (4)
Potential Issues with Dependency Removal
The
cosmossdk.io/x/distribution
dependency is still being used in multiple files across the codebase. Its removal from thego.mod
file could potentially break existing functionality. Please review the following files where this dependency is still in use:
x/distribution/simulation/genesis.go
x/distribution/types/params_test.go
x/distribution/keeper/allocation.go
tests/integration/staking/keeper/deterministic_test.go
simapp/app.go
Please ensure that the codebase is fully refactored to remove the usage of this dependency before removing it from the
go.mod
file.Analysis chain
Line range hint
1-1
: Verify the impact of removing thecosmossdk.io/x/distribution
dependency.The removal of the
cosmossdk.io/x/distribution
dependency might impact the functionality related to distribution mechanisms within the application.Please ensure that the removal does not break any existing functionality by running the following verification script:
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that the removal of the `cosmossdk.io/x/distribution` dependency does not break any existing functionality. # Test: Search for the usage of the `cosmossdk.io/x/distribution` package. Expect: No results. rg --type go -g '!go.mod' -g '!go.sum' $'cosmossdk.io/x/distribution'Length of output: 8734
Removal of
cosmossdk.io/x/protocolpool
Dependency Will Cause IssuesThe
cosmossdk.io/x/protocolpool
dependency is still being used extensively throughout the codebase. Removing it without addressing these references will likely lead to broken functionality or compilation errors. Please ensure that all references to this dependency are removed or replaced before proceeding with its removal.
- Files with references to
cosmossdk.io/x/protocolpool
include various components such askeeper
,types
,simulation
, and others.Analysis chain
Line range hint
1-1
: Verify the impact of removing thecosmossdk.io/x/protocolpool
dependency.The removal of the
cosmossdk.io/x/protocolpool
dependency might impact the functionality related to protocol pool mechanisms within the application.Please ensure that the removal does not break any existing functionality by running the following verification script:
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that the removal of the `cosmossdk.io/x/protocolpool` dependency does not break any existing functionality. # Test: Search for the usage of the `cosmossdk.io/x/protocolpool` package. Expect: No results. rg --type go -g '!go.mod' -g '!go.sum' $'cosmossdk.io/x/protocolpool'Length of output: 4990
Issues Found: The
cosmossdk.io/x/mint
dependency is still in use.The
cosmossdk.io/x/mint
package is used across multiple files in the codebase, including test files and application configurations. Removing this dependency without addressing these usages could lead to broken functionality. Please ensure that all references to this package are either removed or replaced with alternative implementations before proceeding with its removal.
- Files with usage of
cosmossdk.io/x/mint
includex/mint/module_test.go
,x/mint/simulation/genesis_test.go
,x/group/testutil/app_config.go
,tests/integration/example/example_test.go
,simapp/app.go
, and many others.Analysis chain
Line range hint
1-1
: Verify the impact of removing thecosmossdk.io/x/mint
dependency.The removal of the
cosmossdk.io/x/mint
dependency might impact the functionality related to minting mechanisms within the application.Please ensure that the removal does not break any existing functionality by running the following verification script:
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that the removal of the `cosmossdk.io/x/mint` dependency does not break any existing functionality. # Test: Search for the usage of the `cosmossdk.io/x/mint` package. Expect: No results. rg --type go -g '!go.mod' -g '!go.sum' $'cosmossdk.io/x/mint'Length of output: 6212
Issues Found: The
cosmossdk.io/x/slashing
dependency is still in use.The
cosmossdk.io/x/slashing
package is referenced in multiple files across the codebase, including directories likex/slashing
,simapp
, andtests
. Removing this dependency could lead to compilation errors or runtime failures. Please ensure that all references to this package are addressed before removing it.
- Files with references include:
x/slashing/depinject.go
simapp/app.go
tests/integration/slashing/keeper/keeper_test.go
- And many others as listed in the script output.
Analysis chain
Line range hint
1-1
: Verify the impact of removing thecosmossdk.io/x/slashing
dependency.The removal of the
cosmossdk.io/x/slashing
dependency might impact the functionality related to slashing mechanisms within the application.Please ensure that the removal does not break any existing functionality by running the following verification script:
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that the removal of the `cosmossdk.io/x/slashing` dependency does not break any existing functionality. # Test: Search for the usage of the `cosmossdk.io/x/slashing` package. Expect: No results. rg --type go -g '!go.mod' -g '!go.sum' $'cosmossdk.io/x/slashing'Length of output: 6261
x/feegrant/go.mod (1)
Issues Found: The
cosmossdk.io/x/consensus
dependency is still in use across the codebase.The removal of the
cosmossdk.io/x/consensus
dependency from thego.mod
file is likely to cause issues, as this package is still being used in multiple files, including:
simapp/app_config.go
simapp/app_di.go
x/consensus/module.go
- Various test files
Please ensure that all usages of this package are addressed before removing the dependency.
Analysis chain
Line range hint
1-1
: Verify the impact of removing thecosmossdk.io/x/consensus
dependency.The removal of the
cosmossdk.io/x/consensus
dependency might impact the functionality related to consensus mechanisms within the application.Please ensure that the removal does not break any existing functionality by running the following verification script:
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that the removal of the `cosmossdk.io/x/consensus` dependency does not break any existing functionality. # Test: Search for the usage of the `cosmossdk.io/x/consensus` package. Expect: No results. rg --type go -g '!go.mod' -g '!go.sum' $'cosmossdk.io/x/consensus'Length of output: 5677
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files ignored due to path filters (1)
client/v2/go.sum
is excluded by!**/*.sum
Files selected for processing (24)
- client/v2/go.mod (2 hunks)
- go.mod (2 hunks)
- simapp/app.go (4 hunks)
- x/accounts/defaults/lockup/go.mod (1 hunks)
- x/accounts/defaults/multisig/go.mod (1 hunks)
- x/accounts/go.mod (2 hunks)
- x/authz/go.mod (6 hunks)
- x/bank/go.mod (2 hunks)
- x/circuit/go.mod (2 hunks)
- x/distribution/go.mod (3 hunks)
- x/epochs/go.mod (5 hunks)
- x/evidence/go.mod (2 hunks)
- x/feegrant/go.mod (2 hunks)
- x/gov/go.mod (2 hunks)
- x/mint/go.mod (9 hunks)
- x/nft/go.mod (2 hunks)
- x/params/go.mod (2 hunks)
- x/protocolpool/go.mod (2 hunks)
- x/slashing/go.mod (2 hunks)
- x/staking/go.mod (2 hunks)
- x/staking/keeper/msg_server.go (3 hunks)
- x/upgrade/go.mod (3 hunks)
- x/upgrade/keeper/abci_test.go (4 hunks)
- x/upgrade/keeper/keeper_test.go (4 hunks)
Files skipped from review due to trivial changes (3)
- x/nft/go.mod
- x/params/go.mod
- x/slashing/go.mod
Files skipped from review as they are similar to previous changes (18)
- go.mod
- simapp/app.go
- x/accounts/defaults/lockup/go.mod
- x/accounts/defaults/multisig/go.mod
- x/accounts/go.mod
- x/bank/go.mod
- x/circuit/go.mod
- x/distribution/go.mod
- x/epochs/go.mod
- x/evidence/go.mod
- x/gov/go.mod
- x/mint/go.mod
- x/protocolpool/go.mod
- x/staking/go.mod
- x/staking/keeper/msg_server.go
- x/upgrade/go.mod
- x/upgrade/keeper/abci_test.go
- x/upgrade/keeper/keeper_test.go
Additional comments not posted (6)
x/authz/go.mod (4)
10-10
: LGTM!The addition of the
cosmossdk.io/log v1.4.1
dependency is approved.
31-31
: LGTM!The addition of the
buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2
dependency is approved.
33-33
: LGTM!The addition of the
cosmossdk.io/schema v0.2.0
dependency is approved.
48-49
: LGTM!The removal and re-addition of the
github.com/cockroachdb/tokenbucket
andgithub.com/cometbft/cometbft
dependencies is approved. It seems to be a restructuring of the go.mod file for better organization.client/v2/go.mod (1)
Line range hint
1-1
: Verify the impact of removing thecosmossdk.io/x/consensus
dependency.The removal of the
cosmossdk.io/x/consensus
dependency might impact the functionality related to consensus mechanisms within the application.Please ensure that the removal does not break any existing functionality by running the following verification script:
x/feegrant/go.mod (1)
Line range hint
1-1
: LGTM!The removal of the replace directive for
cosmossdk.io/x/consensus
is approved. It is consistent with the removal of thecosmossdk.io/x/consensus
dependency.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice! lgtm
server/v2/testdata/app.toml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could you revert this? this is why your test is failing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it gets modified when i run make test
b2984e3
to
bcc7957
Compare
(cherry picked from commit f220f8b) # Conflicts: # client/v2/go.mod # client/v2/go.sum # scripts/mockgen.sh # x/accounts/defaults/lockup/go.mod # x/accounts/defaults/multisig/go.mod # x/authz/go.mod # x/bank/go.mod # x/distribution/go.mod # x/epochs/go.mod # x/evidence/go.mod # x/gov/go.mod # x/mint/go.mod # x/slashing/go.mod # x/staking/go.mod # x/upgrade/go.mod
This was introduced in #21480.
Description
This pr proposes a cleanup to avoid importing the consensus module which allows us to avoid comet imports in other modules. Now a consensus keeper muust be passed to upgrade, staking, evidence and antehandlers, in order to avoid using the router to call the consensus module.
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
!
in the type prefix if API or client breaking changeCHANGELOG.md
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
Please see Pull Request Reviewer section in the contributing guide for more information on how to review a pull request.
I have...
Summary by CodeRabbit
New Features
Bug Fixes
Refactor
cosmossdk.io/x/consensus
module across multiple components, simplifying the codebase.Tests