refactor: bump gogoproto#19869
Conversation
WalkthroughWalkthroughThe overall change involves updating various protobuf definitions across multiple modules within a Cosmos SDK-based project. Specifically, the updates replace references from Changes
Assessment against linked 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 as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Review Status
Actionable comments generated: 5
Configuration used: .coderabbit.yml
Files selected for processing (74)
- baseapp/grpcrouter_test.go (1 hunks)
- baseapp/testutil/buf.gen.yaml (1 hunks)
- client/grpc/cmtservice/query.pb.go (12 hunks)
- codec/amino.go (2 hunks)
- codec/any_test.go (1 hunks)
- codec/json.go (2 hunks)
- codec/types/any.go (1 hunks)
- codec/types/any_internal_test.go (1 hunks)
- codec/types/interface_registry.go (6 hunks)
- codec/types/types_test.go (6 hunks)
- codec/yaml_test.go (4 hunks)
- crypto/keyring/record.pb.go (5 hunks)
- crypto/keys/multisig/keys.pb.go (3 hunks)
- proto/buf.gen.gogo.yaml (1 hunks)
- proto/buf.lock (1 hunks)
- store/db/pebbledb.go (2 hunks)
- store/db/rocksdb_noflag.go (3 hunks)
- store/root/migrate_test.go (1 hunks)
- tests/integration/tx/internal/buf.gen.gogo.yaml (1 hunks)
- testutil/testdata/buf.gen.gogo.yaml (1 hunks)
- testutil/testdata/codec.go (1 hunks)
- testutil/testdata/grpc_query.go (3 hunks)
- testutil/testdata/query.pb.go (4 hunks)
- testutil/testdata/testdata.pb.go (9 hunks)
- testutil/testdata/unknonwnproto.pb.go (33 hunks)
- types/abci.pb.go (16 hunks)
- types/tx/signing/signing.pb.go (7 hunks)
- types/tx/tx.pb.go (19 hunks)
- x/accounts/defaults/lockup/types/tx.pb.go (4 hunks)
- x/accounts/proto/buf.gen.gogo.yaml (1 hunks)
- x/accounts/v1/query.pb.go (7 hunks)
- x/accounts/v1/tx.pb.go (18 hunks)
- x/auth/migrations/legacytx/stdtx.go (2 hunks)
- x/auth/proto/buf.gen.gogo.yaml (1 hunks)
- x/auth/signing/adapter.go (1 hunks)
- x/auth/types/auth.pb.go (3 hunks)
- x/auth/types/genesis.pb.go (4 hunks)
- x/auth/types/query.pb.go (13 hunks)
- x/authz/authz.pb.go (5 hunks)
- x/authz/proto/buf.gen.gogo.yaml (1 hunks)
- x/authz/tx.pb.go (3 hunks)
- x/bank/proto/buf.gen.gogo.yaml (1 hunks)
- x/circuit/proto/buf.gen.gogo.yaml (1 hunks)
- x/consensus/proto/buf.gen.gogo.yaml (1 hunks)
- x/counter/proto/buf.gen.gogo.yaml (1 hunks)
- x/crisis/proto/buf.gen.gogo.yaml (1 hunks)
- x/distribution/proto/buf.gen.gogo.yaml (1 hunks)
- x/evidence/proto/buf.gen.gogo.yaml (1 hunks)
- x/evidence/types/genesis.pb.go (4 hunks)
- x/evidence/types/query.pb.go (7 hunks)
- x/evidence/types/tx.pb.go (3 hunks)
- x/feegrant/feegrant.pb.go (6 hunks)
- x/feegrant/proto/buf.gen.gogo.yaml (1 hunks)
- x/feegrant/tx.pb.go (4 hunks)
- x/genutil/proto/buf.gen.gogo.yaml (1 hunks)
- x/gov/proto/buf.gen.gogo.yaml (1 hunks)
- x/gov/types/v1/gov.pb.go (4 hunks)
- x/gov/types/v1/tx.pb.go (15 hunks)
- x/gov/types/v1beta1/gov.pb.go (3 hunks)
- x/gov/types/v1beta1/tx.pb.go (5 hunks)
- x/group/proto/buf.gen.gogo.yaml (1 hunks)
- x/group/tx.pb.go (9 hunks)
- x/group/types.pb.go (5 hunks)
- x/mint/proto/buf.gen.gogo.yaml (1 hunks)
- x/nft/nft.pb.go (7 hunks)
- x/nft/proto/buf.gen.gogo.yaml (1 hunks)
- x/params/proto/buf.gen.gogo.yaml (1 hunks)
- x/protocolpool/proto/buf.gen.gogo.yaml (1 hunks)
- x/slashing/proto/buf.gen.gogo.yaml (1 hunks)
- x/staking/proto/buf.gen.gogo.yaml (1 hunks)
- x/staking/types/staking.pb.go (12 hunks)
- x/staking/types/tx.pb.go (11 hunks)
- x/upgrade/proto/buf.gen.gogo.yaml (1 hunks)
- x/upgrade/types/upgrade.pb.go (3 hunks)
Path instructions used (47)
tests/integration/tx/internal/buf.gen.gogo.yaml (1)
tests/**/*
Assess the integration and e2e test code assessing sufficient code coverage for the changes associated in the pull requestcodec/yaml_test.go (2)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.
**/*_test.go
Assess the unit test code assessing sufficient code coverage for the changes associated in the pull requestcodec/json.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.testutil/testdata/codec.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.codec/types/any_internal_test.go (2)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.
**/*_test.go
Assess the unit test code assessing sufficient code coverage for the changes associated in the pull requestx/auth/signing/adapter.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.testutil/testdata/grpc_query.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.store/db/rocksdb_noflag.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.codec/any_test.go (2)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.
**/*_test.go
Assess the unit test code assessing sufficient code coverage for the changes associated in the pull requestcodec/amino.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/auth/migrations/legacytx/stdtx.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.codec/types/types_test.go (2)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.
**/*_test.go
Assess the unit test code assessing sufficient code coverage for the changes associated in the pull requeststore/db/pebbledb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.baseapp/grpcrouter_test.go (2)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.
**/*_test.go
Assess the unit test code assessing sufficient code coverage for the changes associated in the pull requestx/evidence/types/genesis.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.crypto/keys/multisig/keys.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/auth/types/genesis.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.codec/types/interface_registry.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/evidence/types/tx.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/nft/nft.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/authz/authz.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/evidence/types/query.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.crypto/keyring/record.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/auth/types/auth.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.testutil/testdata/query.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/upgrade/types/upgrade.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/feegrant/feegrant.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/feegrant/tx.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.types/tx/signing/signing.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.testutil/testdata/testdata.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/authz/tx.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/gov/types/v1beta1/tx.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/accounts/v1/tx.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/accounts/v1/query.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/accounts/defaults/lockup/types/tx.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/gov/types/v1beta1/gov.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.types/abci.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.types/tx/tx.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/group/types.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/staking/types/tx.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/auth/types/query.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/gov/types/v1/tx.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.client/grpc/cmtservice/query.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/gov/types/v1/gov.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/group/tx.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.x/staking/types/staking.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.testutil/testdata/unknonwnproto.pb.go (1)
**/*.go
Review the Golang code for conformity with the Uber Golang style guide, highlighting any deviations.
Files skipped from review due to trivial changes (2)
- codec/types/any.go
- store/root/migrate_test.go
Additional comments (207)
baseapp/testutil/buf.gen.yaml (1)
- 5-5: The update to reference
github.com/cosmos/gogoproto/types/anyaligns with the PR's objectives. Please ensure the path is correct and verify compatibility with existing code.testutil/testdata/buf.gen.gogo.yaml (1)
- 6-6: The update to reference
github.com/cosmos/gogoproto/types/anyis consistent with the PR's objectives. Please ensure the path is correct and verify compatibility with existing code.x/accounts/proto/buf.gen.gogo.yaml (1)
- 5-5: The update to reference
github.com/cosmos/gogoproto/types/anyaligns with the PR's objectives. Please ensure the path is correct and verify compatibility with existing code.x/auth/proto/buf.gen.gogo.yaml (1)
- 5-5: The update to reference
github.com/cosmos/gogoproto/types/anyis consistent with the PR's objectives. Please ensure the path is correct and verify compatibility with existing code.x/authz/proto/buf.gen.gogo.yaml (1)
- 5-5: The update to reference
github.com/cosmos/gogoproto/types/anyis consistent with the PR's objectives. Please ensure the path is correct and verify compatibility with existing code.x/bank/proto/buf.gen.gogo.yaml (1)
- 5-5: The update to reference
github.com/cosmos/gogoproto/types/anyis consistent with the PR's objectives. Please ensure the path is correct and verify compatibility with existing code.x/circuit/proto/buf.gen.gogo.yaml (1)
- 5-5: The update to reference
github.com/cosmos/gogoproto/types/anyis consistent with the PR's objectives. Please ensure the path is correct and verify compatibility with existing code.x/consensus/proto/buf.gen.gogo.yaml (1)
- 5-5: The update to reference
github.com/cosmos/gogoproto/types/anyis consistent with the PR's objectives. Please ensure the path is correct and verify compatibility with existing code.x/counter/proto/buf.gen.gogo.yaml (1)
- 5-5: The update to reference
github.com/cosmos/gogoproto/types/anyin thegocosmosplugin option aligns with the PR's objectives of migrating to the neweranytype. Ensure this change is consistently applied across all modules to maintain compatibility.x/crisis/proto/buf.gen.gogo.yaml (1)
- 5-5: Identical to the previous file, the update to reference
github.com/cosmos/gogoproto/types/anyis consistent with the PR's objectives. Ensure uniform application of this change across all modules.x/distribution/proto/buf.gen.gogo.yaml (1)
- 5-5: As with the previous files, updating the plugin option to reference
github.com/cosmos/gogoproto/types/anyis in line with the migration objectives. Consistency in these updates across all affected modules is crucial.x/evidence/proto/buf.gen.gogo.yaml (1)
- 5-5: This file's update to the
gocosmosplugin option, referencinggithub.com/cosmos/gogoproto/types/any, is consistent with the overarching migration strategy. A comprehensive consistency check across all modules is recommended to ensure uniform application.x/feegrant/proto/buf.gen.gogo.yaml (1)
- 5-5: Updating the
gocosmosplugin option to referencegithub.com/cosmos/gogoproto/types/anyhere is consistent with the migration efforts seen in other modules. A thorough review to ensure no old references remain is advisable.x/genutil/proto/buf.gen.gogo.yaml (1)
- 5-5: The update in this file to reference
github.com/cosmos/gogoproto/types/anycontinues the consistent migration pattern observed. Additional testing, especially around serialization and deserialization processes, is recommended to ensure no issues arise from these changes.x/gov/proto/buf.gen.gogo.yaml (1)
- 5-5: Like the previous files, updating the
gocosmosplugin option to referencegithub.com/cosmos/gogoproto/types/anyis part of the broader migration effort. Uniform updates across all modules are essential for a seamless migration.x/group/proto/buf.gen.gogo.yaml (1)
- 5-5: This file's update to the
gocosmosplugin option, referencinggithub.com/cosmos/gogoproto/types/any, completes the consistent migration effort observed across all reviewed files. A final review to ensure completeness and consistency across the codebase is recommended.x/mint/proto/buf.gen.gogo.yaml (1)
- 5-5: The update to the plugin option for
gocosmosto referencegithub.com/cosmos/gogoproto/types/anyaligns with the PR's objectives. Please ensure the new path is correct and compatible with the rest of the codebase.x/nft/proto/buf.gen.gogo.yaml (1)
- 5-5: Identical to the previous file, the update to the plugin option for
gocosmosis consistent with the PR's objectives. Ensure the new path is correct and does not introduce compatibility issues.x/params/proto/buf.gen.gogo.yaml (1)
- 5-5: As with the previous files, the update to the
gocosmosplugin option is appropriate. Please verify the correctness and compatibility of the new path.x/slashing/proto/buf.gen.gogo.yaml (1)
- 5-5: This update to the
gocosmosplugin option follows the pattern seen in previous files. Please verify the new path's correctness and compatibility.x/upgrade/proto/buf.gen.gogo.yaml (1)
- 5-5: Consistent with the previous files, the update to the
gocosmosplugin option is appropriate. Please verify the new path's correctness and compatibility.tests/integration/tx/internal/buf.gen.gogo.yaml (1)
- 5-5: The update to the
gocosmosplugin option in this integration test configuration is consistent with the PR's objectives. Ensure the new path's correctness and compatibility.proto/buf.gen.gogo.yaml (1)
- 5-5: The update of plugin references in the
gocosmossection to use the new paths forany.protoandorm.protoaligns with the migration togogoproto/types/anyand the updatedcosmossdk.io/orm. This change is crucial for ensuring that the protobuf compilation process utilizes the correct versions of these dependencies.codec/yaml_test.go (2)
- 6-6: The update of the import path to
github.com/cosmos/gogoproto/types/any/testis consistent with the migration to the newgogoprototypes. This change ensures that the tests are using the correct types for YAML marshaling.- 15-15: The updates to the
DogandHasAnimaltypes in the YAML marshaling tests are correctly reflecting the changes made due to the migration togogoproto/types/any. The expected YAML output has been appropriately adjusted to match the new type references, ensuring the tests remain valid.Also applies to: 31-31, 41-45
codec/json.go (2)
- 8-8: The import of
gogoprototypesfromgithub.com/cosmos/gogoproto/types/anyis necessary for the migration to the updatedgogoprototypes. This change ensures that the JSON marshaling process utilizes the correct types.- 24-24: Updating the usage of
types.ProtoJSONPackertogogoprototypes.ProtoJSONPackeraligns with the migration to the newgogoprototypes. This ensures that the JSON marshaling process is compatible with the updated types, enhancing serialization and deserialization processes.proto/buf.lock (1)
- 17-18: Updating the commit and digest values for the
googleapisrepository ensures that the protobuf dependencies are aligned with the latest versions. This change is crucial for maintaining compatibility and accessing the latest features and bug fixes from thegoogleapis.testutil/testdata/codec.go (1)
- 46-53: The updates to the registration of concrete types (
Dog,Cat,HasAnimal,HasHasAnimal) with the new package paths are necessary for reflecting the migration to the updatedgogoprototypes. This ensures that the type registration is aligned with the changes and maintains the correct behavior in the codebase.codec/types/any_internal_test.go (1)
- 51-51: Replacing the direct manipulation of
any.cachedValuewith a call toany.ResetCachedValue()in the test is a good practice. It ensures that the test uses the public API of theAnytype, which is more robust and less prone to breakage if the internal implementation ofAnychanges.x/auth/signing/adapter.go (1)
- 30-30: Adding the
signerDataparameter to theGetSignBytesAdapterfunction signature is a significant change. Ensure that all calls to this function throughout the codebase have been updated to include the new parameter. This change likely enhances the function's flexibility by allowing it to handle signer data explicitly.Verification successful
To further verify the addition of the
signerDataparameter to theGetSignBytesAdapterfunction and its correct usage across the codebase, we need to inspect the parameters passed in each call to this function. Let's proceed with examining a few of these calls more closely.
The review of the new context confirms that the
signerDataparameter has been added to theGetSignBytesAdapterfunction signature and that all calls to this function throughout the codebase have been updated to include the new parameter. This verifies the accuracy of the review comment.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for calls to GetSignBytesAdapter to ensure they include the new signerData parameter. rg --type go 'GetSignBytesAdapter\('Length of output: 799
Script:
#!/bin/bash # Extract the lines of code where `GetSignBytesAdapter` is called to verify if the `signerData` parameter is being passed. rg --type go -C 2 'GetSignBytesAdapter\('Length of output: 2790
testutil/testdata/grpc_query.go (2)
- 6-6: The addition of the
testpackage import fromgithub.com/cosmos/gogoproto/types/any/testis necessary for the migration to the updatedgogoprototypes. This ensures that the correct types are used in theQueryImplstruct's methods.- 26-26: Updating type references from
Animaltotest.Animalin theQueryImplstruct's methods aligns with the migration to the newgogoprototypes. This change ensures that the correct types are used, maintaining the functionality and compatibility of the code.Also applies to: 54-54
store/db/rocksdb_noflag.go (4)
- 16-16: The
RocksDBstruct is now defined without any fields. This change simplifies the struct since it's used in a build context where RocksDB is not enabled. The empty struct definition is appropriate here.- 56-56: The
rocksDBIteratorstruct is now defined without any fields. Similar to theRocksDBstruct, this change is appropriate for the build context where RocksDB is not enabled.- 90-90: The
rocksDBBatchstruct is now defined without any fields. This is consistent with the other struct changes in this file and is suitable for the build context.- 11-11: All functions in this file now contain a panic statement with the message "rocksdb must be built with -tags rocksdb". This change ensures that any attempt to use these functions without the appropriate build tags will result in a clear and immediate error. This is a good practice for conditional compilation scenarios.
codec/any_test.go (6)
- 6-6: The import path has been updated from
testdatatotestfor interfaces and implementations related to animals. This change aligns with the updated package structure and ensures that the correct types are used in the tests.- 19-23: The registration of interfaces and implementations has been updated to use the new
testpackage. This change is necessary due to the updated import paths and ensures that the tests are using the correct types.- 30-30: The registration of implementations has been updated to use the new
testpackage. This change is consistent with the other updates in this file and ensures that the tests are using the correct types.- 36-36: The variable
kittyis now instantiated using thetestpackage. This change is necessary due to the updated import paths and ensures that the tests are using the correct types.- 44-44: The variable
animalis now declared using thetestpackage. This change is consistent with the other updates in this file and ensures that the tests are using the correct types.- 56-56: The registration of implementations has been updated to use the new
testpackage. This change ensures that the tests are using the correct types and is consistent with the other updates in this file.codec/amino.go (2)
- 11-11: The import path has been updated to
gogoprototypesfromtypes. This change reflects the migration to using the updatedgogoprototypes for handling interfaces with the Amino codec. Ensuring the correct import path is used is crucial for compatibility and functionality.- 65-77: The method calls for packing and unpacking interfaces have been updated to use the
gogoprototypespackage. This change is necessary due to the updated import paths and ensures that the Amino codec is using the correct methods for handling interfaces. It's important for maintaining compatibility and functionality with the updatedgogoprototypes.x/auth/migrations/legacytx/stdtx.go (2)
- 4-4: The import path has been updated to use
types "github.com/cosmos/gogoproto/types/any". This change reflects the migration to using the updatedgogoprototypes for handling interfaces. Ensuring the correct import path is used is crucial for compatibility and functionality.- 110-110: The
AsAnymethod in theStdTxstruct has been updated to usetypes.UnsafePackAnyWithCacheinstead ofcodectypes.UnsafePackAny. This change is necessary due to the updated import paths and ensures that the method is using the correct function for packing theStdTxstruct into anAnytype. It's important for maintaining compatibility and functionality with the updatedgogoprototypes.codec/types/types_test.go (5)
- 9-10: The import paths have been updated to include
gogoproto/types/anyandgogoproto/types/any/test. This change reflects the migration to using the updatedgogoprototypes for handling interfaces in tests. Ensuring the correct import paths are used is crucial for compatibility and functionality.- 18-30: The registration of interfaces and implementations has been updated to use the new
testpackage. This change is necessary due to the updated import paths and ensures that the tests are using the correct types. Additionally, theNewAnyWithValuemethod call has been correctly updated to reflect the new package structure.- 32-48: A new test function
TestAnyResetCachehas been added to test the cache reset functionality of theAnytype. This addition is a good practice for ensuring the correctness of cache-related behavior in theAnytype. The test is well-structured and covers the intended functionality.- 106-106: The error message in the
TestRegisterfunction has been updated to reflect the new package structure. This change ensures that the error message is accurate and informative, which is important for debugging and understanding test failures.- 189-192: The
UnpackInterfacesmethod call has been updated to usegogoproto.ProtoJSONPacker. This change is necessary due to the updated import paths and ensures that the method is using the correct packer for handling interfaces with JSON. It's important for maintaining compatibility and functionality with the updatedgogoprototypes.store/db/pebbledb.go (2)
- 10-12: The import statements have been reorganized, moving
pebbleandcastimports up. This reorganization improves the readability of the import section by grouping similar imports together. It's a minor change but contributes to the overall cleanliness of the code.- 10-12: The
NewPebbleDBfunction has been modified to internally callNewPebbleDBWithOptswithnilas the options parameter. This change simplifies the code by reducing duplication and leveraging the existing functionality ofNewPebbleDBWithOpts. It's a good practice to avoid code duplication where possible.baseapp/grpcrouter_test.go (1)
- 171-171: The function call to register the query server has been updated to use
testdata_pulsar.RegisterQueryServerinstead oftestdata.RegisterQueryServer. This change reflects the migration to using the updated package path for registering the query server. Ensuring the correct function is used is crucial for the functionality of the tests.x/evidence/types/genesis.pb.go (4)
- 9-9: The import path for
Anyhas been correctly updated toany.Anyfromgithub.com/cosmos/gogoproto/types/any. This change aligns with the PR's objective to migrate to the newergogoprototypes.- 29-29: The
GenesisStatestruct'sEvidencefield type has been updated to[]*any.Any. This change is necessary for compatibility with the updatedgogoprotoversion and follows the migration fromtypes.Anytoany.Any. Ensure that all references to this field across the codebase are updated accordingly to avoid type mismatches.- 65-65: The
GetEvidencemethod correctly returns a slice of pointers toany.Any, aligning with the updated import and type usage. This consistency is crucial for maintaining the integrity of the codebase following the dependency update.- 223-223: In the
Unmarshalmethod, theEvidenceslice is correctly appended with instances ofany.Any. This change is part of the migration to the newergogoprototypes and is implemented correctly. However, ensure that the unmarshalling process is thoroughly tested with the new type to prevent runtime issues.crypto/keys/multisig/keys.pb.go (1)
- 33-33: The migration from
types.Anytoany.Anyin thePubKeysfield of theLegacyAminoPubKeystruct aligns with the PR's objectives to update togogoproto v1.4.12and migrate togogoproto/types/any. Ensure to verify the impact of this change on serialization and deserialization processes, especially in multisig functionalities.x/auth/types/genesis.pb.go (1)
- 33-33: The migration from
types.Anytoany.Anyin theAccountsfield of theGenesisStatestruct is in line with the PR's objectives. Ensure to verify the impact of this change on the genesis process, particularly regarding compatibility with existing genesis files.codec/types/interface_registry.go (3)
- 31-53: Redefinition of the
UnpackInterfacesMessageinterface and introduction of theUnpackInterfacesfunction are significant changes that enhance how types packed withinAnyare unpacked. Ensure thorough testing, especially in scenarios involving nestedAnytypes and recursive unpacking, to prevent regressions in functionality.- 287-287: The handling of cached values in the
UnpackAnymethod is a noteworthy improvement. It's important to ensure that the cached value logic correctly handles type compatibility and does not lead to incorrect type assignments, especially in concurrent scenarios.- 324-329: The creation of new
Anyinstances with cached values in theUnpackAnymethod introduces a change in howAnyvalues are managed. Ensure that this does not lead to inconsistencies inAnyhandling across different parts of the application, particularly in serialization and deserialization processes.x/evidence/types/tx.pb.go (3)
- 16-16: The import alias for
github.com/cosmos/gogoproto/types/anyis correctly defined asany, which is concise and avoids confusion with the standardanyinterface introduced in Go 1.18. This change aligns with the PR objectives and is a good practice for clarity.- 42-42: The replacement of
types.Anywithany.Anyfor theEvidencefield in theMsgSubmitEvidencestruct is correctly implemented. This change is consistent with the PR's objective to migrate to the newergogoproto/types/anypackage. It's important to ensure that all references and usages ofMsgSubmitEvidencethroughout the codebase are updated to reflect this change.Verification successful
Given the extensive presence of
types.Anyacross various modules and files in the codebase, it's clear that its usage is widespread and serves multiple purposes beyond the scope of theMsgSubmitEvidencestruct. The specific change fromtypes.Anytoany.Anyin theMsgSubmitEvidencestruct is a targeted update within the evidence module. Each module listed in the script output likely utilizestypes.Anyfor its distinct functionalities, such as governance proposals, account information, or message storage, which are unrelated to the evidence submission process.Therefore, the presence of
types.Anyreferences in the codebase does not inherently indicate an issue with the migration toany.Anyfor theMsgSubmitEvidencestruct. It's essential, however, to ensure that all references directly related to evidence submission are correctly updated to reflect this change. The specific mention of files within thex/evidencemodule, such asx/evidence/types/msgs.go,x/evidence/types/genesis.go, andx/evidence/keeper/grpc_query.go, should be scrutinized to confirm they align with the migration objectives.* 478-478: The instantiation of `m.Evidence` as `&any.Any{}` during unmarshaling is correctly done. This ensures that the `Evidence` field is properly initialized with the new `any.Any` type before unmarshaling the data into it. This change is necessary due to the type migration and is correctly implemented.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for any remaining references to the old `types.Any` in Go files that might need updating. rg --type go 'types\.Any' --files-with-matchesLength of output: 2501
x/nft/nft.pb.go (7)
- 9-9: The import alias for
github.com/cosmos/gogoproto/types/anyis correctly updated to reflect the new dependency version and the migration fromtypes.Anytoany.Any. This change is consistent with the PR objectives.- 41-41: The
Datafield in theClassstruct has been correctly updated to useany.Anyinstead oftypes.Any. This change aligns with the PR's goal of migrating to the newergogoproto/types/anypackage.- 119-119: The
GetDatamethod for theClassstruct has been updated to return a pointer toany.Any. This change is consistent with the update to theDatafield type and follows best practices for accessor methods in Go.- 137-137: The
Datafield in theNFTstruct has been correctly updated to useany.Anyinstead oftypes.Any. This change is in line with the PR's objectives and ensures compatibility with the updatedgogoprotodependency.- 201-201: The
GetDatamethod for theNFTstruct has been updated to return a pointer toany.Any, consistent with the change to theDatafield type. This update follows Go best practices for accessor methods.- 713-713: The instantiation of
m.Datawithin theUnmarshalmethod for theClassstruct correctly usesany.Any. This ensures that the unmarshaling process is compatible with the updated field type.- 927-927: Similarly, the instantiation of
m.Datawithin theUnmarshalmethod for theNFTstruct correctly usesany.Any. This change is necessary for the unmarshaling process to work with the updatedDatafield type.x/authz/authz.pb.go (3)
- 13-13: The import alias for
any "github.com/cosmos/gogoproto/types/any"is correctly updated to reflect the new package path following the migration fromtypes.Anytoany.Any. This change is consistent with the PR's objective to update thegogoprotodependency and migrate to the newerany.Anytype.- 76-76: The
Authorizationfield in theGrantstruct has been correctly updated to useany.Anyinstead oftypes.Any. This change aligns with the PR's objective of migrating to the newerany.Anytype and ensures compatibility with the updatedgogoprotodependency.- 121-121: Similarly, the
Authorizationfield in theGrantAuthorizationstruct has been updated to useany.Any, consistent with the migration strategy outlined in the PR. This change is necessary for maintaining compatibility with the latestgogoprotostandards and features.x/evidence/types/query.pb.go (5)
- 12-12: The import alias for
github.com/cosmos/gogoproto/types/anyis correctly updated toany, aligning with the migration fromtypes.Anytogogoproto/types/any.Any.- 95-95: The type of
EvidenceinQueryEvidenceResponsestruct has been correctly updated to*any.Anyfromtypes.Any. This change is consistent with the PR's objective of migrating to the newergogoproto/types/anypackage.- 131-131: The getter method
GetEvidenceforQueryEvidenceResponsenow correctly returns a pointer toany.Any, reflecting the updated type in the struct. This change is necessary for consistency with the updated field type.- 189-189: In
QueryAllEvidenceResponse, the type of theEvidenceslice has been correctly updated to[]*any.Anyfrom[]*types.Any. This change aligns with the migration togogoproto/types/anyand affects the handling of evidence data in a list context.- 227-227: The getter method
GetEvidenceforQueryAllEvidenceResponsenow correctly returns a slice of pointers toany.Any, reflecting the updated type in the struct. This change ensures consistency with the updated field type in a list context.crypto/keyring/record.pb.go (3)
- 10-10: The import alias for
github.com/cosmos/gogoproto/types/anyis correctly defined asany, aligning with Go best practices for readability and avoiding namespace conflicts.- 33-33: The
PubKeyfield in theRecordstruct has been correctly updated to useany.Anyfrom thegogoproto/typespackage. This change is consistent with the PR's objective to migrate fromtypes.Anytogogoproto/types/any.- 149-149: Similarly, the
PrivKeyfield in theRecord_Localstruct has been updated to useany.Any. This change aligns with the migration strategy and ensures consistency across the codebase.x/auth/types/auth.pb.go (4)
- 7-12: The import statements are correctly organized and include necessary packages for the protobuf definitions. Unused imports are appropriately suppressed using the blank identifier to avoid compilation errors.
- 33-36: The struct definitions, including
BaseAccount,ModuleAccount,ModuleCredential, andParams, are correctly defined with appropriate protobuf tags. Notably, thePubKeyfield in theBaseAccountstruct has been updated to useany.Anyfromgithub.com/cosmos/gogoproto/types/any, aligning with the migration objectives.- 726-732: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [37-729]
The generated methods for marshaling, unmarshaling, size calculation, and other operations are correctly implemented following the protobuf specification. These methods include necessary error handling and optimizations for efficient data processing.
- 6-15: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-729]
The overall structure and formatting of the file are well-organized and adhere to Go conventions. The separation between imports, struct definitions, and generated methods is clear, and the use of comments enhances readability.
testutil/testdata/query.pb.go (4)
- 11-11: The import alias for
github.com/cosmos/gogoproto/types/anyis correctly updated to reflect the new dependency path. This change is consistent with the PR's objective of migrating to the newergogoprotoversion.- 208-208: The
TestAnyRequeststruct has been updated to use*any.Anyfor theAnyAnimalfield, aligning with the migration fromtypes.Anytogogoproto/types/any. This change is crucial for ensuring compatibility with the updatedgogoprotodependency.- 244-244: The
GetAnyAnimalmethod correctly returns a pointer toany.Any, which is consistent with the updated field type in theTestAnyRequeststruct. This ensures that the method's return type is aligned with the field's type.- 1157-1157: The unmarshalling logic for
AnyAnimalwithin theTestAnyRequeststruct has been correctly updated to instantiate aany.Anytype. This change is necessary for the unmarshalling process to work with the updatedgogoproto/types/anydependency.x/upgrade/types/upgrade.pb.go (3)
- 13-13: The import alias for
github.com/cosmos/gogoproto/types/anyis correctly defined asany, aligning with Go best practices for readability and avoiding namespace conflicts.- 55-55: The
UpgradedClientStatefield in thePlanstruct has been updated to useany.Anyinstead oftypes.Any. This change is consistent with the PR's objective to migrate to the newergogoproto/types/any. However, it's marked as deprecated, which is appropriate if the intention is to discourage its use in favor of a new approach or structure. Ensure that this deprecation is communicated clearly in the project's documentation and migration guides.- 847-847: The instantiation of
UpgradedClientStateas&any.Any{}during unmarshalling is correct and ensures that the field is properly initialized before attempting to unmarshal data into it. This is a good practice to prevent nil pointer dereferences.x/feegrant/feegrant.pb.go (4)
- 15-15: The import alias for
github.com/cosmos/gogoproto/types/anyis correctly defined asany, aligning with Go best practices for readability and avoiding unnecessary verbosity in the code.- 184-184: The replacement of
types1.Anywithany.Anyfor theAllowancefield in theAllowedMsgAllowancestruct is correctly implemented. This change aligns with the PR's objective to migrate to the newergogoproto/types/anypackage.- 229-229: Similarly, the replacement of
types1.Anywithany.Anyfor theAllowancefield in theGrantstruct is correctly implemented. This ensures consistency across the codebase and aligns with the updatedgogoprotodependency.- 279-279: The method
GetAllowancein theGrantstruct correctly returns a pointer to anany.Anytype. This method facilitates access to theAllowancefield, adhering to Go best practices for encapsulation and type safety.x/feegrant/tx.pb.go (3)
- 14-14: The import alias for
github.com/cosmos/gogoproto/types/anyis correctly defined asany, which is concise and avoids naming conflicts. This change aligns with the migration fromtypes.Anytoany.Any.- 42-42: The
Allowancefield in theMsgGrantAllowancestruct has been correctly updated to useany.Anyfrom thegogoproto/typespackage. This change is necessary for the migration and ensures compatibility with the updatedgogoprotoversion.- 92-92: The
GetAllowancemethod correctly returns a pointer to anany.Anytype, ensuring that the method's return type is consistent with the updatedAllowancefield type.types/tx/signing/signing.pb.go (3)
- 8-10: The addition of the import
any "github.com/cosmos/gogoproto/types/any"correctly aligns with the PR's objective to migrate fromtypes.Anytoany.Any. This change is necessary for compatibility with the updatedgogoprototypes.- 155-155: The update of the
PublicKeyfield type toany.Anyfromtypes.Anyin theSignatureDescriptorstruct correctly implements the necessary migration to the updatedgogoprototypes. This change is aligned with the PR objectives.- 364-364: The update of the
Bitarrayfield type totypes.CompactBitArrayfromtypes1.CompactBitArrayin theSignatureDescriptor_Data_Multistruct correctly standardizes the usage of types within the codebase. This change improves readability and maintainability.testutil/testdata/testdata.pb.go (7)
- 10-10: The import alias for
github.com/cosmos/gogoproto/types/anyis correctly defined asany, aligning with the PR's objective to migrate fromtypes.Anytogogoproto'sany.Any.- 184-184: The replacement of
types.Anywithany.Anyin theHasAnimalstruct is correctly implemented, ensuring compatibility with the updatedgogoprototypes.- 221-221: The method
GetAnimalin theHasAnimalstruct correctly returns a pointer toany.Any, aligning with the migration togogoproto'sany.Any.- 236-236: The replacement of
types.Anywithany.Anyin theHasHasAnimalstruct is correctly implemented, ensuring compatibility with the updatedgogoprototypes.- 272-272: The method
GetHasAnimalin theHasHasAnimalstruct correctly returns a pointer toany.Any, aligning with the migration togogoproto'sany.Any.- 280-280: The replacement of
types.Anywithany.Anyin theHasHasHasAnimalstruct is correctly implemented, ensuring compatibility with the updatedgogoprototypes.- 316-316: The method
GetHasHasAnimalin theHasHasHasAnimalstruct correctly returns a pointer toany.Any, aligning with the migration togogoproto'sany.Any.x/authz/tx.pb.go (2)
- 15-15: The import statement for
any "github.com/cosmos/gogoproto/types/any"correctly replaces the deprecatedtypes.Anywithany.Any. This change aligns with the PR's objective to migrate to the newergogoproto/types/any.- 121-121: The
Msgsfield in theMsgExecstruct has been updated to useany.Anyfrom thegogoproto/typespackage instead of the deprecatedtypes.Any. This change is consistent with the PR's goal of updating togogoprotoversionv1.4.12and migrating to the newerany.Anytype.x/gov/types/v1beta1/tx.pb.go (5)
- 11-11: Renaming the package alias from
types1totypesimproves readability and consistency. Good change.- 17-17: Updating the import path to use
anyfromgogoproto/typesinstead ofcodec/typesaligns with the migration to the newer version ofgogoproto. This change is necessary for compatibility with the updated dependency.- 41-41: The change from
types.Anytoany.Anyfor theContentfield inMsgSubmitProposalis consistent with the migration to the newergogoprototypes. This update is crucial for ensuring that the serialization and deserialization processes work with the updatedgogoprotoversion.- 1163-1163: The use of
types.Coinin theInitialDepositfield remains unchanged. It's important to verify that thetypes.Coindefinition is compatible with the updatedgogoprotoversion and does not require migration to a new type. Iftypes.Coinis defined in a file that also underwent changes due to thegogoprotoupdate, ensure those changes are correctly applied.- 1754-1754: Similar to the previous comment, ensure that the
types.Coindefinition used in theAmountfield ofMsgDepositis compatible with the updatedgogoprotoversion. This verification is crucial for maintaining the integrity of the serialization and deserialization processes.x/accounts/v1/tx.pb.go (11)
- 16-16: The import
any "github.com/cosmos/gogoproto/types/any"replaces the deprecatedtypes.Any. This change aligns with the PR's objective to migrate to the newergogoproto/types/any. Ensure that all references totypes.Anyare updated accordingly throughout the codebase.- 43-43: The replacement of
types.Anywithany.Anyfor theMessagefield inMsgInitstruct is correctly implemented according to the PR's objectives. This change is crucial for compatibility with the updatedgogoprotoversion.- 96-96: The getter method
GetMessagefor theMsgInitstruct correctly returns a pointer toany.Any. This change is consistent with the migration togogoproto/types/any.- 115-115: The replacement of
types.Anywithany.Anyfor theResponsefield inMsgInitResponsestruct is correctly implemented. This aligns with the PR's goal of updating to the newergogoproto/types/any.- 158-158: The getter method
GetResponsefor theMsgInitResponsestruct correctly returns a pointer toany.Any, aligning with the migration togogoproto/types/any.- 172-172: The replacement of
types.Anywithany.Anyfor theMessagefield inMsgExecutestruct is correctly implemented, ensuring compatibility with the updatedgogoprotoversion.- 225-225: The getter method
GetMessagefor theMsgExecutestruct correctly returns a pointer toany.Any, consistent with the migration togogoproto/types/any.- 242-242: The replacement of
types.Anywithany.Anyfor theResponsefield inMsgExecuteResponsestruct is correctly implemented, aligning with the PR's objectives.- 278-278: The getter method
GetResponsefor theMsgExecuteResponsestruct correctly returns a pointer toany.Any, consistent with the migration togogoproto/types/any.- 343-343: The replacement of
types.Anywithany.Anyfor theExecResponsesfield inBundledTxResponsestruct is correctly implemented. This change is crucial for compatibility with the updatedgogoprotoversion.- 380-380: The getter method
GetExecResponsesfor theBundledTxResponsestruct correctly returns a pointer toany.Any, aligning with the migration togogoproto/types/any.x/accounts/v1/query.pb.go (1)
- 36-36: The migration from
types.Anyto*any.Anyin struct fields is correctly implemented according to the PR objectives. Ensure that this change does not affect the serialization or deserialization of existing data, potentially requiring data migration or compatibility layers.Also applies to: 79-79, 89-89, 125-125
x/accounts/defaults/lockup/types/tx.pb.go (4)
- 16-16: The import alias
anyforgithub.com/cosmos/gogoproto/types/anyis correctly introduced to replacetypes1.Anywithany.Any. This change aligns with the PR's objective to migrate to the newergogoproto/types/any.- 363-363: The replacement of
types1.Anywithany.Anyin theMsgExecuteMessagesResponsestruct is correctly implemented. This change is consistent with the migration strategy outlined in the PR objectives.- 399-399: The method
GetResponsescorrectly returns a slice of*any.Any, aligning with the updated import and type usage. This ensures that the method's return type is consistent with the updatedMsgExecuteMessagesResponsestruct.- 6-19: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-2105]
Ensure that all other message types and methods in this file are unaffected by the
types1.Anytoany.Anymigration and that they continue to function as expected. This includes serialization, deserialization, and any method logic that may indirectly interact with the changed types.x/gov/types/v1beta1/gov.pb.go (2)
- 16-16: The import alias for
github.com/cosmos/gogoproto/types/anyhas been correctly updated toanyfrom presumablytypes1to reflect the new dependency version and usage. This change aligns with the PR objectives and improves readability by using a more intuitive alias.- 260-260: The replacement of
types1.Anywithany.Anyin theContentfield of theProposalstruct is correctly implemented. This change is consistent with the PR's objective to migrate from the deprecatedcodec/types/anytogogoproto/types/any, ensuring compatibility with the latestgogoprotofeatures and standards.types/abci.pb.go (7)
- 8-12: The import aliases
typesandtypes1are used to resolve package name conflicts. While this is automatically generated and functionally correct, it could potentially lead to confusion when reading the code. Consider renaming these imports in the protobuf definitions for clarity, if possible.- 56-56: The use of
any.Anyfrom thegogoproto/types/anypackage for theTxfield inTxResponsestruct is noted. Ensure that all necessary migrations fromtypes.Anytoany.Anyare completed across the codebase to maintain consistency and compatibility.- 67-67: The
Eventsfield in theTxResponsestruct usestypes.Event, which seems to be imported with an alias due to package name conflicts. It's important to ensure that the correctEventtype is being used here, especially after the migration toany.Any. Double-check the protobuf definitions to confirm that the correct types are being referenced.Verification successful
The verification process has confirmed that the
Eventtype used in theTxResponsestruct is indeed specified astendermint.abci.Eventin the protobuf definition, aligning with the expectations mentioned in the review comment. This ensures that the correctEventtype is being referenced, especially after the migration toany.Any.* 335-335: The `Events` field in the `Result` struct also uses `types.Event`. Similar to the previous comment, verify that the migration to `any.Any` and the usage of package aliases do not affect the correct usage of the `Event` type across the codebase. * 339-339: The `MsgResponses` field in the `Result` struct uses `any.Any`. This is part of the migration to the newer `any.Any` type. Ensure that all message response types are correctly migrated and compatible with this change.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify that the correct Event type is being used in protobuf definitions. rg --type proto 'Event'Length of output: 53
Script:
#!/bin/bash # Adjusting the search to explicitly target .proto files rg 'Event' --glob '*.proto'Length of output: 5613
Verification successful
The verification process has confirmed that all instances of
MsgResponsesacross the codebase have been correctly migrated to useany.Anyoranypb.Any. This indicates a successful migration and compatibility with the change. No issues related to the migration were found in the provided context.* 483-483: Similar to the previous comment, the `MsgResponses` field in the `TxMsgData` struct uses `any.Any`. Verify that all necessary migrations and compatibility checks are performed for message response types. * 636-636: The `Blocks` field in the `SearchBlocksResult` struct uses `types1.Block`, indicating an import alias due to package name conflicts. Ensure that the correct `Block` type is being used and consider renaming imports in the protobuf definitions for clarity.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify that all message response types are correctly migrated to use any.Any. rg --type go 'MsgResponses'Length of output: 6727
x/group/types.pb.go (3)
- 13-13: The import
any "github.com/cosmos/gogoproto/types/any"has been added to support the migration fromtypes.Anytoany.Any. Ensure that all references totypes.Anyhave been updated to useany.Anyaccordingly.- 653-653: The
DecisionPolicyfield in theGroupPolicyInfostruct has been correctly updated to useany.Anyfromgithub.com/cosmos/gogoproto/types/any. This change aligns with the migration goal.- 732-732: The
Messagesfield in theProposalstruct has been correctly updated to useany.Anyfromgithub.com/cosmos/gogoproto/types/any. This change is consistent with the migration fromtypes.Anytoany.Any.x/staking/types/tx.pb.go (8)
- 11-18: The import aliases for packages are not consistent with the Uber Go Style Guide, which recommends avoiding aliasing except in cases of conflict.
Consider removing unnecessary aliases for better readability and conformity to Go best practices.
- 49-52: The use of
omitemptyJSON tag option for non-pointer fields of basic types or structs might lead to unexpected behavior when marshaling zero values. It's generally safe for pointer fields or slices where a nil value is meaningful.Evaluate if the
omitemptyoption is necessary for these fields, especially forDelegatorAddressandValidatorAddresswhich are of typestring, andValuewhich is a struct. Removingomitemptycan ensure that zero values (e.g., empty strings) are correctly represented in the JSON output.
- 210-212: Similar to the previous comment, reconsider the use of
omitemptyfor fieldsDelegatorAddress,ValidatorAddress, andAmountinMsgDelegate. These fields are crucial for the message, and omitting them when empty might not be desirable.- 288-291: For
MsgBeginRedelegate, the same advice regardingomitemptyapplies. Ensure that the decision to useomitemptyaligns with the intended behavior for zero values of these fields.- 375-377: The
omitemptyJSON tag option is used forDelegatorAddress,ValidatorAddress, andAmountinMsgUndelegate. Consider the implications of omitting empty values in the JSON representation and adjust accordingly.- 419-419: The field
AmountinMsgUndelegateResponseuses theomitemptyJSON tag option. Given that this field represents a significant part of the response, carefully evaluate the need for omitting zero values.- 476-476: For
MsgCancelUnbondingDelegation, theAmountfield also usesomitempty. As this field is essential for understanding the operation being canceled, consider if omitting it when empty is appropriate.- 656-657: In
MsgRotateConsPubKey, theomitemptyJSON tag option is used forValidatorAddressandNewPubkey. Given the critical nature of these fields for the message's purpose, ensure that omitting them when empty is the intended behavior.x/auth/types/query.pb.go (9)
- 14-14: The import alias
anyforgithub.com/cosmos/gogoproto/types/anyis correctly updated to reflect the migration fromtypes.Anytogogoproto'sany.Any. This change aligns with the PR's objective of updating thegogoprotodependency and migrating to the newerany.Anytype.- 88-88: The replacement of
types.Anywithany.Anyin theQueryAccountsResponsestruct is correctly implemented. This change is part of the migration to use the updatedgogoprototypes and is consistent with the PR's objectives.- 126-126: The getter method
GetAccountsinQueryAccountsResponsenow correctly returns a slice of*any.Any. This adjustment is necessary due to the change in theAccountsfield type and ensures compatibility with the updatedgogoprototypes.- 182-182: The replacement of
types.Anywithany.Anyin theQueryAccountResponsestruct is correctly implemented. This change is part of the migration to use the updatedgogoprototypes and is consistent with the PR's objectives.- 218-218: The getter method
GetAccountinQueryAccountResponsenow correctly returns a*any.Any. This adjustment is necessary due to the change in theAccountfield type and ensures compatibility with the updatedgogoprototypes.- 351-351: The replacement of
types.Anywithany.Anyin theQueryModuleAccountsResponsestruct is correctly implemented. This change is part of the migration to use the updatedgogoprototypes and is consistent with the PR's objectives.- 387-387: The getter method
GetAccountsinQueryModuleAccountsResponsenow correctly returns a slice of*any.Any. This adjustment is necessary due to the change in theAccountsfield type and ensures compatibility with the updatedgogoprototypes.- 441-441: The replacement of
types.Anywithany.Anyin theQueryModuleAccountByNameResponsestruct is correctly implemented. This change is part of the migration to use the updatedgogoprototypes and is consistent with the PR's objectives.- 477-477: The getter method
GetAccountinQueryModuleAccountByNameResponsenow correctly returns a*any.Any. This adjustment is necessary due to the change in theAccountfield type and ensures compatibility with the updatedgogoprototypes.x/gov/types/v1/tx.pb.go (5)
- 18-18: The import alias
anyis introduced for"github.com/cosmos/gogoproto/types/any". Consider using a more descriptive alias to avoid confusion with"google.golang.org/protobuf/types/known/anypb".- 45-45: The field
MessagesinMsgSubmitProposalstruct is updated to useany.Anyinstead oftypes.Any. Ensure that all serialization and deserialization logic, as well as any usage of this field across the codebase, is updated accordingly to handle the new type.- 214-214: The field
ContentinMsgExecLegacyContentstruct is updated to useany.Anyinstead oftypes.Any. Similar to the previous comment, ensure that all related logic is updated to work withany.Any.- 530-530: The
Amountfield inMsgDepositstruct remains unchanged, but it's important to verify that the serialization and deserialization logic fortypes.Coinis compatible with the updatedgogoprotoversion.- 1102-1102: The
Msgfield inMsgSudoExecstruct is updated to useany.Anyinstead oftypes.Any. Ensure compatibility and correct handling of this field across the codebase.client/grpc/cmtservice/query.pb.go (5)
- 3432-3432: The usage of
any.Anyfrom thegogoprotopackage for thePubKeyfield in theValidatorstruct is consistent with the migration fromtypes.Anytogogoproto'sany.Anyas mentioned in the PR summary. This change is crucial for compatibility with the updatedgogoprototypes.- 3625-3625: The usage of
types.BlockIDfor theBlockIdfield in theGetBlockByHeightResponsestruct aligns with the cosmos-sdk's approach to handling blockchain data structures. This ensures that the block ID is correctly represented and utilized within the cosmos-sdk ecosystem.- 3661-3661: The usage of
types.Blockfor theBlockfield in theGetBlockByHeightResponsestruct is appropriate, as it ensures that the block data is correctly represented according to the cosmos-sdk's data structures. This is essential for the correct serialization and deserialization of block data.- 3833-3833: The usage of
types.BlockIDfor theBlockIdfield in theGetLatestBlockResponsestruct is consistent and correct, ensuring that the block ID is represented according to the cosmos-sdk's data structures. This consistency is crucial for the integrity of block data within the ecosystem.- 3869-3869: The usage of
types.Blockfor theBlockfield in theGetLatestBlockResponsestruct is correct, aligning with the cosmos-sdk's data structures for representing block data. This ensures that block data is serialized and deserialized correctly within the ecosystem.x/gov/types/v1/gov.pb.go (2)
- 14-14: The import of the
anypackage has been updated to usegithub.com/cosmos/gogoproto/types/anyinstead oftypes1.Any. This change aligns with the PR's objective to migrate from the deprecatedcodec/types/anyto the newergogoproto/types/any.- 310-310: The
Messagesfield in theProposalstruct has been correctly updated to use[]*any.Anyinstead of[]*types1.Any, following the migration to the newgogoproto/types/anypackage.x/group/tx.pb.go (9)
- 15-15: The import alias for
github.com/cosmos/gogoproto/types/anyasanyis clear and follows good Go practices for readability and avoiding namespace conflicts. This change aligns with the PR's objective of migrating to the newergogoproto/types/any.- 490-490: The change from
types.Anyto*any.Anyfor theDecisionPolicyfield inMsgCreateGroupPolicyis correctly implemented. It's important to ensure that all related serialization, deserialization, and usage of this field are updated accordingly to handle the new type.Verification successful
Given the findings, it appears that the change from
types.Anyto*any.Anyfor theDecisionPolicyfield has been reflected in multiple places within the codebase, including bothtx.pb.goandtypes.pb.gofiles. The initialization ofDecisionPolicywith&any.Any{}in several locations suggests that updates have been made to accommodate the new pointer type. However, to conclusively verify that all related serialization and deserialization logic, as well as usage of this field, have been correctly updated, it would be beneficial to examine the context around these occurrences more closely.
The provided context from the script output confirms that the
DecisionPolicyfield's change to*any.Anyhas been integrated across various parts of the codebase, including in structures and methods related to serialization and deserialization. Specifically, the output shows:
- The
DecisionPolicyfield is declared with the new type*any.Anyin different message structures withintx.pb.goandtypes.pb.go.- There are instances where
DecisionPolicyis being initialized with&any.Any{}, indicating that the code has been updated to handle the new pointer type correctly.- The
Unmarshalmethod is called onDecisionPolicy, which is part of the deserialization process, further indicating that the necessary updates to handle the new type have been made.These findings verify that the change from
types.Anyto*any.Anyfor theDecisionPolicyfield inMsgCreateGroupPolicyand related structures has been correctly implemented, and the related serialization, deserialization, and usage of this field have been updated accordingly.* 687-687: Similar to the previous comment, the update of the `DecisionPolicy` field in `MsgCreateGroupWithPolicy` to use `*any.Any` is correctly done. Ensure consistency in handling this type across the codebase.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify that serialization and deserialization logic for DecisionPolicy has been updated. rg 'DecisionPolicy.*any.Any' --type goLength of output: 842
Script:
#!/bin/bash # Extract context around occurrences of DecisionPolicy being updated to *any.Any rg 'DecisionPolicy.*any.Any' --type go -C 5Length of output: 5813
Verification successful
The review comment regarding the update of the
DecisionPolicyfield inMsgCreateGroupWithPolicyto use*any.Anyand ensuring consistency in handling this type across the codebase is supported by the evidence from the codebase. The search results confirm thatDecisionPolicy *any.Anyis consistently used and initialized across thex/grouppackage, indicating a standard practice in handling this type.* 785-785: Updating the `DecisionPolicy` field in `MsgUpdateGroupPolicyDecisionPolicy` to `*any.Any` is in line with the migration goals. Consistency in handling this type change is crucial for maintaining functionality.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Confirm consistent handling of DecisionPolicy across the codebase. rg 'DecisionPolicy.*any.Any' --type goLength of output: 842
Verification successful
The script output indicates that the
DecisionPolicyfield has been updated to type*any.Anyin multiple instances within thex/groupdirectory, suggesting a consistent migration effort. However, the script focused on finding instances ofDecisionPolicywith type*any.Anyand did not explicitly verify the absence ofDecisionPolicyfields of other types. Based on the information available, it appears that the update is consistent with the migration goals, but complete verification of consistency across the entire codebase would require a more exhaustive search. Given the evidence, the review comment seems to be in line with the observed codebase changes.* 973-973: The migration of the `Messages` field in proposals to a slice of `*any.Any` is a significant change. This affects how messages within proposals are serialized, deserialized, and processed. It's crucial to review related logic to ensure compatibility. * 4616-4616: The initialization of `DecisionPolicy` to `&any.Any{}` during unmarshalling is correct. This ensures that the field is ready for use even if not explicitly set in the incoming data. Review related logic to ensure seamless integration. * 5130-5130: The initialization of `DecisionPolicy` to `&any.Any{}` in another unmarshalling context is consistent with the previous comment. This consistency is key to ensuring reliable data handling. * 5381-5381: Again, initializing `DecisionPolicy` to `&any.Any{}` during unmarshalling is correctly applied, maintaining consistency across different parts of the codebase. * 5808-5808: Appending a new `&any.Any{}` to `Messages` and then unmarshalling into it is a correct approach for handling dynamic message types in proposals. Ensure that all logic processing these messages accounts for the new type.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Check for consistent updates to DecisionPolicy handling. rg 'DecisionPolicy.*any.Any' --type goLength of output: 842
x/staking/types/staking.pb.go (13)
- 11-21: The import alias changes from
types2,types, andtypes1to a more consistent naming convention are good for clarity. However, ensure that these changes are consistently applied across the entire codebase to avoid confusion or errors due to the renaming.- 419-419: Changing the
ConsensusPubkeyfield type fromtypes1.Anytoany.Anyaligns with the migration to the updatedgogoprototypes. This is a crucial update for compatibility with the latestgogoprotofeatures. Ensure that all related serialization and deserialization logic is updated accordingly.- 1003-1003: The update of
KeyRotationFeefield type totypes1.Coinis consistent with the renaming strategy. Ensure that thetypes1.Cointype is correctly defined and that all references toKeyRotationFeeare updated to reflect this change.- 1074-1078: The addition of the
GetKeyRotationFeemethod is a good practice for encapsulating the access to struct fields. Ensure that this method is used consistently whereverKeyRotationFeeneeds to be accessed.- 1085-1085: The
Balancefield inDelegationResponsebeing updated totypes1.Coinis consistent with the changes made elsewhere in the code. This ensures type consistency across the codebase.- 1128-1132: The
GetBalancemethod addition forDelegationResponseis consistent with best practices for data encapsulation. Ensure that this method is utilized whereverBalanceneeds to be accessed.- 1281-1281: The update in
ValidatorUpdatesto usetypes2.ValidatorUpdatefor theUpdatesfield is part of the renaming strategy. Verify thattypes2.ValidatorUpdateis correctly defined and that all instances ofValidatorUpdatesare updated accordingly.- 1317-1317: The
GetUpdatesmethod inValidatorUpdatesis a good addition for encapsulating the access to theUpdatesfield. Ensure consistency in using this method across the codebase.- 1329-1335: The changes in
ConsPubKeyRotationHistory, including the update ofOldConsPubkeyandNewConsPubkeytoany.AnyandFeetotypes1.Coin, are aligned with the migration to updatedgogoprototypes and renaming strategy. Ensure that all related logic is updated to reflect these changes.- 5174-5174: Initializing
ConsensusPubkeywith&any.Any{}before unmarshalling is a necessary change due to the type update. Ensure that error handling and unmarshalling logic are correctly implemented to handle potential issues.- 7722-7722: Appending a new
types2.ValidatorUpdatetom.Updatesbefore unmarshalling is consistent with the changes made toValidatorUpdates. Ensure that the unmarshalling logic is correctly implemented and tested.- 7841-7841: Initializing
OldConsPubkeywith&any.Any{}before unmarshalling is necessary due to the type update. Verify that the unmarshalling logic is correctly implemented and tested for potential issues.- 7877-7877: Initializing
NewConsPubkeywith&any.Any{}before unmarshalling is consistent with the type update. Ensure that the unmarshalling logic is correctly implemented and tested for potential issues.testutil/testdata/unknonwnproto.pb.go (8)
- 12-12: The import alias for
github.com/cosmos/gogoproto/types/anyasanyis correctly updated to reflect the migration fromtypes.Anytoany.Any. This change is consistent with the PR's objective of updating togogoprotoversionv1.4.12.- 138-138: The replacement of
types.Anywithany.Anyfor theMiscellaneousfield in theCustomer2struct is correctly implemented. This change aligns with the PR's goal of migrating to the newergogoproto/types/any.- 216-216: The method
GetMiscellaneouscorrectly returns a pointer toany.Any, reflecting the updated type for theMiscellaneousfield in theCustomer2struct. This change is consistent with the migration togogoproto/types/any.- 856-856: The addition of the
Gfield of type*any.Anyin various structs likeTestVersion1,TestVersion2,TestVersion3, etc., is consistent with the PR's objective. Ensure that all references and usages of these structs are updated accordingly to handle the new field type.- 968-968: The method
GetGcorrectly returns a pointer toany.Anyfor theTestVersion1struct. This change is consistent across various versions and types, reflecting the migration togogoproto/types/any.- 6809-6811: The unmarshalling logic for the
Miscellaneousfield in various structs has been correctly updated to instantiate anany.Anytype before unmarshalling. This change is necessary due to the migration fromtypes.Anytoany.Any.- 12546-12552: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [12549-12553]
The logic for appending and unmarshalling
*any.Anytypes to theMessagesslice in theTestUpdatedTxBodystruct is correctly implemented. This change supports the migration togogoproto/types/anyand ensures that the serialization and deserialization processes are aligned with the updated dependency.
- 12716-12722: > 📝 NOTE
This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [12719-12723]
Similarly, the logic for appending and unmarshalling
*any.Anytypes to theNonCriticalExtensionOptionsslice in theTestUpdatedTxBodystruct is correctly implemented. This ensures compatibility with the updatedgogoprototypes and maintains the integrity of the serialization and deserialization processes.
| types "github.com/cosmos/cosmos-sdk/codec/types" | ||
| github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" | ||
| types1 "github.com/cosmos/cosmos-sdk/types" | ||
| types "github.com/cosmos/cosmos-sdk/types" |
There was a problem hiding this comment.
The import alias types is redeclared. This is redundant and can be removed to clean up the code.
- types "github.com/cosmos/cosmos-sdk/types"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.
| types "github.com/cosmos/cosmos-sdk/types" |
| types "github.com/cosmos/cosmos-sdk/crypto/types" | ||
| github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" | ||
| types2 "github.com/cosmos/cosmos-sdk/types" | ||
| types1 "github.com/cosmos/cosmos-sdk/types" | ||
| _ "github.com/cosmos/cosmos-sdk/types/tx/amino" | ||
| signing "github.com/cosmos/cosmos-sdk/types/tx/signing" | ||
| _ "github.com/cosmos/gogoproto/gogoproto" | ||
| proto "github.com/cosmos/gogoproto/proto" | ||
| any "github.com/cosmos/gogoproto/types/any" |
There was a problem hiding this comment.
The import alias types1 for "github.com/cosmos/cosmos-sdk/types" on line 11 seems to be a leftover from a previous version of the code where there might have been multiple types packages imported. Given that there's only one types package imported now (aliased as types on line 9), the alias types1 is unnecessary and could potentially cause confusion.
- types1 "github.com/cosmos/cosmos-sdk/types"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.
| types "github.com/cosmos/cosmos-sdk/crypto/types" | |
| github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" | |
| types2 "github.com/cosmos/cosmos-sdk/types" | |
| types1 "github.com/cosmos/cosmos-sdk/types" | |
| _ "github.com/cosmos/cosmos-sdk/types/tx/amino" | |
| signing "github.com/cosmos/cosmos-sdk/types/tx/signing" | |
| _ "github.com/cosmos/gogoproto/gogoproto" | |
| proto "github.com/cosmos/gogoproto/proto" | |
| any "github.com/cosmos/gogoproto/types/any" | |
| types "github.com/cosmos/cosmos-sdk/crypto/types" | |
| github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" | |
| _ "github.com/cosmos/cosmos-sdk/types/tx/amino" | |
| signing "github.com/cosmos/cosmos-sdk/types/tx/signing" | |
| _ "github.com/cosmos/gogoproto/gogoproto" | |
| proto "github.com/cosmos/gogoproto/proto" | |
| any "github.com/cosmos/gogoproto/types/any" |
| types "github.com/cosmos/cosmos-sdk/codec/types" | ||
| github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" | ||
| types1 "github.com/cosmos/cosmos-sdk/types" | ||
| types "github.com/cosmos/cosmos-sdk/types" |
There was a problem hiding this comment.
The import alias types is declared but not used in the visible code. If it's truly unused, it should be removed to keep the code clean and to follow Go best practices.
- types "github.com/cosmos/cosmos-sdk/types"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.
| types "github.com/cosmos/cosmos-sdk/types" |
| - name: gocosmos | ||
| out: .. | ||
| opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types | ||
| opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any |
There was a problem hiding this comment.
Tip
Codebase Verification
The verification process revealed that the URL provided in the code change redirects from the 'master' branch to the 'main' branch, indicating that the URL is outdated. It's important to update the path to use the 'main' branch to ensure accuracy and alignment with current repository standards. The file is accessible, but the path correction is necessary.
Analysis chain
The update to the gocosmos plugin option here is consistent with the overarching goals of the PR. Ensure the new path's correctness and compatibility.
Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Verify the new path is accessible and compatible
curl -I https://github.com/cosmos/gogoproto/blob/master/types/any.proto
Length of output: 4498
| - name: gocosmos | ||
| out: .. | ||
| opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types | ||
| opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any |
There was a problem hiding this comment.
Tip
Codebase Verification
The attempt to verify the new path's accessibility resulted in a HTTP 404 response, indicating that the file at https://github.com/cosmos/gogoproto/blob/main/types/any.proto does not exist. This suggests that the updated path in the PR might be incorrect or the file has been moved or deleted from the specified location.
Analysis chain
The update to the gocosmos plugin option is consistent with the PR's objectives. Ensure the new path's correctness and compatibility.
Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Verify the new path is accessible and compatible
curl -I https://github.com/cosmos/gogoproto/blob/master/types/any.proto
Length of output: 4493
Script:
#!/bin/bash
# Verify the redirected path is accessible
curl -I https://github.com/cosmos/gogoproto/blob/main/types/any.proto
Length of output: 4469
julienrbrt
left a comment
There was a problem hiding this comment.
Some alias are missing. Can we get a quick changelog as well or go doc on the alias that explains the reason
There was a problem hiding this comment.
Review Status
Actionable comments generated: 0
Configuration used: .coderabbit.yml
Files selected for processing (1)
- CHANGELOG.md (1 hunks)
Path instructions used (1)
CHANGELOG.md (1)
**/*.md
Assess the documentation for misspellings, grammatical errors, missing documentation and correctness
Additional comments (2)
CHANGELOG.md (2)
- 62-62: The documentation of the change related to PR #19869 in the CHANGELOG.md is clear and accurately reflects the modifications made in the PR. This entry helps in tracking the significant change regarding the
Anytype replacement.- 62-62: The documentation of the enhancements related to PR #19854 in the CHANGELOG.md is detailed and provides a clear understanding of the new customizability features added to the start command. This entry is well-documented and contributes to the transparency of changes made in the cosmos-sdk.
There was a problem hiding this comment.
Review Status
Actionable comments generated: 0
Configuration used: .coderabbit.yml
Files selected for processing (1)
- codec/types/types_test.go (7 hunks)
Files skipped from review as they are similar to previous changes (1)
- codec/types/types_test.go
| - name: gocosmos | ||
| out: ../.. | ||
| opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types | ||
| opt: plugins=grpc,Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any |
There was a problem hiding this comment.
wanted to double check this is optional correct? chains dont have to do this as part of their upgrade?
There was a problem hiding this comment.
it is optional bc all public types are aliased, but could be a good idea to use the gogoproto path to not 'depend' on sdk types. But if is ok to use one or the other, I can clarify in the UPGRADING.md that this is indeed optional
| // returns an error if that value couldn't be packed. This also caches | ||
| // the packed value so that it can be retrieved from GetCachedValue without | ||
| // unmarshaling | ||
| func NewAnyWithValue(v proto.Message) (*Any, error) { |
There was a problem hiding this comment.
do we want to alias this as well?
There was a problem hiding this comment.
yep, the alias is here
Line 35 in cccdb50
where NewAnyWithCacheWithValue is in fact the previous NewAnyWithValue
There was a problem hiding this comment.
Review Status
Actionable comments generated: 1
Configuration used: .coderabbit.yml
Files selected for processing (1)
- UPGRADING.md (1 hunks)
Path instructions used (1)
UPGRADING.md (1)
**/*.md
Assess the documentation for misspellings, grammatical errors, missing documentation and correctness
| Due to the `Any` type moving to the `github.com/cosmos/gogoproto/types/any` repository, module developers must update the `buf.gen.gogo.yaml` configuration files by adjusting the corresponding `opt` option to `Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any` for correct mapping to the new `Any` type location. | ||
|
|
There was a problem hiding this comment.
Due to the Any type moving to the github.com/cosmos/gogoproto/types/any repository, module developers must update the buf.gen.gogo.yaml configuration files by adjusting the corresponding opt option to Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any for correct mapping to the new Any type location.
- Mgoogle/protobuf/any.proto=github.com/gogo/protobuf/types
+ Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/anyCommittable 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.
| Due to the `Any` type moving to the `github.com/cosmos/gogoproto/types/any` repository, module developers must update the `buf.gen.gogo.yaml` configuration files by adjusting the corresponding `opt` option to `Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any` for correct mapping to the new `Any` type location. | |
| Due to the `Any` type moving to the `github.com/cosmos/gogoproto/types/any` repository, module developers must update the `buf.gen.gogo.yaml` configuration files by adjusting the corresponding `opt` option to `Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any` for correct mapping to the new `Any` type location. | |
tac0turtle
left a comment
There was a problem hiding this comment.
one less sdk import to worry about thank you!!
|
|
||
| For core SDK types equivalence is asserted by generative testing of [SignableTypes](https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-beta.0/tests/integration/rapidgen/rapidgen.go#L102) in [TestAminoJSON_Equivalence](https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-beta.0/tests/integration/tx/aminojson/aminojson_test.go#L94). | ||
|
|
||
| Due to the `Any` type moving to the `github.com/cosmos/gogoproto/types/any` repository, module developers must update the `buf.gen.gogo.yaml` configuration files by adjusting the corresponding `opt` option to `Mgoogle/protobuf/any.proto=github.com/cosmos/gogoproto/types/any` for correct mapping to the new `Any` type location. |
There was a problem hiding this comment.
This is at the wrong place, should be https://github.com/cosmos/cosmos-sdk/blob/main/UPGRADING.md#protobuf. And they don't have to, we should clarify it is optional but recommended (one less sdk import)
Description
Fully closes #19446
Bump gogoproto to v1.4.12.
Replace old codec/types/any with gogoproto/types/any
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.mdReviewers 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.
I have...
Summary by CodeRabbit
Summary by CodeRabbit