-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
chore: prep collections v1 and api v0.8.0 #23198
Conversation
📝 WalkthroughWalkthroughThis pull request involves a systematic update of the Changes
Possibly related issues
Possibly related PRs
Suggested reviewers
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.
Actionable comments posted: 3
🔭 Outside diff range comments (8)
tools/benchmark/go.mod (1)
Line range hint
3-3
: Invalid Go version specifiedThe Go version
1.23.2
specified in thego.mod
file is invalid as it doesn't exist yet. The latest stable version of Go is 1.22.-go 1.23.2 +go 1.22x/accounts/defaults/lockup/go.mod (1)
Line range hint
3-3
: Invalid Go version specifiedThe Go version
1.23.3
specified in thego.mod
file is invalid as it doesn't exist yet. The latest stable version of Go is 1.22.-go 1.23.3 +go 1.22x/protocolpool/go.mod (1)
Go version issues confirmed across multiple modules
The review comment is accurate. Analysis of go.mod files reveals:
- Inconsistent Go versions: 1.23.3, 1.23.2, and 1.23 are used across different modules
- All versions are invalid as they exceed Go's latest stable release (1.22)
🔗 Analysis chain
Line range hint
3-3
: Ensure consistent Go version across modulesThe specified Go version 1.23.3 is:
- Different from other modules (1.23.2)
- Higher than the latest stable release (1.22)
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check for Go version inconsistencies echo "Unique Go versions across modules:" fd -e go.mod -x grep "^go " | sort | uniqLength of output: 122
Script:
#!/bin/bash # First find all go.mod files echo "Found go.mod files:" fd go.mod echo -e "\nGo versions in each module:" fd go.mod -x cat {}Length of output: 66739
x/accounts/defaults/base/go.mod (1)
Create an issue to track module separation work
The TODO comment in
x/accounts/go.mod
indicates pending work to remove replace directives after spinning out all modules. This architectural change should be properly tracked:
- Create an issue to track the removal of replace directives after module separation
- Include this as part of the release preparation checklist
- Consider the dependencies between modules during the separation process
🔗 Analysis chain
Line range hint
156-162
: Address TODO comment about module separationThe TODO comment indicates pending work to spin out all modules. This should be tracked and addressed as part of the release preparation.
Let's check if there are related issues or PRs:
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Search for related issues about module separation # Search for issues mentioning module separation gh issue list --search "spinning out modules" --limit 5 --json number,title,state # Search for PRs mentioning module separation gh pr list --search "spinning out modules" --limit 5 --json number,title,stateLength of output: 170
Script:
#!/bin/bash # Search for TODO comments about modules in go.mod files and surrounding documentation rg -i "todo.*modul" --type go --type mod -C 2 # Search with broader terms rg -i "(todo|fixme).*separat" --type go --type mod -C 2 # Look specifically in the accounts module fd . x/accounts -t f -e go -e mod -e md | xargs rg -i "(todo|fixme).*(modul|separat)" -C 2Length of output: 480
x/group/go.mod (1)
Line range hint
1-1
: Fix invalid Go version.The specified Go version
1.23.3
is invalid as it doesn't exist. The latest stable version of Go is 1.22.x.-go 1.23.3 +go 1.22x/feegrant/go.mod (1)
Line range hint
1-1
: Fix invalid Go version.The specified Go version
1.23.3
is invalid as it doesn't exist. The latest stable version of Go is 1.22.x.-go 1.23.3 +go 1.22go.mod (1)
Line range hint
1-1
: Fix invalid Go version.The specified Go version
1.23.2
is invalid as it doesn't exist. The latest stable version of Go is 1.22.x.-go 1.23.2 +go 1.22simapp/v2/go.mod (1)
Line range hint
3-3
: Invalid Go version specifiedThe Go version
1.23.4
is invalid as it does not exist. The latest stable version of Go is 1.22.Apply this diff to fix the Go version:
-go 1.23.4 +go 1.22
🧹 Nitpick comments (4)
x/evidence/go.mod (1)
Line range hint
149-153
: Address TODO comment about module spinningThe TODO comment indicates pending work for spinning out modules. Consider creating a tracking issue for this technical debt.
Would you like me to create a GitHub issue to track the module spinning work?
x/epochs/go.mod (1)
Line range hint
149-153
: Clean up module configuration
- The TODO comment about spinning out modules is duplicated across multiple files. Consider consolidating this into a single tracking issue.
- There's a duplicate require statement for
google.golang.org/protobuf
.Apply this change to clean up the duplicate require:
-google.golang.org/protobuf v1.36.1
x/authz/go.mod (1)
Line range hint
142-142
: Consider consolidating core/testing requirementsThe module has duplicate requirements for
cosmossdk.io/core/testing
, appearing both as a direct and indirect dependency.Consider consolidating these into a single requirement to improve maintainability.
Also applies to: 144-144
math/CHANGELOG.md (1)
41-41
: Improve clarity with proper hyphenationConsider updating "GDA based" to "GDA-based" for better readability.
-* [#11783](https://github.com/cosmos/cosmos-sdk/issues/11783) Upstream GDA based decimal type +* [#11783](https://github.com/cosmos/cosmos-sdk/issues/11783) Upstream GDA-based decimal type🧰 Tools
🪛 LanguageTool
[uncategorized] ~41-~41: This expression is usually spelled with a hyphen.
Context: ...osmos/cosmos-sdk/issues/11783) Upstream GDA based decimal type ## [math/v1.4.0](https://...(BASED_HYPHEN)
📜 Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (27)
client/v2/go.sum
is excluded by!**/*.sum
collections/go.sum
is excluded by!**/*.sum
go.sum
is excluded by!**/*.sum
server/v2/cometbft/go.sum
is excluded by!**/*.sum
simapp/v2/go.sum
is excluded by!**/*.sum
tests/go.sum
is excluded by!**/*.sum
tools/benchmark/go.sum
is excluded by!**/*.sum
x/accounts/defaults/base/go.sum
is excluded by!**/*.sum
x/accounts/defaults/lockup/go.sum
is excluded by!**/*.sum
x/accounts/defaults/multisig/go.sum
is excluded by!**/*.sum
x/accounts/go.sum
is excluded by!**/*.sum
x/authz/go.sum
is excluded by!**/*.sum
x/bank/go.sum
is excluded by!**/*.sum
x/circuit/go.sum
is excluded by!**/*.sum
x/consensus/go.sum
is excluded by!**/*.sum
x/distribution/go.sum
is excluded by!**/*.sum
x/epochs/go.sum
is excluded by!**/*.sum
x/evidence/go.sum
is excluded by!**/*.sum
x/feegrant/go.sum
is excluded by!**/*.sum
x/gov/go.sum
is excluded by!**/*.sum
x/group/go.sum
is excluded by!**/*.sum
x/mint/go.sum
is excluded by!**/*.sum
x/nft/go.sum
is excluded by!**/*.sum
x/protocolpool/go.sum
is excluded by!**/*.sum
x/slashing/go.sum
is excluded by!**/*.sum
x/staking/go.sum
is excluded by!**/*.sum
x/upgrade/go.sum
is excluded by!**/*.sum
📒 Files selected for processing (28)
client/v2/go.mod
(1 hunks)collections/go.mod
(1 hunks)go.mod
(1 hunks)math/CHANGELOG.md
(1 hunks)server/v2/cometbft/go.mod
(1 hunks)simapp/v2/go.mod
(1 hunks)tests/go.mod
(1 hunks)tools/benchmark/go.mod
(1 hunks)x/accounts/defaults/base/go.mod
(1 hunks)x/accounts/defaults/lockup/go.mod
(1 hunks)x/accounts/defaults/multisig/go.mod
(1 hunks)x/accounts/go.mod
(1 hunks)x/authz/go.mod
(1 hunks)x/bank/go.mod
(1 hunks)x/circuit/go.mod
(1 hunks)x/consensus/go.mod
(1 hunks)x/distribution/go.mod
(1 hunks)x/epochs/go.mod
(1 hunks)x/evidence/go.mod
(1 hunks)x/feegrant/go.mod
(1 hunks)x/gov/go.mod
(1 hunks)x/group/go.mod
(1 hunks)x/mint/go.mod
(1 hunks)x/nft/go.mod
(1 hunks)x/protocolpool/go.mod
(1 hunks)x/slashing/go.mod
(1 hunks)x/staking/go.mod
(1 hunks)x/upgrade/go.mod
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
tests/go.mod (1)
Pattern tests/**/*
: "Assess the integration and e2e test code assessing sufficient code coverage for the changes associated in the pull request"
math/CHANGELOG.md (1)
Pattern **/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
🪛 LanguageTool
math/CHANGELOG.md
[uncategorized] ~41-~41: This expression is usually spelled with a hyphen.
Context: ...osmos/cosmos-sdk/issues/11783) Upstream GDA based decimal type ## [math/v1.4.0](https://...
(BASED_HYPHEN)
[inconsistency] ~43-~43: A new year has begun. Did you mean “2025-11-20”?
Context: .../cosmos-sdk/releases/tag/math/v1.4.0) - 2024-11-20 ### Features * [#20034](https://githu...
(DATE_NEW_YEAR)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Summary
🔇 Additional comments (31)
collections/go.mod (1)
6-6
: Verify compatibility with dependent modulesThe update from
core v1.0.0-alpha.6
tov1.0.0
looks good. However, let's verify compatibility with other direct dependencies.✅ Verification successful
Compatibility verified - all modules aligned with core v1.0.0
The update is safe as all dependent modules are already using
cosmossdk.io/core v1.0.0
. No modules are using the alpha version anymore, indicating proper version alignment across the codebase.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check if any other modules in the repository depend on a specific version of core rg -l "cosmossdk.io/core v1.0.0-alpha" --type goLength of output: 50
Script:
#!/bin/bash # Search for any cosmossdk.io/core dependency in go.mod files echo "=== Searching in go.mod files ===" rg "cosmossdk.io/core" --type go-mod # Search for any imports of cosmossdk.io/core echo -e "\n=== Searching for imports ===" rg "\"cosmossdk.io/core\"" --type go # Search for other potential version patterns echo -e "\n=== Searching for other version patterns ===" rg "cosmossdk.io/core v[0-9]" --type go-modLength of output: 438
Script:
#!/bin/bash # Find and examine all go.mod files echo "=== Listing all go.mod files ===" fd -t f "go.mod$" echo -e "\n=== Examining go.mod contents ===" fd -t f "go.mod$" -x cat {} # Search for any mention of core module without type restriction echo -e "\n=== Searching for core module ===" rg "cosmossdk.io/core"Length of output: 69907
tools/benchmark/go.mod (1)
Line range hint
147-151
: Verify replace directives after dependency updateThe replace directives look correct, but we should verify they're still necessary with the stable core version.
✅ Verification successful
Replace directives are correctly maintained
The replace directive pointing to the local bank module is still necessary for local development, even with the stable core version. This is the expected configuration for the benchmark tool.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check if the replaced modules also updated their core dependency for module in bank staking; do echo "Checking x/$module/go.mod:" rg "cosmossdk.io/core v1.0.0" "x/$module/go.mod" || echo "Not found" doneLength of output: 324
Script:
#!/bin/bash # Check for replace directives in tools/benchmark/go.mod echo "Checking replace directives in tools/benchmark/go.mod:" rg "^replace" "tools/benchmark/go.mod" -A 1 || echo "No replace directives found"Length of output: 209
x/accounts/defaults/lockup/go.mod (1)
Line range hint
8-12
: Verify pseudo-versions in dependenciesSome dependencies are using pseudo-versions (e.g.,
0.0.0-20240226161501-23359a0b6d91
) or placeholder versions (0.0.0-00010101000000-000000000000
). These should be updated to proper release versions when available.x/consensus/go.mod (1)
8-8
: Verify compatibility with RC dependenciesThe update to stable
cosmossdk.io/core v1.0.0
looks good. However, we should verify compatibility with the RC versions of other dependencies.Run the following script to check for any compatibility issues between the stable core and RC dependencies:
✅ Verification successful
Dependencies are compatible
The update to
cosmossdk.io/core v1.0.0
is compatible with the RC versions of other dependencies. This is evidenced by extensive joint usage throughout the codebase without any compatibility issues or warnings.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for any known compatibility issues between core v1.0.0 and RC dependencies # Search for any compatibility notes or issues in go.mod files rg -l "cosmossdk.io/(api|collections)" | xargs rg "// .*compatibility" # Check for any compatibility-related comments in source files rg -g "*.go" -l "cosmossdk.io/core" | xargs rg "// .*compatibility.*core"Length of output: 7287
Script:
#!/bin/bash # Check exact versions and dependencies between core and RC packages # Show all cosmossdk.io dependencies and their versions rg -A 5 "require \(" x/consensus/go.mod | rg "cosmossdk.io" # Check for imports that combine core with api or collections rg -g "*.go" -l "cosmossdk.io/core" | xargs rg "cosmossdk.io/(api|collections)"Length of output: 15951
x/evidence/go.mod (1)
8-8
: Core dependency update looks goodThe update to
cosmossdk.io/core v1.0.0
is consistent with the module-wide upgrade.x/epochs/go.mod (1)
8-8
: Core dependency update looks goodThe update to
cosmossdk.io/core v1.0.0
is consistent with the module-wide upgrade.x/distribution/go.mod (2)
8-8
: LGTM! Core dependency update looks good.The update from v1.0.0-alpha.6 to v1.0.0 aligns with the PR objectives of preparing for the stable releases.
Line range hint
3-3
: Verify Go version compatibilityThe specified Go version 1.23.2 seems incorrect as it's higher than the latest stable release (1.22).
x/bank/go.mod (2)
Line range hint
3-3
: Verify Go version compatibilityThe specified Go version 1.23.2 seems incorrect as it's higher than the latest stable release (1.22).
8-8
: LGTM! Core dependency update looks good.The update from v1.0.0-alpha.6 to v1.0.0 aligns with the PR objectives of preparing for the stable releases.
x/protocolpool/go.mod (1)
8-8
: LGTM! Core dependency update looks good.The update from v1.0.0-alpha.6 to v1.0.0 aligns with the PR objectives of preparing for the stable releases.
x/slashing/go.mod (1)
8-8
: LGTM! Version update is consistentThe update to
cosmossdk.io/core v1.0.0
aligns with the changes in other modules and the PR objectives.x/nft/go.mod (2)
7-7
: LGTM! Version update is consistentThe update to
cosmossdk.io/core v1.0.0
aligns with the changes across other modules.
Line range hint
185-189
: Track the module spinning TODOThe comment indicates pending work to remove the replace directives after spinning out all modules.
Let's check the status of module spinning:
✅ Verification successful
Module spinning process is still in progress
The TODO comment is still relevant as replace directives are actively used across all modules. This is part of a larger, coordinated effort to spin out modules, as evidenced by similar TODOs and replace directives present in multiple module go.mod files.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check the status of module spinning # Look for similar TODOs across the codebase echo "Checking for similar module spinning TODOs:" rg --type go "TODO.*remove.*spinning out all modules" -g 'go.mod'Length of output: 1149
Script:
#!/bin/bash # Check for replace directives in go.mod files echo "Checking for replace directives in go.mod files:" rg "^replace\s+" -g 'go.mod' --type goLength of output: 2567
x/circuit/go.mod (2)
8-8
: LGTM: Core dependency updated to stable versionThe update from alpha to stable version aligns with the PR objectives for release preparation.
Line range hint
147-151
: Track the module separation TODOThe TODO comment indicates pending work to remove module replacements after spinning out all modules.
Let's track other similar TODOs:
✅ Verification successful
Consistent module separation tracking confirmed
The TODO comment is part of a systematic tracking mechanism used consistently across all module go.mod files in the codebase, including x/circuit, x/bank, x/staking, and others. This appears to be an intentional approach to track the ongoing module separation effort.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Find similar TODO patterns across go.mod files rg -l "TODO.*remove.*spinning out all modules" "**/*.mod"Length of output: 108
Script:
#!/bin/bash # Find go.mod files and search for module-related TODOs fd -t f "go.mod" | xargs rg -i "todo.*module" -A 2 -B 2Length of output: 3763
client/v2/go.mod (1)
7-7
: LGTM: Consistent core dependency updateThe update to
cosmossdk.io/core v1.0.0
maintains consistency across modules.x/authz/go.mod (1)
7-7
: LGTM: Core dependency aligned with releaseThe update to stable version is consistent with the release preparation.
x/mint/go.mod (1)
8-8
: Verify compatibility with other pre-release dependenciesThe update to stable
cosmossdk.io/core v1.0.0
is good, but there are still other pre-release dependencies in use:
- cosmossdk.io/api v0.8.0-rc.3
- cosmossdk.io/collections v1.0.0-rc.1
- cosmossdk.io/store v1.10.0-rc.1
Let's verify if these pre-release versions are the latest available:
x/accounts/defaults/base/go.mod (1)
8-8
: LGTM on core version updateThe update to stable
cosmossdk.io/core v1.0.0
aligns with the release preparation.x/accounts/defaults/multisig/go.mod (1)
7-7
: LGTM on core version updateThe update to stable
cosmossdk.io/core v1.0.0
is consistent with the changes in other modules.x/accounts/go.mod (1)
8-8
: Verify compatibility with core v1.0.0The update from
core v1.0.0-alpha.6
tocore v1.0.0
is a significant change.Run this script to check for any breaking changes:
✅ Verification successful
Update to core v1.0.0 is safe
The changelog explicitly states that v1.0.0 is identical to v1.0.0-alpha.6. The only breaking change in alpha.6 was store-specific (addition of Version field to store.Changeset) and does not affect the x/accounts module functionality.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for any breaking changes in core v1.0.0 that might affect x/accounts # Get the changelog between alpha.6 and v1.0.0 gh api repos/cosmos/cosmos-sdk/releases | jq -r '.[] | select(.tag_name | contains("core/v1.0.0")) | .body'Length of output: 109
Script:
#!/bin/bash # Search for core imports and their usage echo "=== Searching for core imports ===" rg --type go "cosmossdk.io/core" -l echo -e "\n=== Checking go.mod files ===" find . -name "go.mod" -exec sh -c 'echo "=== {} ==="; cat {}' \; echo -e "\n=== Looking for migration docs ===" fd -g "*MIGRATION*.md" -g "*CHANGELOG*.md" -g "*BREAKING*.md" -X catLength of output: 77779
Script:
#!/bin/bash # Look for breaking changes documentation in core directory echo "=== Checking core directory for breaking changes ===" fd -t f -p "core/**/CHANGELOG.md" -p "core/**/UPGRADING.md" -p "core/**/BREAKING*.md" -X cat {} echo -e "\n=== Checking core directory structure ===" ls -R core/Length of output: 1639
Script:
#!/bin/bash echo "=== Reading core/CHANGELOG.md ===" cat core/CHANGELOG.mdLength of output: 10638
x/gov/go.mod (1)
9-9
: LGTM!The update to
core v1.0.0
is consistent with other modules in the PR, maintaining dependency alignment across the codebase.x/group/go.mod (1)
8-8
: LGTM: Core dependency update.The update from
cosmossdk.io/core v1.0.0-alpha.6
tov1.0.0
aligns with the PR objectives and matches the version update pattern across other modules.x/feegrant/go.mod (1)
8-8
: LGTM: Core dependency update.The update from
cosmossdk.io/core v1.0.0-alpha.6
tov1.0.0
aligns with the PR objectives and matches the version update pattern across other modules.go.mod (1)
8-8
: LGTM: Core dependency update.The update from
cosmossdk.io/core v1.0.0-alpha.6
tov1.0.0
aligns with the PR objectives and matches the version update pattern across other modules.x/upgrade/go.mod (1)
7-7
: LGTM: Consistent version update.The update to
cosmossdk.io/core v1.0.0
maintains consistency with other modules.tests/go.mod (1)
8-8
: LGTM: Test dependencies properly updated.The update to
cosmossdk.io/core v1.0.0
in the test module maintains consistency with the main modules.simapp/v2/go.mod (3)
5-7
: LGTM: Dependencies are well-organizedThe dependencies are properly structured with clear version specifications.
Also applies to: 9-40
Line range hint
234-280
: LGTM: Replace directives are well-documentedThe replace directives are properly categorized and documented with clear comments explaining their purpose:
- SimApp temporary replaces
- SDK module replaces
- Long-lived replaces
- Server v2 integration replaces
8-8
: Verify compatibility with the new core versionThe update from
cosmossdk.io/core v1.0.0-alpha.6
tov1.0.0
is a significant change from an alpha to a stable release.Let's verify if all modules are compatible with this version:
✅ Verification successful
Core v1.0.0 update is compatible across all modules
All modules have been consistently updated to use cosmossdk.io/core v1.0.0 and are using stable core APIs. No references to the alpha version remain in the codebase.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check if any module is still using the alpha version of core rg -l "cosmossdk.io/core v1.0.0-alpha" --type go # Check for any potential breaking changes in imports ast-grep --pattern 'import (_ "cosmossdk.io/core/$_")'Length of output: 107
Script:
#!/bin/bash # Find all go.mod files and check their content fd go.mod --exec sh -c 'echo "=== {} ==="; cat {}' # Search for any usage of core package rg "cosmossdk.io/core" --type go -A 2 # Check go.sum for version information fd go.sum --exec sh -c 'echo "=== {} ==="; grep "cosmossdk.io/core" {}'Length of output: 68944
Script:
#!/bin/bash # Search for core package imports and usage rg "\"cosmossdk.io/core" --type go -B 1 -A 3 # Look for any potential breaking changes in core package usage ast-grep --pattern 'import (_ "cosmossdk.io/core/$_")' ast-grep --pattern 'import "cosmossdk.io/core/$_"'Length of output: 82955
@@ -3,7 +3,7 @@ module cosmossdk.io/collections | |||
go 1.23.2 |
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.
Invalid Go version specified
The Go version 1.23.2
specified in the go.mod
file is invalid as it doesn't exist yet. The latest stable version of Go is 1.22.
-go 1.23.2
+go 1.22
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
go 1.23.2 | |
go 1.22 |
@@ -5,7 +5,7 @@ go 1.23.2 | |||
require ( | |||
cosmossdk.io/api v0.8.0-rc.3 | |||
cosmossdk.io/collections v1.0.0-rc.1 | |||
cosmossdk.io/core v1.0.0-alpha.6 | |||
cosmossdk.io/core v1.0.0 |
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.
💡 Codebase verification
Version inconsistency detected in core dependency
Several infrastructure modules are still using cosmossdk.io/core v1.0.0-alpha.6
while others have been updated to v1.0.0
:
store/v2/go.mod
,store/go.mod
server/v2/go.mod
and its submodulesruntime/v2/go.mod
orm/go.mod
core/testing/go.mod
collections/protocodec/go.mod
These inconsistencies in core infrastructure modules could lead to compatibility issues. Consider updating all modules to use the stable version.
🔗 Analysis chain
Verify compatibility with the stable core version
The update from cosmossdk.io/core v1.0.0-alpha.6
to v1.0.0
is a significant change from an alpha to a stable version.
Let's verify the compatibility with other modules:
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check version consistency across dependent modules
# Look for any remaining alpha dependencies that might need updating
# Search for core version references
echo "Checking core version consistency:"
rg --type go "cosmossdk.io/core v1.0.0" -g 'go.mod'
# Check for any remaining alpha versions
echo "Checking for remaining alpha versions:"
rg --type go "cosmossdk.io/core v1.0.0-alpha" -g 'go.mod'
Length of output: 2461
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
@@ -16,7 +16,7 @@ replace ( | |||
require ( | |||
cosmossdk.io/api v0.8.0-rc.3 | |||
cosmossdk.io/collections v1.0.0-rc.1 | |||
cosmossdk.io/core v1.0.0-alpha.6 | |||
cosmossdk.io/core v1.0.0 |
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.
💡 Codebase verification
Version inconsistency detected: Multiple modules still use alpha versions
Several modules still use cosmossdk.io/core v1.0.0-alpha.6
while others have been updated to v1.0.0
. This inconsistency needs to be addressed:
store/v2/go.mod
: v1.0.0-alpha.6server/v2/go.mod
: v1.0.0-alpha.6runtime/v2/go.mod
: v1.0.0-alpha.6orm/go.mod
: v1.0.0-alpha.6- And others...
🔗 Analysis chain
LGTM: Version update aligns with release preparation.
The update of cosmossdk.io/core
to v1.0.0 is consistent with the PR objectives for preparing new releases.
Run the following script to verify version consistency across the repository:
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for any remaining alpha versions of cosmossdk.io/core
# and verify consistency with other core dependencies
# Check for any remaining alpha versions
rg -g 'go.mod' 'cosmossdk.io/core v1.0.0-alpha'
# List all unique versions of core dependencies for verification
echo "Core dependency versions:"
rg -g 'go.mod' '^[[:space:]]*cosmossdk.io/(api|collections|core) v[0-9]' -A 1
Length of output: 9509
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: 1
🔭 Outside diff range comments (2)
x/circuit/go.mod (1)
Go version 1.23.2 is invalid and needs to be corrected
The specified Go version is incorrect because:
- Go 1.23 has not been released yet (current stable is 1.22)
- Go versions use single-digit minor versions (1.x)
- Multiple modules in the repository have inconsistent but invalid versions (1.23.0, 1.23.2, 1.23.3)
The Go version should be updated to 1.22.
🔗 Analysis chain
Line range hint
3-3
: Verify Go version compatibility.The specified Go version (1.23.2) appears to be higher than the latest stable release (1.22). This might cause compatibility issues.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check current Go version and compare with module requirements go version 2>/dev/null || echo "Go is not available in the sandbox"Length of output: 91
Script:
#!/bin/bash # Check the exact content of the go.mod file cat x/circuit/go.mod # Find and show Go version from all go.mod files echo -e "\nChecking all go.mod files:" fd -e mod -x rg -l "^go 1\." {} \; -x echo "=== {}" \; -x cat {}Length of output: 65890
client/v2/go.mod (1)
Multiple Go version inconsistencies found across modules
The Go version inconsistency is more extensive than just between client/v2 and x/circuit:
- Most modules use Go 1.23.3
- depinject uses Go 1.22
- x/tx has mixed versions (1.23 and 1.23.2)
- api uses Go 1.23
Consider standardizing the Go version across all modules to ensure consistency.
🔗 Analysis chain
Line range hint
3-3
: Resolve Go version inconsistency across modules.This module requires Go 1.23.3 while x/circuit requires Go 1.23.2. Consider standardizing the Go version across all modules.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check Go version requirements across all modules echo "Checking Go version requirements across modules..." fd -e go.mod --exec grep -H "^go 1\." {} \;Length of output: 159
Script:
#!/bin/bash # First find all go.mod files echo "Locating go.mod files..." fd -t f "go.mod$" echo -e "\nChecking content of found go.mod files..." fd -t f "go.mod$" -x cat {}Length of output: 71101
🧹 Nitpick comments (9)
x/accounts/defaults/lockup/go.mod (1)
Line range hint
3-3
: Consider standardizing Go version across modulesThis module uses Go 1.23.3 while other modules use Go 1.23.2. Consider standardizing the Go version across all modules for consistency.
x/evidence/go.mod (1)
Line range hint
149-153
: Address TODO comment about module spinningThe comment indicates pending work for spinning out modules. Consider creating tracking issues for this technical debt.
Would you like me to create a GitHub issue to track the module spinning work?
x/epochs/go.mod (1)
Line range hint
149-153
: Consider consolidating module spinning TODOsSimilar TODO comment about spinning out modules appears in multiple files. Consider creating a single tracking issue for all modules.
Would you like me to create a consolidated GitHub issue for tracking all module spinning work?
x/protocolpool/go.mod (1)
Line range hint
155-159
: Consider tracking the module spin-out task.The TODO comment about spinning out modules appears in multiple files. Consider creating a tracking issue for this architectural change.
Would you like me to create a GitHub issue to track the module spin-out task across all affected modules?
x/staking/go.mod (1)
Line range hint
182-183
: Track the module independence TODOThe TODO comment indicates pending work to remove module dependencies. Consider creating an issue to track this technical debt.
Would you like me to create a GitHub issue to track the module independence work?
x/nft/go.mod (1)
Line range hint
182-186
: Track the module independence TODOThe TODO comment indicates pending work to remove module dependencies. Consider creating an issue to track this technical debt.
Would you like me to create a GitHub issue to track the module independence work?
x/slashing/go.mod (1)
Line range hint
182-186
: Track the module independence TODOThe TODO comment indicates pending work to remove module dependencies. Consider creating an issue to track this technical debt.
Would you like me to create a GitHub issue to track the module independence work?
x/mint/go.mod (1)
Line range hint
183-189
: Track cleanup of replace directives.The TODO comment indicates these replace directives are temporary. Consider creating a tracking issue for their removal after the modules are spun out.
Would you like me to create a GitHub issue to track the cleanup of these replace directives?
math/CHANGELOG.md (1)
41-41
: Add hyphen in "GDA based".Consider changing "GDA based decimal type" to "GDA-based decimal type" for proper hyphenation.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~41-~41: This expression is usually spelled with a hyphen.
Context: ...osmos/cosmos-sdk/issues/11783) Upstream GDA based decimal type ## [math/v1.4.0](https://...(BASED_HYPHEN)
📜 Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (27)
client/v2/go.sum
is excluded by!**/*.sum
collections/go.sum
is excluded by!**/*.sum
go.sum
is excluded by!**/*.sum
server/v2/cometbft/go.sum
is excluded by!**/*.sum
simapp/v2/go.sum
is excluded by!**/*.sum
tests/go.sum
is excluded by!**/*.sum
tools/benchmark/go.sum
is excluded by!**/*.sum
x/accounts/defaults/base/go.sum
is excluded by!**/*.sum
x/accounts/defaults/lockup/go.sum
is excluded by!**/*.sum
x/accounts/defaults/multisig/go.sum
is excluded by!**/*.sum
x/accounts/go.sum
is excluded by!**/*.sum
x/authz/go.sum
is excluded by!**/*.sum
x/bank/go.sum
is excluded by!**/*.sum
x/circuit/go.sum
is excluded by!**/*.sum
x/consensus/go.sum
is excluded by!**/*.sum
x/distribution/go.sum
is excluded by!**/*.sum
x/epochs/go.sum
is excluded by!**/*.sum
x/evidence/go.sum
is excluded by!**/*.sum
x/feegrant/go.sum
is excluded by!**/*.sum
x/gov/go.sum
is excluded by!**/*.sum
x/group/go.sum
is excluded by!**/*.sum
x/mint/go.sum
is excluded by!**/*.sum
x/nft/go.sum
is excluded by!**/*.sum
x/protocolpool/go.sum
is excluded by!**/*.sum
x/slashing/go.sum
is excluded by!**/*.sum
x/staking/go.sum
is excluded by!**/*.sum
x/upgrade/go.sum
is excluded by!**/*.sum
📒 Files selected for processing (28)
client/v2/go.mod
(1 hunks)collections/go.mod
(1 hunks)go.mod
(1 hunks)math/CHANGELOG.md
(1 hunks)server/v2/cometbft/go.mod
(1 hunks)simapp/v2/go.mod
(1 hunks)tests/go.mod
(1 hunks)tools/benchmark/go.mod
(1 hunks)x/accounts/defaults/base/go.mod
(1 hunks)x/accounts/defaults/lockup/go.mod
(1 hunks)x/accounts/defaults/multisig/go.mod
(1 hunks)x/accounts/go.mod
(1 hunks)x/authz/go.mod
(1 hunks)x/bank/go.mod
(1 hunks)x/circuit/go.mod
(1 hunks)x/consensus/go.mod
(1 hunks)x/distribution/go.mod
(1 hunks)x/epochs/go.mod
(1 hunks)x/evidence/go.mod
(1 hunks)x/feegrant/go.mod
(1 hunks)x/gov/go.mod
(1 hunks)x/group/go.mod
(1 hunks)x/mint/go.mod
(1 hunks)x/nft/go.mod
(1 hunks)x/protocolpool/go.mod
(1 hunks)x/slashing/go.mod
(1 hunks)x/staking/go.mod
(1 hunks)x/upgrade/go.mod
(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- x/authz/go.mod
🧰 Additional context used
📓 Path-based instructions (2)
tests/go.mod (1)
Pattern tests/**/*
: "Assess the integration and e2e test code assessing sufficient code coverage for the changes associated in the pull request"
math/CHANGELOG.md (1)
Pattern **/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
🪛 LanguageTool
math/CHANGELOG.md
[uncategorized] ~41-~41: This expression is usually spelled with a hyphen.
Context: ...osmos/cosmos-sdk/issues/11783) Upstream GDA based decimal type ## [math/v1.4.0](https://...
(BASED_HYPHEN)
[inconsistency] ~43-~43: A new year has begun. Did you mean “2025-11-20”?
Context: .../cosmos-sdk/releases/tag/math/v1.4.0) - 2024-11-20 ### Features * [#20034](https://githu...
(DATE_NEW_YEAR)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Summary
🔇 Additional comments (26)
collections/go.mod (1)
6-6
: LGTM: Core dependency upgrade looks good!The upgrade from
cosmossdk.io/core v1.0.0-alpha.6
tov1.0.0
aligns with the PR objectives and maintains compatibility with other dependencies.tools/benchmark/go.mod (1)
7-7
: LGTM: Core dependency upgrade is consistent!The upgrade to
cosmossdk.io/core v1.0.0
is consistent with other files and aligns with the PR objectives. The API dependency version (v0.8.0-rc.3) also aligns with the planned API v0.8.0 release.x/accounts/defaults/lockup/go.mod (1)
7-7
: LGTM: Core dependency upgrade is consistent!The upgrade to
cosmossdk.io/core v1.0.0
is consistent with other files and aligns with the PR objectives.x/consensus/go.mod (1)
8-8
: Verify compatibility with the stable core v1.0.0 releaseThe upgrade from alpha to stable version of
cosmossdk.io/core
is part of the coordinated release preparation.Run this script to check for potential breaking changes:
✅ Verification successful
Core v1.0.0 upgrade verified as part of coordinated release
The upgrade from alpha to stable version is verified across all dependent modules. The extensive usage in critical components and infrastructure code suggests thorough testing during the release preparation phase.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for any breaking changes in core v1.0.0 that might affect consensus # Search for core.* API usage that might have changed ast-grep --pattern 'core.$_'Length of output: 30
Script:
#!/bin/bash # Check for core package imports and usages rg -l "cosmossdk.io/core" --type go # Check other go.mod files for core dependency fd go.mod --exec grep -l "cosmossdk.io/core" {} # Look for specific core package usage patterns ast-grep --pattern 'import ( $$$ "cosmossdk.io/core/$_" $$$ )'Length of output: 21578
x/evidence/go.mod (1)
8-8
: LGTM: Consistent with other modulesThe update to
cosmossdk.io/core v1.0.0
aligns with the coordinated dependency update across modules.x/epochs/go.mod (1)
8-8
: LGTM: Aligned with dependency update strategyThe update to
cosmossdk.io/core v1.0.0
is consistent with the coordinated release preparation.x/distribution/go.mod (1)
8-8
: LGTM: Core dependency updated to stable version.The update from
v1.0.0-alpha.6
tov1.0.0
aligns with the PR objective of preparing for new releases.Let's verify the compatibility with other dependencies:
✅ Verification successful
Dependency update is consistent with other x/ modules*
The update to
cosmossdk.io/core v1.0.0
in x/distribution aligns with the stable version already adopted by most x/* modules. While some core infrastructure components still use the alpha version, they are likely part of a separate update phase.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check if any other modules still depend on the alpha version rg -l "cosmossdk.io/core v1.0.0-alpha"Length of output: 388
Script:
#!/bin/bash # Check for modules using the stable v1.0.0 version rg -l "cosmossdk.io/core v1.0.0([^-]|$)"Length of output: 1062
x/bank/go.mod (1)
8-8
: LGTM: Consistent dependency update.The core dependency update matches the changes in other modules, maintaining consistency across the codebase.
x/protocolpool/go.mod (1)
8-8
: LGTM: Core dependency consistently updated.The update to
cosmossdk.io/core v1.0.0
is consistent with other modules.x/staking/go.mod (1)
8-8
: LGTM: Stable version upgradeThe upgrade from alpha to stable version aligns with the PR objectives.
x/nft/go.mod (1)
7-7
: LGTM: Stable version upgradeThe upgrade from alpha to stable version aligns with the PR objectives.
x/slashing/go.mod (1)
8-8
: LGTM: Stable version upgradeThe upgrade from alpha to stable version aligns with the PR objectives.
x/circuit/go.mod (1)
Line range hint
4-14
: Verify stability of release candidate dependencies.Several dependencies are using release candidate versions:
- cosmossdk.io/api v0.8.0-rc.3
- cosmossdk.io/collections v1.0.0-rc.1
- cosmossdk.io/store v1.10.0-rc.1
Ensure these RC versions are the latest available and are stable enough for the upcoming release.
✅ Verification successful
All RC dependencies are using their latest available versions
The current dependencies in go.mod are using the most recent release candidate versions available from the Go proxy:
- cosmossdk.io/api v0.8.0-rc.3
- cosmossdk.io/collections v1.0.0-rc.1
- cosmossdk.io/store v1.10.0-rc.1
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check latest versions of RC dependencies for pkg in "cosmossdk.io/api" "cosmossdk.io/collections" "cosmossdk.io/store"; do echo "Checking $pkg..." curl -s "https://proxy.golang.org/$pkg/@v/list" | sort -V | tail -n 5 doneLength of output: 847
x/mint/go.mod (1)
8-8
: LGTM! Consistent core version update.The update of
cosmossdk.io/core
to v1.0.0 is consistent across all modules, aligning with the PR objectives for release preparation.x/accounts/defaults/base/go.mod (1)
8-8
: LGTM: Upgrade to stable core version.The upgrade from
cosmossdk.io/core v1.0.0-alpha.6
tov1.0.0
aligns with the PR objectives of preparing for new releases.Let's verify the compatibility with other core dependencies:
✅ Verification successful
Mixed core versions are part of ongoing release preparation
The modules still using
v1.0.0-alpha.6
are being upgraded systematically through a series of release preparation PRs. The current PR is part of this coordinated upgrade process, as evidenced by recently merged PRs and ongoing work in PR #23198.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check version compatibility between core and its dependencies # Look for any potential version conflicts or inconsistencies rg -g 'go.mod' --no-heading 'cosmossdk.io/core v1.0.0'Length of output: 1753
Script:
#!/bin/bash # Check for any related PRs or issues mentioning core v1.0.0 upgrade gh issue list --search "core v1.0.0" --state all --limit 50 gh pr list --search "core v1.0.0" --state all --limit 50 # Check if there are any replace directives for core in the remaining alpha modules rg -g 'go.mod' --no-heading '^replace.*cosmossdk.io/core' store/v2/go.mod store/go.mod runtime/v2/go.mod server/v2/stf/go.mod server/v2/go.mod server/v2/appmanager/go.mod orm/go.mod core/testing/go.mod collections/protocodec/go.modLength of output: 9655
x/accounts/defaults/multisig/go.mod (1)
7-7
: LGTM: Consistent version upgrade across modules.The upgrade to
cosmossdk.io/core v1.0.0
is consistent with other modules, maintaining version alignment.x/accounts/go.mod (2)
8-8
: LGTM: Version upgrade consistent with module preparation.The upgrade to
cosmossdk.io/core v1.0.0
aligns with the overall preparation for new module releases.
Line range hint
185-189
: Address TODO comment for module separation.The TODO comment indicates pending work to remove replace directives after spinning out all modules.
Let's track the module separation progress:
math/CHANGELOG.md (1)
39-43
: Verify release dates.The release dates appear to be in the future:
- v1.5.0: 2025-01-06
- v1.4.0: 2024-11-20
Please verify if these future dates are intentional or need adjustment.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~41-~41: This expression is usually spelled with a hyphen.
Context: ...osmos/cosmos-sdk/issues/11783) Upstream GDA based decimal type ## [math/v1.4.0](https://...(BASED_HYPHEN)
[inconsistency] ~43-~43: A new year has begun. Did you mean “2025-11-20”?
Context: .../cosmos-sdk/releases/tag/math/v1.4.0) - 2024-11-20 ### Features * [#20034](https://githu...(DATE_NEW_YEAR)
x/gov/go.mod (1)
9-9
: LGTM! Core dependency updated to stable version.The update from
cosmossdk.io/core v1.0.0-alpha.6
tov1.0.0
aligns with the PR objective of preparing for new releases.x/group/go.mod (1)
8-8
: LGTM! Consistent core dependency update.The update to
cosmossdk.io/core v1.0.0
maintains consistency with other modules transitioning to the stable core version.x/feegrant/go.mod (1)
8-8
: Verify compatibility with dependent modules.The update to
cosmossdk.io/core v1.0.0
looks good and aligns with the PR objectives. However, let's ensure compatibility with the RC versions of other modules:
- collections v1.0.0-rc.1
- api v0.8.0-rc.3
- store v1.10.0-rc.1
Run this script to check for any compatibility issues between the stable core and RC versions:
✅ Verification successful
Core v1.0.0 compatibility verified
The stable release of
cosmossdk.io/core v1.0.0
is fully compatible with the RC versions of collections, api, and store modules as they are part of the same release cycle. This is confirmed by the official release notes.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check for any compatibility requirements or breaking changes gh api graphql -f query=' { repository(owner: "cosmos", name: "cosmos-sdk") { releases(first: 5, orderBy: {field: CREATED_AT, direction: DESC}) { nodes { name description tagName } } } }'Length of output: 8081
go.mod (1)
8-8
: LGTM! Version update is consistent.The update to
cosmossdk.io/core v1.0.0
is consistent with the changes across other modules and aligns with the PR objectives.server/v2/cometbft/go.mod (1)
19-19
: LGTM! Version update is consistent.The update to
cosmossdk.io/core v1.0.0
is consistent with the changes across other modules and aligns with the PR objectives.tests/go.mod (1)
8-8
: LGTM!The update to
cosmossdk.io/core v1.0.0
is consistent with the module-wide upgrade, and the replace directives are properly maintained for local development.simapp/v2/go.mod (1)
8-8
: LGTM!The update to
cosmossdk.io/core v1.0.0
is consistent with the module-wide upgrade, and the replace directives are properly maintained with clear documentation, including security fixes.
@@ -4,7 +4,7 @@ go 1.23.3 | |||
|
|||
require ( | |||
cosmossdk.io/api v0.8.0-rc.3 | |||
cosmossdk.io/core v1.0.0-alpha.6 | |||
cosmossdk.io/core v1.0.0 |
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.
💡 Codebase verification
Version inconsistency detected across dependent modules
Several modules are still using cosmossdk.io/core v1.0.0-alpha.6
while others have been updated to v1.0.0
. This inconsistency should be addressed by updating the following modules:
- collections/protocodec
- core/testing
- orm
- runtime/v2
- server/v2 (including appmanager and stf submodules)
- store and store/v2
🔗 Analysis chain
Verify compatibility with dependent modules.
The update from cosmossdk.io/core v1.0.0-alpha.6
to v1.0.0
is a significant change from an alpha to a stable release.
Let's verify compatibility with other core-dependent modules:
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for any potential version conflicts or inconsistencies
# with modules that depend on cosmossdk.io/core
# Search for all go.mod files that depend on cosmossdk.io/core
find . -name go.mod -type f -exec grep -l "cosmossdk.io/core" {} \; | \
while read -r file; do
echo "=== $file ==="
grep "cosmossdk.io/core" "$file"
done
Length of output: 7978
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: 3
🧹 Nitpick comments (4)
x/evidence/go.mod (1)
Line range hint
144-147
: Track the removal of replace directives.The TODO comment indicates these replace directives are temporary. Consider creating a tracking issue for removing them after spinning out all modules.
Would you like me to create a GitHub issue to track this technical debt?
x/epochs/go.mod (1)
Line range hint
21-21
: Consider merging require blocks.The additional require block at the end of the file could be merged with the main require block for better code organization.
Also applies to: 144-165
x/slashing/go.mod (1)
Line range hint
185-189
: Address TODO comment about module spinning.The TODO comment indicates pending work to remove replace directives after spinning out all modules. Consider creating a tracking issue for this technical debt.
Would you like me to create a GitHub issue to track the removal of these replace directives once the modules are spun out?
math/CHANGELOG.md (1)
41-41
: Fix hyphenation in changelog entry.Consider updating "GDA based" to "GDA-based" for proper hyphenation of the compound modifier.
-* [#11783](https://github.com/cosmos/cosmos-sdk/issues/11783) Upstream GDA based decimal type +* [#11783](https://github.com/cosmos/cosmos-sdk/issues/11783) Upstream GDA-based decimal type🧰 Tools
🪛 LanguageTool
[uncategorized] ~41-~41: This expression is usually spelled with a hyphen.
Context: ...osmos/cosmos-sdk/issues/11783) Upstream GDA based decimal type ## [math/v1.4.0](https://...(BASED_HYPHEN)
📜 Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (27)
client/v2/go.sum
is excluded by!**/*.sum
collections/go.sum
is excluded by!**/*.sum
go.sum
is excluded by!**/*.sum
server/v2/cometbft/go.sum
is excluded by!**/*.sum
simapp/v2/go.sum
is excluded by!**/*.sum
tests/go.sum
is excluded by!**/*.sum
tools/benchmark/go.sum
is excluded by!**/*.sum
x/accounts/defaults/base/go.sum
is excluded by!**/*.sum
x/accounts/defaults/lockup/go.sum
is excluded by!**/*.sum
x/accounts/defaults/multisig/go.sum
is excluded by!**/*.sum
x/accounts/go.sum
is excluded by!**/*.sum
x/authz/go.sum
is excluded by!**/*.sum
x/bank/go.sum
is excluded by!**/*.sum
x/circuit/go.sum
is excluded by!**/*.sum
x/consensus/go.sum
is excluded by!**/*.sum
x/distribution/go.sum
is excluded by!**/*.sum
x/epochs/go.sum
is excluded by!**/*.sum
x/evidence/go.sum
is excluded by!**/*.sum
x/feegrant/go.sum
is excluded by!**/*.sum
x/gov/go.sum
is excluded by!**/*.sum
x/group/go.sum
is excluded by!**/*.sum
x/mint/go.sum
is excluded by!**/*.sum
x/nft/go.sum
is excluded by!**/*.sum
x/protocolpool/go.sum
is excluded by!**/*.sum
x/slashing/go.sum
is excluded by!**/*.sum
x/staking/go.sum
is excluded by!**/*.sum
x/upgrade/go.sum
is excluded by!**/*.sum
📒 Files selected for processing (28)
client/v2/go.mod
(1 hunks)collections/go.mod
(1 hunks)go.mod
(1 hunks)math/CHANGELOG.md
(1 hunks)server/v2/cometbft/go.mod
(1 hunks)simapp/v2/go.mod
(1 hunks)tests/go.mod
(1 hunks)tools/benchmark/go.mod
(1 hunks)x/accounts/defaults/base/go.mod
(1 hunks)x/accounts/defaults/lockup/go.mod
(1 hunks)x/accounts/defaults/multisig/go.mod
(1 hunks)x/accounts/go.mod
(1 hunks)x/authz/go.mod
(1 hunks)x/bank/go.mod
(1 hunks)x/circuit/go.mod
(1 hunks)x/consensus/go.mod
(1 hunks)x/distribution/go.mod
(1 hunks)x/epochs/go.mod
(1 hunks)x/evidence/go.mod
(1 hunks)x/feegrant/go.mod
(1 hunks)x/gov/go.mod
(1 hunks)x/group/go.mod
(1 hunks)x/mint/go.mod
(1 hunks)x/nft/go.mod
(1 hunks)x/protocolpool/go.mod
(1 hunks)x/slashing/go.mod
(1 hunks)x/staking/go.mod
(1 hunks)x/upgrade/go.mod
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
tests/go.mod (1)
Pattern tests/**/*
: "Assess the integration and e2e test code assessing sufficient code coverage for the changes associated in the pull request"
math/CHANGELOG.md (1)
Pattern **/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
🪛 LanguageTool
math/CHANGELOG.md
[uncategorized] ~41-~41: This expression is usually spelled with a hyphen.
Context: ...osmos/cosmos-sdk/issues/11783) Upstream GDA based decimal type ## [math/v1.4.0](https://...
(BASED_HYPHEN)
[inconsistency] ~43-~43: A new year has begun. Did you mean “2025-11-20”?
Context: .../cosmos-sdk/releases/tag/math/v1.4.0) - 2024-11-20 ### Features * [#20034](https://githu...
(DATE_NEW_YEAR)
🔇 Additional comments (30)
collections/go.mod (1)
6-6
: Verify compatibility with core v1.0.0The upgrade from alpha to stable version of core is significant. Let's verify compatibility with other direct dependencies.
✅ Verification successful
Version upgrade is consistent across modules
All modules in the repository are already using cosmossdk.io/core v1.0.0. The upgrade from alpha to stable version appears to be coordinated and consistent across the codebase.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check if any other dependencies have explicit requirements on core v1.0.0-alpha.6 rg -l "cosmossdk.io/core v1.0.0-alpha" --type goLength of output: 50
Script:
#!/bin/bash # Find all go.mod files and display their content fd -t f "go.mod$" --exec cat -n {}Length of output: 65575
tools/benchmark/go.mod (1)
7-7
: Verify replace directive compatibilityThe module uses replace directives for local modules. Ensure that the replaced modules are compatible with core v1.0.0.
✅ Verification successful
Replace directive compatibility verified
The replaced modules (x/bank and x/staking) are already using cosmossdk.io/core v1.0.0, confirming their compatibility with the updated version.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check replaced modules for core version requirements for mod in x/bank x/staking; do echo "Checking $mod..." if [ -f "$mod/go.mod" ]; then rg "cosmossdk.io/core" "$mod/go.mod" -A 2 -B 2 fi doneLength of output: 1017
x/accounts/defaults/lockup/go.mod (1)
7-7
: Review dependency on unreleased versionsSeveral dependencies use pseudo-versions (e.g., x/accounts, x/bank). Consider using released versions when available to ensure stability with core v1.0.0.
x/evidence/go.mod (1)
8-8
: LGTM! Core dependency updated correctly.The update from alpha to stable version is consistent with other modules.
x/epochs/go.mod (2)
8-8
: LGTM! Core dependency updated correctly.The update from alpha to stable version is consistent with other modules.
Line range hint
144-147
: Track the removal of replace directives.The TODO comment indicates these replace directives are temporary. Consider creating a tracking issue for removing them after spinning out all modules.
x/distribution/go.mod (1)
8-8
: Verify compatibility with RC dependencies.The update to
cosmossdk.io/core v1.0.0
looks good. However, please ensure compatibility with the RC versions of other dependencies:
cosmossdk.io/api v0.8.0-rc.3
cosmossdk.io/collections v1.0.0-rc.1
cosmossdk.io/store v1.10.0-rc.1
✅ Verification successful
Core v1.0.0 is compatible with RC dependencies
The update to
cosmossdk.io/core v1.0.0
is compatible with the RC dependencies as core dependencies are explicitly noted to be compatible across all maintained SDK versions.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for any reported compatibility issues between core v1.0.0 and RC dependencies # Search for any compatibility notes or issues rg -i "compatibility|compatible" README.md CHANGELOG.md docs/Length of output: 33883
x/bank/go.mod (1)
8-8
: LGTM!The update to
cosmossdk.io/core v1.0.0
is consistent with the module-wide upgrade.x/protocolpool/go.mod (2)
8-8
: LGTM!The update to
cosmossdk.io/core v1.0.0
is consistent with the module-wide upgrade.
Line range hint
3-3
: Align Go version with other modules.This module uses Go 1.23.3 while other modules (x/distribution, x/bank) use Go 1.23.2. Consider aligning the Go versions across all modules to prevent potential compatibility issues.
x/nft/go.mod (1)
7-7
: LGTM! Version update is consistent.The update to
cosmossdk.io/core v1.0.0
is consistent with the module-wide changes and aligns with the PR objectives.x/slashing/go.mod (1)
8-8
: LGTM! Version update is consistent.The update to
cosmossdk.io/core v1.0.0
is consistent with the module-wide changes and aligns with the PR objectives.x/circuit/go.mod (2)
8-8
: LGTM: Core dependency updated to stable version.The update from
v1.0.0-alpha.6
tov1.0.0
aligns with the PR objectives of preparing for the collections v1 release.
Line range hint
156-160
: Track the TODO for removing module replacements.The TODO comment indicates future work needed to remove module replacements after spinning out all modules.
Run this script to check for similar TODOs across other modules:
✅ Verification successful
The TODO comments about module replacements are consistently tracked across the codebase
The review comment is accurate. Found consistent TODO comments about removing module replacements in 16+ module go.mod files, indicating this is a well-tracked item across the codebase as part of the ongoing modularization effort.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Find similar TODO comments about module spinning # Expect: Similar TODOs in other module go.mod files rg -l "TODO.*remove.*spinning.*modules" --type goLength of output: 51
Script:
#!/bin/bash # Search for TODO comments and replace directives in go.mod files echo "=== TODOs in go.mod files ===" rg -p "TODO" -g "go.mod" -C 3 echo -e "\n=== replace directives in go.mod files ===" rg "^replace\s+" -g "go.mod" -C 3 echo -e "\n=== TODO comments near replace directives ===" rg -p "TODO.*replace|replace.*TODO" -g "go.mod" -C 3Length of output: 16006
client/v2/go.mod (1)
7-7
: LGTM: Core dependency updated to stable version.The update from
v1.0.0-alpha.6
tov1.0.0
is consistent with other modules.x/authz/go.mod (1)
7-7
: LGTM: Core dependency updated to stable version.The update from
v1.0.0-alpha.6
tov1.0.0
is consistent with other modules.x/mint/go.mod (1)
8-8
: Verify compatibility with core v1.0.0The update from
v1.0.0-alpha.6
tov1.0.0
is a significant change.Run this script to check for potential compatibility issues:
x/accounts/defaults/base/go.mod (1)
5-8
: Consider the stability of RC dependenciesWhile updating
core
to a stable version, the module still depends on release candidates:
cosmossdk.io/api v0.8.0-rc.3
cosmossdk.io/collections v1.0.0-rc.1
This aligns with the PR objective to prepare for the final releases, but we should track these dependencies for their stable releases.
x/accounts/defaults/multisig/go.mod (1)
7-10
: Address pseudo-version dependencyThe module depends on a pseudo-version of the accounts module:
cosmossdk.io/x/accounts v0.0.0-00010101000000-000000000000
While this is handled by the replace directive for local development, consider updating to a proper version tag when releasing.
x/accounts/go.mod (1)
8-8
: Verify compatibility with other dependencies.The upgrade from
core v1.0.0-alpha.6
tov1.0.0
is a significant change from an alpha to a stable version.Run this script to check for any potential version conflicts:
math/CHANGELOG.md (1)
43-43
: Verify release date consistency.The release date
2024-11-20
for v1.4.0 seems inconsistent with v1.5.0's release date of2025-01-06
. Consider if this should be2025-11-20
instead.🧰 Tools
🪛 LanguageTool
[inconsistency] ~43-~43: A new year has begun. Did you mean “2025-11-20”?
Context: .../cosmos-sdk/releases/tag/math/v1.4.0) - 2024-11-20 ### Features * [#20034](https://githu...(DATE_NEW_YEAR)
x/gov/go.mod (1)
9-9
: LGTM!The update to
core v1.0.0
is consistent with the broader dependency update across modules.x/group/go.mod (1)
8-8
: Verify compatibility with the stable core version.The update from
cosmossdk.io/core v1.0.0-alpha.6
tov1.0.0
is a significant change. While this aligns with the PR objectives, we should verify there are no breaking changes that could affect the group module.Run this script to check for potential compatibility issues:
✅ Verification successful
Core v1.0.0 update appears compatible
The codebase uses specific stable subpackages from cosmossdk.io/core (store, registry, transaction, event, log) through well-defined interfaces, suggesting the update from alpha to stable version should be safe.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check for breaking changes in core v1.0.0 that might affect the group module # Search for core package usage in group module rg -t go "core\." -A 3Length of output: 1418
Script:
#!/bin/bash # Search for cosmossdk.io/core imports and usage echo "=== Checking imports ===" rg -t go "^import.*cosmossdk.io/core" -B 1 -A 3 echo -e "\n=== Checking core package usage ===" # Look for common core package patterns rg -t go "core\.(Context|Provider|Event|KVStore|AppModule|Query)" -A 2Length of output: 2706
x/feegrant/go.mod (1)
8-8
: LGTM! Consistent with other modules.The update to
cosmossdk.io/core v1.0.0
is consistent with the coordinated update across modules.server/v2/cometbft/go.mod (1)
19-19
: Verify compatibility with other dependenciesThe update from
cosmossdk.io/core v1.0.0-alpha.6
tov1.0.0
is a significant change from an alpha to a stable version. This aligns with the PR objectives for preparing new releases.Run the following script to check for any version constraints or compatibility issues with dependent packages:
✅ Verification successful
Version update is consistently applied across modules
The update to
cosmossdk.io/core v1.0.0
is properly aligned across all dependent modules in the repository, with no remaining alpha/beta/rc version constraints.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Check version constraints and compatibility # Look for any packages that depend on specific versions of cosmossdk.io/core rg --type go "cosmossdk.io/core.*v1.0.0-(alpha|beta|rc)" -g '!go.mod'Length of output: 71
Script:
#!/bin/bash # Check for other go.mod files and their cosmos-sdk dependencies fd go.mod --exec sh -c 'echo "=== {} ===" && cat {}' # Look for imports and usage of cosmossdk.io/core rg --type go "^import.*cosmossdk.io/core" -A 3Length of output: 69123
x/upgrade/go.mod (1)
7-7
: LGTM! Version update is consistentThe update to
cosmossdk.io/core v1.0.0
is consistent with the repository-wide transition to stable versions.tests/go.mod (1)
8-8
: LGTM! Version update maintains test integrityThe update to
cosmossdk.io/core v1.0.0
in the test module is consistent with the repository-wide changes and maintains the integrity of the test environment through appropriate replace directives.simapp/v2/go.mod (3)
8-8
: LGTM! Core version upgrade looks good.The upgrade from
cosmossdk.io/core v1.0.0-alpha.6
tov1.0.0
aligns with the PR objectives of preparing for new releases.Let's verify compatibility with other core-dependent modules:
✅ Verification successful
Core v1.0.0 upgrade is compatible with the ecosystem
The upgrade from
v1.0.0-alpha.6
tov1.0.0
is compatible with all dependencies. The existing references toalpha.6
are in testing packages and documentation examples, which don't affect runtime compatibility.🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check for any potential version conflicts or inconsistencies rg -l "cosmossdk.io/core" | xargs rg "v1.0.0-(alpha|beta|rc)"Length of output: 34233
Line range hint
246-250
: Review security-related replace directives.The replace directive for
github.com/gin-gonic/gin
addresses known vulnerabilities (GHSA-h395-qcrw-5vmq and GHSA-3vp4-m3rf-835h). Consider if this can be removed after upgrading to newer versions.Let's check if newer versions of gin-gonic/gin have addressed these vulnerabilities:
✅ Verification successful
Keep the replace directive for gin-gonic/gin v1.9.1
The replace directive is correctly pinning gin-gonic/gin to v1.9.1, which includes all necessary security patches for known vulnerabilities, including the critical wildcard handling issue (GHSA-h395-qcrw-5vmq) and other high-severity fixes. Removing it could potentially allow dependency resolution to select a vulnerable version.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check latest version and security advisories gh api graphql -f query=' { securityVulnerabilities(first: 5, ecosystem: GO, package: "github.com/gin-gonic/gin") { nodes { advisory { summary severity publishedAt } vulnerableVersionRange firstPatchedVersion { identifier } } } }'Length of output: 1608
Script:
#!/bin/bash # Check gin-gonic/gin version and replace directive in go.mod cat simapp/v2/go.mod | grep -A 5 "gin-gonic/gin"Length of output: 263
Line range hint
14-17
: Update placeholder versions before release.Several module versions are using placeholder timestamps (
00010101000000-000000000000
). These should be updated to proper versions before the release.Run this script to identify all placeholder versions:
Also applies to: 19-20, 22-23, 25-26, 28-29, 31-32, 34-35
@@ -5,7 +5,7 @@ go 1.23.2 | |||
require ( | |||
cosmossdk.io/api v0.8.0-rc.3 | |||
cosmossdk.io/collections v1.0.0-rc.1 | |||
cosmossdk.io/core v1.0.0-alpha.6 | |||
cosmossdk.io/core v1.0.0 |
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.
💡 Codebase verification
Version inconsistency detected across modules
The update to v1.0.0
in x/consensus
is part of an incomplete migration. Several core infrastructure packages still use v1.0.0-alpha.6
:
store/v2/go.mod
server/v2/go.mod
runtime/v2/go.mod
orm/go.mod
collections/protocodec/go.mod
🔗 Analysis chain
Verify compatibility with dependent modules.
The update from cosmossdk.io/core v1.0.0-alpha.6
to v1.0.0
is a significant change. Since this module depends on other modules like bank
and staking
, ensure they are compatible with the stable version of core.
Run the following script to check for potential compatibility issues:
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if any dependent modules are still using the alpha version of core.
# Search for any remaining alpha versions of core
rg -l "cosmossdk.io/core v1.0.0-alpha" --type go
Length of output: 50
Script:
#!/bin/bash
# Find all go.mod files and check their core dependency versions
fd go.mod --type f --exec sh -c 'echo "=== {} ==="; grep "cosmossdk.io/core" {} || true'
Length of output: 4182
@@ -5,7 +5,7 @@ go 1.23.2 | |||
require ( | |||
cosmossdk.io/api v0.8.0-rc.3 | |||
cosmossdk.io/collections v1.0.0-rc.1 | |||
cosmossdk.io/core v1.0.0-alpha.6 | |||
cosmossdk.io/core v1.0.0 |
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.
💡 Codebase verification
Core v1.0.0 upgrade needs coordination across packages
Several critical packages still depend on cosmossdk.io/core v1.0.0-alpha.6
:
collections/protocodec
core/testing
orm
runtime/v2
server/v2
and its submodulesstore
andstore/v2
Upgrading the staking module alone could lead to version conflicts. This change should be part of a coordinated upgrade across all dependent packages.
🔗 Analysis chain
Verify compatibility with the stable core version.
The update from v1.0.0-alpha.6
to v1.0.0
is a significant change. While this aligns with the PR objectives, we should verify compatibility with other dependencies.
Run this script to check for any potential compatibility issues:
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check compatibility between core v1.0.0 and other direct dependencies
# Check if any other dependencies require a different version of core
rg -l "cosmossdk.io/core" | xargs cat | rg "cosmossdk.io/core.*v1.0.0"
Length of output: 7210
Script:
#!/bin/bash
# Find files still using alpha version
rg -l "cosmossdk.io/core v1.0.0-alpha" --type go
# Check go.mod files specifically
find . -name "go.mod" -exec grep -l "cosmossdk.io/core v1.0.0-alpha" {} \;
Length of output: 320
@@ -5,7 +5,7 @@ module github.com/cosmos/cosmos-sdk | |||
require ( | |||
cosmossdk.io/api v0.8.0-rc.3 | |||
cosmossdk.io/collections v1.0.0-rc.1 | |||
cosmossdk.io/core v1.0.0-alpha.6 | |||
cosmossdk.io/core v1.0.0 |
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.
💡 Codebase verification
Version mismatch detected in server/v2/appmanager
While most modules are correctly aligned with cosmossdk.io/core v1.0.0
, the server/v2/appmanager module is still using v1.0.0-alpha.6
. This needs to be updated to maintain version consistency across the ecosystem.
server/v2/appmanager/go.mod
: Updatecosmossdk.io/core
fromv1.0.0-alpha.6
tov1.0.0
🔗 Analysis chain
Verify ecosystem impact of core v1.0.0.
The update to cosmossdk.io/core v1.0.0
in the main SDK module is a significant milestone. As this is the root module, we should ensure all dependent modules are ready for this transition.
Run this script to analyze the impact:
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for potential incompatibilities across the ecosystem
# Find all go.mod files and verify core version consistency
fd -e mod --exec grep -l "cosmossdk.io/core"
# Check for any conditional imports or version-specific code
rg -t go "core\." --glob "!vendor/*" -A 3
Length of output: 2368
Script:
#!/bin/bash
# Check specific core versions across all modules
fd -e mod --exec grep -A 1 "cosmossdk.io/core" {}
# Look for any version constraints
rg -g "go.mod" "require.*cosmossdk.io/core.*" -A 2
Length of output: 4755
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
(cherry picked from commit 58d71c0) # Conflicts: # client/v2/go.mod # collections/go.mod # collections/go.sum # go.mod # math/CHANGELOG.md # server/v2/cometbft/go.mod # simapp/v2/go.mod # tests/go.mod # tools/benchmark/go.mod # x/accounts/defaults/base/go.mod # x/accounts/defaults/lockup/go.mod # x/accounts/defaults/multisig/go.mod # x/accounts/go.mod # x/authz/go.mod # x/bank/go.mod # x/circuit/go.mod # x/consensus/go.mod # x/distribution/go.mod # x/epochs/go.mod # x/evidence/go.mod # x/feegrant/go.mod # x/gov/go.mod # x/group/go.mod # x/mint/go.mod # x/nft/go.mod # x/protocolpool/go.mod # x/slashing/go.mod # x/staking/go.mod # x/upgrade/go.mod
…) (#23205) Co-authored-by: Julien Robert <[email protected]>
Description
Core v1 has been tagged: https://github.com/cosmos/cosmos-sdk/releases/tag/core%2Fv1.0.0 🙌🏾
This prepares collections v1, api v0.8.0, math v1.5.0
Ready to be approved, but I need to fix this: #22517 first
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
Dependency Updates
cosmossdk.io/core
dependency from v1.0.0-alpha.6 to v1.0.0 across multiple modulesRelease Notes