fix: race condition between Commit and CreateQueryContext#24392
fix: race condition between Commit and CreateQueryContext#24392beer-1 wants to merge 31 commits into
Conversation
…) (cosmos#24265) Co-authored-by: Julián Toledano <JulianToledano@users.noreply.github.com> Co-authored-by: Julien Robert <julien@rbrt.fr>
…osmos#24332) (cosmos#24351) Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
…ckport cosmos#24359) (cosmos#24369) Co-authored-by: julienrbrt <julien@rbrt.fr>
cosmos#24361) (cosmos#24365) Co-authored-by: julienrbrt <julien@rbrt.fr> Co-authored-by: Alex | Interchain Labs <alex@interchainlabs.io>
…s#24371) Co-authored-by: julienrbrt <julien@rbrt.fr>
…osmos#22890) (backport cosmos#24366) (cosmos#24374) Co-authored-by: julienrbrt <julien@rbrt.fr>
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
…os#24388) Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
…os#24418) (cosmos#24432) Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
…stribution (backport cosmos#24398) (cosmos#24433) Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
…s#24435) Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
cosmos#24429) (cosmos#24452) Co-authored-by: julienrbrt <julien@rbrt.fr>
…24449) (cosmos#24454) Co-authored-by: julienrbrt <julien@rbrt.fr>
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
…s#24435) Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
cosmos#24429) (cosmos#24452) Co-authored-by: julienrbrt <julien@rbrt.fr>
…24449) (cosmos#24454) Co-authored-by: julienrbrt <julien@rbrt.fr>
Co-authored-by: Tyler <48813565+technicallyty@users.noreply.github.com>
📝 WalkthroughWalkthroughThe changes span multiple modules and components. Key updates include the addition of a new default key name for client configurations (eliminating the need for the “--from” flag), upgrades to governance proposal submission commands across several modules, and improvements in state management in BaseApp through the introduction of mutex locks and atomic pointers. Documentation and upgrade guides have been revised and expanded to reflect new modules (e.g., x/epochs, x/protocolpool) and command structures. Several proto files have been cleaned up by removing version comments and adding versioning metadata. Changes
Sequence Diagram(s)Governance Proposal Submission FlowsequenceDiagram
participant User as User
participant CLI as CLI
participant MsgBuilder as Message Builder
participant GovHandler as handleGovProposal
participant Tx as Transaction
User->>CLI: Submits "update-params-proposal" command
CLI->>MsgBuilder: Parses and validates command arguments
MsgBuilder->>GovHandler: Invokes handleGovProposal()
GovHandler->>Tx: Sets governance authority and proposer info
Tx->>CLI: Returns constructed proposal message
CLI->>User: Broadcasts transaction and displays response
BaseApp State Retrieval with MutexsequenceDiagram
participant App as BaseApp
participant Mutex as RWMutex
participant State as getState()
App->>Mutex: Acquire (read/write) lock
App->>State: Retrieve state for specific execution mode
State-->>App: Return state context
App->>Mutex: Release lock
Tip ⚡💬 Agentic Chat (Pro Plan, General Availability)
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 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
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 4
🧹 Nitpick comments (30)
docs/docs/learn/learn.md (1)
7-8: Enhance Sentence Clarity with a Comma.
A static analysis hint suggests adding a comma after "finally" to improve readability. Consider updating the sentence as follows:- laying the groundwork for understanding blockchain development. In this section we provide a High-Level Overview of the SDK, then dive deeper into Core concepts such as Application-Specific Blockchains, Blockchain Architecture, and finally we begin to explore the main components of the SDK. + laying the groundwork for understanding blockchain development. In this section we provide a High-Level Overview of the SDK, then dive deeper into core concepts such as Application-Specific Blockchains, Blockchain Architecture, and finally, we begin to explore the main components of the SDK.🧰 Tools
🪛 LanguageTool
[typographical] ~7-~7: Consider adding a comma after ‘finally’ for more clarity.
Context: ...ockchains, Blockchain Architecture, and finally we begin to explore the main components...(RB_LY_COMMA)
docs/docs/build/build.md (1)
8-8: Module List RevisionThe updated modules list now includes "Epochs", "Group", and "Protocolpool" while removing "Crisis" and "Params". Please verify that corresponding documentation pages and links exist for the new modules and that the list is consistent with the overall documentation structure.
docs/architecture/adr-039-epoched-staking.md (1)
42-43: Clarify Slash Timing ConsiderationThe updated text clearly explains that a slash event should only apply to members actively staked during the infraction’s epoch and suggests delaying the weight update until the epoch boundary. Consider adding a brief rationale or example to further clarify why this delayed adjustment benefits the system’s design.
docs/pre.sh (2)
23-23: Modules Page List UpdateThe sed command has been updated to replace outdated module page links with the new
/building-modules/intro.htmlURL. Please confirm that this transformation meets the documentation navigation requirements and that the output file appears as expected.
45-45: SDK Migration Documentation UpdateCopying
../UPGRADING.mdto./docs/build/migrations/02-upgrade-reference.mdcorrectly aligns with the new documentation structure. Verify that the migration guide’s content now serves as a proper upgrade reference.docs/docs/user/run-node/06-run-production.md (1)
14-14: Improve Note Text ClarityThe note on server security could be more concise. Consider rephrasing the sentence to something like:
"There are various methods to secure your server and node; the steps provided here outline one effective approach. For an alternative method, refer to the run in production tutorial."
This will enhance readability and grammatical correctness.🧰 Tools
🪛 LanguageTool
[style] ~14-~14: ‘many different ways’ might be wordy. Consider a shorter alternative.
Context: ...server up securely. :::note There are many different ways to secure a server and your node, the d...(EN_WORDINESS_PREMIUM_MANY_DIFFERENT_WAYS)
docs/docs/user/run-node/00-keyring.md (1)
34-38: Minor grammatical improvements.The text is now more grammatically correct with the addition of "the" before "default desktop environment" and restructuring of the sentence about the keyctl backend.
Consider isolating the adverbial phrase "in fact" with commas for improved readability:
-Whilst the former is in fact a `libsecret` convenient frontend, the latter is a `kwallet` +Whilst the former is, in fact, a `libsecret` convenient frontend, the latter is a `kwallet`🧰 Tools
🪛 LanguageTool
[typographical] ~37-~37: Consider isolating this adverbial phrase with commas.
Context: ...DE_Wallet_Manager). Whilst the former is in fact alibsecretconvenient frontend, the ...(IN_FACT_COMMA_2)
docs/docs/build/abci/00-introduction.md (1)
22-22: Grammar improvement neededThe sentence is missing the article "an" before "application developer".
-To perform this manipulation on the application side, a custom handler must be implemented. By default, the Cosmos SDK provides `PrepareProposalHandler`, used in conjunction with an application specific mempool. A custom handler can be written by application developer, if a noop handler provided, all transactions are considered valid. +To perform this manipulation on the application side, a custom handler must be implemented. By default, the Cosmos SDK provides `PrepareProposalHandler`, used in conjunction with an application specific mempool. A custom handler can be written by an application developer, if a noop handler provided, all transactions are considered valid.🧰 Tools
🪛 LanguageTool
[style] ~22-~22: ‘in conjunction with’ might be wordy. Consider a shorter alternative.
Context: ...providesPrepareProposalHandler, used in conjunction with an application specific mempool. A cust...(EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)
[uncategorized] ~22-~22: You might be missing the article “an” here.
Context: ...ool. A custom handler can be written by application developer, if a noop handler provided, ...(AI_EN_LECTOR_MISSING_DETERMINER_AN)
client/v2/README.md (1)
129-132: Helpful new tip about gov proposal generationThis tip adds valuable information about AutoCLI's ability to create governance proposals and the
--no-proposalflag option.Consider adding commas around "however" for better readability:
-AutoCLI can create a gov proposal of any tx by simply setting the `GovProposal` field to `true` in the `autocli.RpcCommandOptions` struct. -Users can however use the `--no-proposal` flag to disable the proposal creation (which is useful if the authority isn't the gov module on a chain). +AutoCLI can create a gov proposal of any tx by simply setting the `GovProposal` field to `true` in the `autocli.RpcCommandOptions` struct. +Users can, however, use the `--no-proposal` flag to disable the proposal creation (which is useful if the authority isn't the gov module on a chain).🧰 Tools
🪛 LanguageTool
[typographical] ~131-~131: Consider adding two commas here.
Context: ...cli.RpcCommandOptionsstruct. Users can however use the--no-proposal` flag to disable...(HOWEVER_COMMA)
CHANGELOG.md (1)
59-60: Fix indentation for markdown compliance.
The bullet item at line 59 is indented by four spaces instead of two, triggering the markdown lint rule (MD007).Here is a diff correcting the indentation:
- * x/distribution can now utilize an externally managed community pool. NOTE: ... + * x/distribution can now utilize an externally managed community pool. NOTE: ...🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
59-59: Unordered list indentation
Expected: 2; Actual: 4(MD007, ul-indent)
docs/docs/learn/beginner/00-app-anatomy.md (1)
53-56: Resolve unordered list indentation (MD007).
Lines 54 and 55 are indented by four spaces, but the lint rule expects two spaces.Apply this diff to align with common Markdown style:
- * `Runtime` wraps `BaseApp`, meaning... - * It automatically configures the **[module manager]... + * `Runtime` wraps `BaseApp`, meaning... + * It automatically configures the **[module manager]...🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
54-54: Unordered list indentation
Expected: 2; Actual: 4(MD007, ul-indent)
55-55: Unordered list indentation
Expected: 2; Actual: 4(MD007, ul-indent)
docs/docs/learn/advanced/01-transactions.md (1)
131-131: Minor grammar improvement suggestion.Consider changing "related with" to "related to" for better grammar.
-The `TxBuilder` interface contains data closely related with the generation of transactions, which an end-user can set to generate the desired transaction: +The `TxBuilder` interface contains data closely related to the generation of transactions, which an end-user can set to generate the desired transaction:🧰 Tools
🪛 LanguageTool
[uncategorized] ~131-~131: The preposition “to” seems more likely in this position.
Context: ...interface contains data closely related with the generation of transactions, which a...(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)
docs/docs/user/run-node/01-run-node.md (1)
189-189: Fixed spelling error and removed bare URL.Corrected "afromentioned" to "aforementioned" for proper spelling.
The static analysis tool flagged a bare URL on this line. Consider updating the format to follow markdown best practices.
-1. As mentioned in https://docs.cometbft.com/v0.37/core/state-sync, one must set a height and hash in the config.toml along with a few rpc servers (the aforementioned link has instructions on how to do this). +1. As mentioned in [CometBFT state sync documentation](https://docs.cometbft.com/v0.37/core/state-sync), one must set a height and hash in the config.toml along with a few rpc servers (the aforementioned link has instructions on how to do this).🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
189-189: Bare URL used
null(MD034, no-bare-urls)
UPGRADING.md (1)
84-141: Comprehensive documentation of new modules.The documentation for the new modules is detailed and includes important warnings about store upgrades and potential breaking changes. The list of required wiring components for each module is particularly helpful.
There's a minor grammatical issue in the description of the
x/epochsmodule:-The new, supplemental `x/epochs` module provides Cosmos SDK modules functionality to register and execute custom logic at fixed time-intervals. +The new, supplemental `x/epochs` module provides Cosmos SDK modules' functionality to register and execute custom logic at fixed time-intervals.🧰 Tools
🪛 LanguageTool
[uncategorized] ~93-~93: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...lx/epochsmodule provides Cosmos SDK modules functionality to register and execute c...(AI_HYDRA_LEO_APOSTROPHE_S_XS)
x/protocolpool/README.md (1)
13-26: Important usage limitations documentedThis section clearly explains which x/distribution handlers will return errors when using the protocolpool module, helping users avoid unexpected behavior.
Consider using actual markdown headings (### or ####) instead of bold text for "QueryService" and "MsgService" to improve document structure and accessibility:
-**QueryService** +### QueryService -**MsgService** +### MsgService🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
17-17: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
21-21: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
docs/docs/build/building-apps/03-app-upgrade.md (1)
25-25: Fix the abbreviation formatThe abbreviation "eg." should be written as "e.g." with two periods (stands for exempli gratia).
-and then install a specially named upgrade handler (eg. "testnet-v2" or even "v0.40.0"). An upgrade +and then install a specially named upgrade handler (e.g., "testnet-v2" or even "v0.40.0"). An upgrade🧰 Tools
🪛 LanguageTool
[uncategorized] ~25-~25: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...tall a specially named upgrade handler (eg. "testnet-v2" or even "v0.40.0"). An upg...(E_G)
client/v2/autocli/app.go (1)
65-75: Improved file resolution with proper fallbackThe code now attempts to use a merged registry of protocol buffer files through
proto.MergedRegistry()with a proper fallback mechanism if the call fails. This enhances the autocli functionality by providing more comprehensive file resolution capabilities.However, the comment could be more explicit about when/why this error might occur and in what circumstances it's safe to ignore.
if err != nil { - // we can safely ignore this error, as this should have been called somewhere earlier - // in the app's lifecycle. + // We can safely ignore this error. proto.MergedRegistry() may fail if called before + // the protobuf registry is fully initialized, but since we've already called it elsewhere + // in the app's lifecycle, we can fall back to the interface registry. mergedFiles = appOptions.ClientCtx.InterfaceRegistry }docs/docs/build/building-apps/00-runtime.md (5)
41-47: Refine punctuation in bullet points.Lines 41–47 contain bullet points introduced immediately after the colon. Consider adding a line break or punctuation for clarity.
Example fix:
- The runtime module is configured using App Wiring. The main configuration object is the [`Module` message](...), which supports the following key settings: -* `app_name`: The name of the application -* `begin_blockers`: List of module names... +The runtime module is configured using App Wiring. The main configuration object is the [`Module` message](...), which supports the following key settings: + +• `app_name`: The name of the application +• `begin_blockers`: List of module names...🧰 Tools
🪛 LanguageTool
[uncategorized] ~41-~41: Loose punctuation mark.
Context: ...he following key settings: *app_name: The name of the application * `begin_bl...(UNLIKELY_OPENING_PUNCTUATION)
52-52: Add a comma after "However".Include a comma after "However" to improve readability and conform to standard grammar.
-By default, the runtime module uses the module name as the store key. However it provides a flexible store key configuration through: +By default, the runtime module uses the module name as the store key. However, it provides a flexible store key configuration through:🧰 Tools
🪛 LanguageTool
[uncategorized] ~52-~52: A comma may be missing after the conjunctive/linking adverb ‘However’.
Context: ... uses the module name as the store key. However it provides a flexible store key config...(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
55-56: Refine punctuation around this list.The punctuation after the colon should be followed by a line break or additional wording.
-However it provides a flexible store key configuration through: -* `override_store_keys`: Allows customizing module store keys -* `skip_store_keys`: Specifies store keys to skip... +However, it provides a flexible store key configuration through: + +• `override_store_keys`: Allows customizing module store keys +• `skip_store_keys`: Specifies store keys to skip...🧰 Tools
🪛 LanguageTool
[uncategorized] ~55-~55: Loose punctuation mark.
Context: ...ration through: *override_store_keys: Allows customizing module store keys * ...(UNLIKELY_OPENING_PUNCTUATION)
95-97: Add missing article "the".For improved clarity, add the definite article before "core services" and "services" in lines 95 and 97.
- Runtime registers all [core services](...) required by modules. - These services include `store`, `event manager`, `context`, and `logger`. Runtime ensures that services are scoped... + Runtime registers all the [core services](...) required by modules. + These services include the `store`, `event manager`, `context`, and `logger`. Runtime ensures that the services are scoped...🧰 Tools
🪛 LanguageTool
[uncategorized] ~95-~95: You might be missing the article “the” here.
Context: ...possible. ### 3. Service Registration Runtime registers all [core services](https://p...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~97-~97: You might be missing the article “the” here.
Context: ...vent manager,context, andlogger`. Runtime ensures that services are scoped to the...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
104-104: Refine usage of "other essential services".Add “the” or “some” before “other essential services” to improve phrasing.
-Additionally, runtime provides automatic registration of other essential (i.e., gRPC routes) services available to the App: +Additionally, runtime provides automatic registration of some other essential (i.e., gRPC routes) services available to the App:🧰 Tools
🪛 LanguageTool
[grammar] ~104-~104: Use the plural noun, or add a word such as ‘the’ or ‘some’ in front of ‘other’.
Context: ...time provides automatic registration of other essential (i.e., gRPC routes) services available ...(OTHER_NN)
client/v2/autocli/msg.go (1)
190-227: handleGovProposal function is logical and well-structured.This method accurately sets the gov module address as authority, reads governance-related flags, and uses dynamic protobuf messages for final submission. Error handling is deliberate. No immediate concerns about concurrency or security.
Consider verifying that a signer always exists and surfaces a clear error message if the fromAddress is empty.
client/v2/autocli/flag/messager_binder.go (2)
72-81: Consider edge cases for empty or unexpected paths.
While the logic correctly branches between a direct bind vs. a nested bind, there may be cases wherearg.pathis empty or malformed (e.g.,".", leading tostrings.Splitproducing empty tokens). If such edge cases are possible, consider handling or validating them before callingbindNestedField.
94-125: Potential enhancement for repeated fields with multiple elements.
This function reliably handles a single-element list by always operating on index 0. If a repeated field can hold multiple items, you might consider whether the logic should handle multiple appended items instead of just the first element. Otherwise, it’s acceptable if the design only anticipates a single repeated field entry.docs/docs/build/building-apps/01-app-go-di.md (3)
41-44: Grammar nitpick: Prefer “in which” over “at which.”
To improve readability, consider changing:"In this configuration, the order in which the modules are defined..."
- In this configuration, the order at which the modules are defined + In this configuration, the order in which the modules are defined🧰 Tools
🪛 LanguageTool
[uncategorized] ~43-~43: The preposition ‘in’ seems more likely in this position.
Context: ...: In this configuration, the order at which the modules are defined in PreBlo...(AI_HYDRA_LEO_REPLACE_AT_IN)
70-70: Grammar nitpick: Use “embedded.”
For clarity, replace “embed withgo:embed” with “embedded withgo:embed.”- The configuration can then be embed with `go:embed` + The configuration can then be embedded with `go:embed`🧰 Tools
🪛 LanguageTool
[grammar] ~70-~70: Consider using either the past participle “embedded” or the present participle “embedding” here.
Context: ...r JSON. The configuration can then be embed withgo:embedand read with [`appconf...(BEEN_PART_AGREEMENT)
152-152: Grammar nitpick: Insert a comma after “Otherwise.”
The conjunctive adverb “Otherwise” typically requires a comma.- Otherwise it will miss the non depinject modules + Otherwise, it will miss the non depinject modules🧰 Tools
🪛 LanguageTool
[uncategorized] ~152-~152: A comma may be missing after the conjunctive/linking adverb ‘Otherwise’.
Context: ...nually constructed instead of injected. Otherwise it will miss the non depinject modules ...(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
x/distribution/README.md (2)
241-248: Use spaces instead of hard tabs in code blocks.According to markdownlint (MD010), hard tabs may cause inconsistent formatting across different environments. Consider replacing tabs with spaces in these lines for better readability.
239 type ExternalCommunityPoolKeeper interface { 240 // ... -241 // ... -242 // ... -243 // ... -244 // ... -245 // ... -246 // ... -247 // ... -248 // ... +241 // ... +242 // ... +243 // ... +244 // ... +245 // ... +246 // ... +247 // ... +248 // ... 249 }🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
241-241: Hard tabs
Column: 1(MD010, no-hard-tabs)
242-242: Hard tabs
Column: 1(MD010, no-hard-tabs)
243-243: Hard tabs
Column: 1(MD010, no-hard-tabs)
244-244: Hard tabs
Column: 1(MD010, no-hard-tabs)
245-245: Hard tabs
Column: 1(MD010, no-hard-tabs)
246-246: Hard tabs
Column: 1(MD010, no-hard-tabs)
247-247: Hard tabs
Column: 1(MD010, no-hard-tabs)
248-248: Hard tabs
Column: 1(MD010, no-hard-tabs)
269-269: Fix Markdown heading and bullet list style.Based on markdownlint checks (MD036, MD004), headings should use hash characters (e.g.,
##) rather than bold/emphasis, and unordered lists should use*instead of-. This improves consistency with typical Markdown standards.-269 When using an external community pool with `x/distribution`, the following handlers will return an error: +269 #### External Community Pool Handlers -271 - `CommunityPool` +271 * `CommunityPool` -273 **MsgService** +273 #### MsgService -275 - `CommunityPoolSpend` -276 - `FundCommunityPool` +275 * `CommunityPoolSpend` +276 * `FundCommunityPool`Also applies to: 271-271, 273-273, 275-276
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
269-269: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (60)
api/cosmos/authz/v1beta1/authz.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/authz/v1beta1/event.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/authz/v1beta1/genesis.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/authz/v1beta1/query.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/authz/v1beta1/query_grpc.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapi/cosmos/authz/v1beta1/tx.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/authz/v1beta1/tx_grpc.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapi/cosmos/base/reflection/v2alpha1/reflection.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/base/reflection/v2alpha1/reflection_grpc.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapi/cosmos/consensus/v1/query.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/consensus/v1/query_grpc.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapi/cosmos/consensus/v1/tx.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/consensus/v1/tx_grpc.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapi/cosmos/crypto/hd/v1/hd.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/crypto/keyring/v1/record.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/crypto/secp256r1/keys.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/epochs/module/v1/module.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/epochs/v1beta1/events.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/epochs/v1beta1/genesis.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/epochs/v1beta1/query.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/epochs/v1beta1/query_grpc.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapi/cosmos/feegrant/v1beta1/feegrant.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/feegrant/v1beta1/genesis.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/feegrant/v1beta1/query.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/feegrant/v1beta1/query_grpc.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapi/cosmos/feegrant/v1beta1/tx.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/feegrant/v1beta1/tx_grpc.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapi/cosmos/gov/v1/genesis.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/gov/v1/gov.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/gov/v1/query.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/gov/v1/query_grpc.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapi/cosmos/gov/v1/tx.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/gov/v1/tx_grpc.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapi/cosmos/group/v1/events.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/group/v1/genesis.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/group/v1/query.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/group/v1/query_grpc.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapi/cosmos/group/v1/tx.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/group/v1/tx_grpc.pb.gois excluded by!**/*.pb.go,!**/*.pb.goapi/cosmos/group/v1/types.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/staking/v1beta1/authz.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/tx/v1beta1/service.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/upgrade/v1beta1/tx.pulsar.gois excluded by!**/*.pulsar.goapi/cosmos/upgrade/v1beta1/tx_grpc.pb.gois excluded by!**/*.pb.go,!**/*.pb.goclient/v2/go.modis excluded by!**/*.modclient/v2/go.sumis excluded by!**/*.sum,!**/*.sumgo.modis excluded by!**/*.modgo.sumis excluded by!**/*.sum,!**/*.sumsimapp/example_app.yamlis excluded by!**/*.yamlsimapp/go.modis excluded by!**/*.modsimapp/go.sumis excluded by!**/*.sum,!**/*.sumtests/go.modis excluded by!**/*.modtypes/tx/service.pb.gois excluded by!**/*.pb.go,!**/*.pb.gox/consensus/types/query.pb.gois excluded by!**/*.pb.go,!**/*.pb.gox/epochs/types/query.pb.gois excluded by!**/*.pb.go,!**/*.pb.gox/feegrant/tx.pb.gois excluded by!**/*.pb.go,!**/*.pb.gox/gov/types/v1/tx.pb.gois excluded by!**/*.pb.go,!**/*.pb.gox/staking/types/authz.pb.gois excluded by!**/*.pb.go,!**/*.pb.gox/tx/signing/aminojson/internal/aminojsonpb/aminojson.pulsar.gois excluded by!**/*.pulsar.gox/tx/signing/aminojson/internal/buf.lockis excluded by!**/*.lock,!**/*.lock
📒 Files selected for processing (107)
CHANGELOG.md(2 hunks)UPGRADE_GUIDE.md(1 hunks)UPGRADING.md(1 hunks)baseapp/abci.go(27 hunks)baseapp/abci_test.go(2 hunks)baseapp/baseapp.go(8 hunks)baseapp/test_helpers.go(1 hunks)client/config/config.go(2 hunks)client/config/toml.go(1 hunks)client/context.go(3 hunks)client/prompt_validation.go(1 hunks)client/v2/CHANGELOG.md(2 hunks)client/v2/README.md(3 hunks)client/v2/autocli/app.go(2 hunks)client/v2/autocli/flag/builder.go(6 hunks)client/v2/autocli/flag/legacy_dec.go(1 hunks)client/v2/autocli/flag/messager_binder.go(4 hunks)client/v2/autocli/msg.go(3 hunks)client/v2/autocli/msg_test.go(3 hunks)client/v2/autocli/testdata/flatten-output.golden(1 hunks)client/v2/internal/flags/flags.go(1 hunks)crypto/keyring/keyring.go(1 hunks)docs/architecture/PROCESS.md(2 hunks)docs/architecture/README.md(1 hunks)docs/architecture/adr-039-epoched-staking.md(1 hunks)docs/docs/build/abci/00-introduction.md(3 hunks)docs/docs/build/abci/01-prepare-proposal.md(1 hunks)docs/docs/build/abci/02-process-proposal.md(1 hunks)docs/docs/build/abci/03-vote-extensions.md(2 hunks)docs/docs/build/build.md(1 hunks)docs/docs/build/building-apps/00-runtime.md(1 hunks)docs/docs/build/building-apps/01-app-go-di.md(5 hunks)docs/docs/build/building-apps/02-app-mempool.md(3 hunks)docs/docs/build/building-apps/03-app-upgrade.md(3 hunks)docs/docs/build/building-apps/05-app-testnet.md(1 hunks)docs/docs/build/building-modules/00-intro.md(2 hunks)docs/docs/build/building-modules/01-module-manager.md(0 hunks)docs/docs/build/building-modules/15-depinject.md(1 hunks)docs/docs/build/tooling/README.md(0 hunks)docs/docs/learn/advanced/01-transactions.md(4 hunks)docs/docs/learn/advanced/05-encoding.md(4 hunks)docs/docs/learn/beginner/00-app-anatomy.md(1 hunks)docs/docs/learn/intro/03-sdk-design.md(2 hunks)docs/docs/learn/learn.md(1 hunks)docs/docs/user/run-node/00-keyring.md(4 hunks)docs/docs/user/run-node/01-run-node.md(9 hunks)docs/docs/user/run-node/03-txs.md(2 hunks)docs/docs/user/run-node/05-run-testnet.md(1 hunks)docs/docs/user/run-node/06-run-production.md(2 hunks)docs/docs/user/user.md(1 hunks)docs/pre.sh(2 hunks)docs/spec/SPEC_MODULE.md(1 hunks)docs/spec/SPEC_STANDARD.md(3 hunks)docs/spec/addresses/bech32.md(1 hunks)docs/spec/fee_distribution/f1_fee_distr.tex(1 hunks)proto/cosmos/authz/v1beta1/authz.proto(0 hunks)proto/cosmos/authz/v1beta1/event.proto(0 hunks)proto/cosmos/authz/v1beta1/genesis.proto(0 hunks)proto/cosmos/authz/v1beta1/query.proto(0 hunks)proto/cosmos/authz/v1beta1/tx.proto(0 hunks)proto/cosmos/base/reflection/v2alpha1/reflection.proto(0 hunks)proto/cosmos/consensus/v1/query.proto(1 hunks)proto/cosmos/consensus/v1/tx.proto(0 hunks)proto/cosmos/crypto/hd/v1/hd.proto(0 hunks)proto/cosmos/crypto/keyring/v1/record.proto(0 hunks)proto/cosmos/crypto/secp256r1/keys.proto(0 hunks)proto/cosmos/epochs/module/v1/module.proto(0 hunks)proto/cosmos/epochs/v1beta1/events.proto(0 hunks)proto/cosmos/epochs/v1beta1/genesis.proto(0 hunks)proto/cosmos/epochs/v1beta1/query.proto(1 hunks)proto/cosmos/feegrant/v1beta1/feegrant.proto(0 hunks)proto/cosmos/feegrant/v1beta1/genesis.proto(0 hunks)proto/cosmos/feegrant/v1beta1/query.proto(0 hunks)proto/cosmos/feegrant/v1beta1/tx.proto(2 hunks)proto/cosmos/gov/v1/genesis.proto(0 hunks)proto/cosmos/gov/v1/gov.proto(0 hunks)proto/cosmos/gov/v1/query.proto(0 hunks)proto/cosmos/gov/v1/tx.proto(1 hunks)proto/cosmos/group/v1/events.proto(0 hunks)proto/cosmos/group/v1/genesis.proto(0 hunks)proto/cosmos/group/v1/query.proto(0 hunks)proto/cosmos/group/v1/tx.proto(0 hunks)proto/cosmos/group/v1/types.proto(0 hunks)proto/cosmos/staking/v1beta1/authz.proto(0 hunks)proto/cosmos/tx/v1beta1/service.proto(1 hunks)proto/cosmos/upgrade/v1beta1/tx.proto(0 hunks)runtime/module.go(4 hunks)scripts/init-simapp.sh(1 hunks)simapp/app_config.go(1 hunks)store/rootmulti/store.go(7 hunks)x/README.md(1 hunks)x/auth/autocli.go(1 hunks)x/auth/client/cli/tx_multisign.go(1 hunks)x/auth/client/cli/tx_sign.go(2 hunks)x/bank/autocli.go(3 hunks)x/circuit/autocli.go(1 hunks)x/consensus/autocli.go(2 hunks)x/crisis/autocli.go(1 hunks)x/distribution/README.md(2 hunks)x/distribution/autocli.go(4 hunks)x/gov/autocli.go(1 hunks)x/gov/client/cli/prompt.go(1 hunks)x/gov/client/cli/tx.go(1 hunks)x/gov/client/cli/util.go(2 hunks)x/mint/autocli.go(2 hunks)x/protocolpool/README.md(1 hunks)x/slashing/autocli.go(1 hunks)
⛔ Files not processed due to max files limit (4)
- x/staking/autocli.go
- x/staking/client/cli/tx.go
- x/tx/signing/aminojson/internal/aminojsonpb/aminojson.proto
- x/upgrade/autocli.go
💤 Files with no reviewable changes (28)
- proto/cosmos/feegrant/v1beta1/query.proto
- proto/cosmos/feegrant/v1beta1/feegrant.proto
- proto/cosmos/authz/v1beta1/event.proto
- proto/cosmos/feegrant/v1beta1/genesis.proto
- proto/cosmos/gov/v1/genesis.proto
- proto/cosmos/group/v1/query.proto
- proto/cosmos/crypto/hd/v1/hd.proto
- proto/cosmos/upgrade/v1beta1/tx.proto
- proto/cosmos/group/v1/events.proto
- proto/cosmos/crypto/secp256r1/keys.proto
- proto/cosmos/gov/v1/gov.proto
- docs/docs/build/tooling/README.md
- proto/cosmos/group/v1/types.proto
- proto/cosmos/authz/v1beta1/query.proto
- proto/cosmos/authz/v1beta1/authz.proto
- proto/cosmos/authz/v1beta1/tx.proto
- proto/cosmos/crypto/keyring/v1/record.proto
- proto/cosmos/group/v1/genesis.proto
- proto/cosmos/epochs/module/v1/module.proto
- proto/cosmos/epochs/v1beta1/events.proto
- proto/cosmos/gov/v1/query.proto
- proto/cosmos/consensus/v1/tx.proto
- proto/cosmos/staking/v1beta1/authz.proto
- proto/cosmos/epochs/v1beta1/genesis.proto
- docs/docs/build/building-modules/01-module-manager.md
- proto/cosmos/authz/v1beta1/genesis.proto
- proto/cosmos/base/reflection/v2alpha1/reflection.proto
- proto/cosmos/group/v1/tx.proto
🧰 Additional context used
🧬 Code Graph Analysis (17)
baseapp/test_helpers.go (1)
types/context.go (1)
NewContext(125-142)
client/context.go (4)
client/cometbft.go (1)
CometRPC(12-36)crypto/keyring/keyring.go (1)
Keyring(59-106)client/tx_config.go (1)
TxConfig(30-37)client/account_retriever.go (1)
AccountRetriever(19-24)
x/auth/autocli.go (2)
testutil/integration/example_test.go (1)
Example(30-116)version/version.go (1)
AppName(33-33)
x/slashing/autocli.go (2)
version/version.go (1)
AppName(33-33)testutil/integration/example_test.go (1)
Example(30-116)
x/gov/client/cli/util.go (1)
x/gov/client/utils/query.go (1)
Proposer(21-24)
baseapp/abci_test.go (3)
baseapp/baseapp_test.go (1)
NewBaseAppSuite(64-94)baseapp/options.go (1)
SetChainID(111-113)store/rootmulti/store.go (1)
Store(60-83)
x/gov/autocli.go (2)
version/version.go (1)
AppName(33-33)testutil/integration/example_test.go (1)
Example(30-116)
x/auth/client/cli/tx_sign.go (1)
x/auth/client/tx.go (1)
SignTx(34-66)
client/v2/autocli/flag/builder.go (4)
x/tx/signing/context.go (1)
TypeResolver(19-22)client/v2/autocli/builder.go (1)
Builder(11-22)client/v2/autocli/flag/messager_binder.go (1)
MessageBinder(25-37)client/v2/autocli/flag/interface.go (1)
Type(11-17)
client/v2/autocli/msg.go (4)
client/v2/internal/flags/flags.go (1)
FlagNoProposal(19-19)x/gov/client/cli/util.go (2)
AddGovPropFlagsToCmd(129-135)ReadGovPropCmdFlags(141-178)x/auth/types/account.go (1)
NewModuleAddress(158-160)client/tx/tx.go (1)
GenerateOrBroadcastTxCLI(26-33)
x/bank/autocli.go (2)
testutil/integration/example_test.go (1)
Example(30-116)version/version.go (2)
AppName(33-33)Name(31-31)
x/circuit/autocli.go (2)
testutil/integration/example_test.go (1)
Example(30-116)version/version.go (1)
AppName(33-33)
x/consensus/autocli.go (2)
testutil/integration/example_test.go (1)
Example(30-116)version/version.go (1)
AppName(33-33)
x/distribution/autocli.go (2)
testutil/integration/example_test.go (1)
Example(30-116)version/version.go (1)
AppName(33-33)
client/v2/autocli/flag/legacy_dec.go (3)
client/v2/autocli/flag/builder.go (1)
Builder(42-62)client/v2/autocli/flag/interface.go (2)
Value(20-23)Type(11-17)math/legacy_dec.go (1)
LegacyNewDecFromStr(158-206)
runtime/module.go (3)
runtime/builder.go (1)
AppBuilder(17-19)store/types/store.go (2)
TransientStoreKey(414-416)NewTransientStoreKey(420-424)core/store/service.go (1)
TransientStoreService(24-27)
x/mint/autocli.go (2)
version/version.go (1)
AppName(33-33)testutil/integration/example_test.go (1)
Example(30-116)
🪛 markdownlint-cli2 (0.17.2)
docs/docs/build/building-apps/05-app-testnet.md
79-79: Hard tabs
Column: 1
(MD010, no-hard-tabs)
docs/docs/user/run-node/03-txs.md
203-203: Hard tabs
Column: 1
(MD010, no-hard-tabs)
x/protocolpool/README.md
17-17: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
21-21: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
docs/architecture/adr-039-epoched-staking.md
47-47: Bare URL used
null
(MD034, no-bare-urls)
docs/docs/learn/beginner/00-app-anatomy.md
54-54: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
55-55: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
CHANGELOG.md
59-59: Unordered list indentation
Expected: 2; Actual: 4
(MD007, ul-indent)
docs/docs/user/run-node/01-run-node.md
189-189: Bare URL used
null
(MD034, no-bare-urls)
x/distribution/README.md
241-241: Hard tabs
Column: 1
(MD010, no-hard-tabs)
242-242: Hard tabs
Column: 1
(MD010, no-hard-tabs)
243-243: Hard tabs
Column: 1
(MD010, no-hard-tabs)
244-244: Hard tabs
Column: 1
(MD010, no-hard-tabs)
245-245: Hard tabs
Column: 1
(MD010, no-hard-tabs)
246-246: Hard tabs
Column: 1
(MD010, no-hard-tabs)
247-247: Hard tabs
Column: 1
(MD010, no-hard-tabs)
248-248: Hard tabs
Column: 1
(MD010, no-hard-tabs)
269-269: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
271-271: Unordered list style
Expected: asterisk; Actual: dash
(MD004, ul-style)
273-273: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
275-275: Unordered list style
Expected: asterisk; Actual: dash
(MD004, ul-style)
276-276: Unordered list style
Expected: asterisk; Actual: dash
(MD004, ul-style)
🪛 LanguageTool
docs/docs/learn/learn.md
[typographical] ~7-~7: Consider adding a comma after ‘finally’ for more clarity.
Context: ...ockchains, Blockchain Architecture, and finally we begin to explore the main components...
(RB_LY_COMMA)
docs/docs/user/run-node/00-keyring.md
[typographical] ~37-~37: Consider isolating this adverbial phrase with commas.
Context: ...DE_Wallet_Manager). Whilst the former is in fact a libsecret convenient frontend, the ...
(IN_FACT_COMMA_2)
docs/docs/build/building-apps/03-app-upgrade.md
[uncategorized] ~25-~25: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...tall a specially named upgrade handler (eg. "testnet-v2" or even "v0.40.0"). An upg...
(E_G)
docs/docs/build/abci/02-process-proposal.md
[uncategorized] ~10-~10: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ans if ProcessProposal panics or fails and we reject, all honest validator process...
(COMMA_COMPOUND_SENTENCE)
client/v2/README.md
[typographical] ~131-~131: Consider adding two commas here.
Context: ...cli.RpcCommandOptionsstruct. Users can however use the--no-proposal` flag to disable...
(HOWEVER_COMMA)
docs/docs/user/run-node/06-run-production.md
[style] ~14-~14: ‘many different ways’ might be wordy. Consider a shorter alternative.
Context: ...server up securely. :::note There are many different ways to secure a server and your node, the d...
(EN_WORDINESS_PREMIUM_MANY_DIFFERENT_WAYS)
docs/docs/build/abci/00-introduction.md
[style] ~22-~22: ‘in conjunction with’ might be wordy. Consider a shorter alternative.
Context: ...provides PrepareProposalHandler, used in conjunction with an application specific mempool. A cust...
(EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)
[uncategorized] ~22-~22: You might be missing the article “an” here.
Context: ...ool. A custom handler can be written by application developer, if a noop handler provided, ...
(AI_EN_LECTOR_MISSING_DETERMINER_AN)
docs/architecture/PROCESS.md
[uncategorized] ~47-~47: Loose punctuation mark.
Context: ... ABANDONED ``` * DRAFT: [optional] an ADR which is a work in pr...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~48-~48: Loose punctuation mark.
Context: ... a Draft Pull Request form. * PROPOSED: an ADR covering a full solution archite...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~49-~49: Loose punctuation mark.
Context: .... * LAST CALL <date for the last call>: [optional] Notify that we are close to ...
(UNLIKELY_OPENING_PUNCTUATION)
[style] ~49-~49: Consider replacing ‘give’ with a different word to let your writing stand out.
Context: ... has been reached, and we still want to give it a time to let the community react or an...
(GIVE_TIME_STYLE)
[uncategorized] ~50-~50: Loose punctuation mark.
Context: ...community react or analyze. * ACCEPTED: ADR which will represent a currently im...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~51-~51: Loose punctuation mark.
Context: ...mented architecture design. * REJECTED: ADR can go from PROPOSED or ACCEPTED to...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~52-~52: Loose punctuation mark.
Context: ...ill decide so. * SUPERSEDED by ADR-xxx: ADR which has been superseded by a new ...
(UNLIKELY_OPENING_PUNCTUATION)
docs/architecture/adr-039-epoched-staking.md
[uncategorized] ~46-~46: This expression is usually spelled with a hyphen.
Context: ...d to avoid problems, as follows: * For threshold based cryptography, this setting will have th...
(BASED_HYPHEN)
[uncategorized] ~46-~46: This expression is usually spelled with a hyphen.
Context: ...enefit from additional security. If the threshold based cryptography blocks liveness of the cha...
(BASED_HYPHEN)
[style] ~48-~48: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...thub.com/tendermint/spec/issues/199). * For fairness of deterministic leader electi...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~48-~48: Generally speaking, “themself” is only acceptable when referring to a singular entity (such as the singular usage of “they”, which is the preferred pronoun for many non-binary people). If “themself” refers to a plural entity (such as “everybody”, or the standard usage of “they”), you should use “themselves”.
Context: ...ators can adversarially elect to remove themself from the set of proposers. From a secur...
(THEMSELF)
[misspelling] ~48-~48: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...g a proposer can have many advantageous side-effects in chains with complex state machines. ...
(AFFECT_EFFECT)
docs/docs/build/building-modules/00-intro.md
[grammar] ~43-~43: There seems to be a noun/verb agreement error. Did you mean “does not” or “did not”?
Context: ...needed for their specific use case that do not exist yet, and will use existing module...
(SINGULAR_NOUN_AGREEMENT_WHO_DO_NOT)
[uncategorized] ~58-~58: A punctuation mark might be missing here.
Context: ...sing the store(s) of the module via the keeper. * **Specializa...
(AI_EN_LECTOR_MISSING_PUNCTUATION)
docs/docs/build/building-apps/00-runtime.md
[uncategorized] ~41-~41: Loose punctuation mark.
Context: ...he following key settings: * app_name: The name of the application * `begin_bl...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~52-~52: A comma may be missing after the conjunctive/linking adverb ‘However’.
Context: ... uses the module name as the store key. However it provides a flexible store key config...
(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
[uncategorized] ~55-~55: Loose punctuation mark.
Context: ...ration through: * override_store_keys: Allows customizing module store keys * ...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~95-~95: You might be missing the article “the” here.
Context: ...possible. ### 3. Service Registration Runtime registers all [core services](https://p...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~97-~97: You might be missing the article “the” here.
Context: ...vent manager, context, and logger`. Runtime ensures that services are scoped to the...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[grammar] ~104-~104: Use the plural noun, or add a word such as ‘the’ or ‘some’ in front of ‘other’.
Context: ...time provides automatic registration of other essential (i.e., gRPC routes) services available ...
(OTHER_NN)
docs/docs/build/building-apps/01-app-go-di.md
[uncategorized] ~43-~43: The preposition ‘in’ seems more likely in this position.
Context: ...: In this configuration, the order at which the modules are defined in PreBlo...
(AI_HYDRA_LEO_REPLACE_AT_IN)
[grammar] ~70-~70: Consider using either the past participle “embedded” or the present participle “embedding” here.
Context: ...r JSON. The configuration can then be embed with go:embed and read with [`appconf...
(BEEN_PART_AGREEMENT)
[uncategorized] ~152-~152: A comma may be missing after the conjunctive/linking adverb ‘Otherwise’.
Context: ...nually constructed instead of injected. Otherwise it will miss the non depinject modules ...
(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)
docs/docs/learn/beginner/00-app-anatomy.md
[style] ~57-~57: Consider a shorter alternative to avoid wordiness.
Context: ...rialize and deserialize data structures in order to store them, as stores can only persist ...
(IN_ORDER_TO_PREMIUM)
[uncategorized] ~60-~60: Possible missing comma found.
Context: ...ion from simapp, the Cosmos SDK's own app used for demo and testing purposes: ``...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/spec/addresses/bech32.md
[uncategorized] ~19-~19: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ... form. To convert between other binary representation of addresses and keys, it is important ...
(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
docs/docs/user/run-node/01-run-node.md
[locale-violation] ~158-~158: In American English, “take a look” is more commonly used.
Context: ...n localnet with Docker Compose, you can have a look at the Cosmos SDK's [`docker-compose.ym...
(HAVE_A_LOOK)
UPGRADING.md
[uncategorized] ~93-~93: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...l x/epochs module provides Cosmos SDK modules functionality to register and execute c...
(AI_HYDRA_LEO_APOSTROPHE_S_XS)
docs/docs/learn/advanced/01-transactions.md
[uncategorized] ~131-~131: The preposition “to” seems more likely in this position.
Context: ...interface contains data closely related with the generation of transactions, which a...
(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)
[uncategorized] ~138-~138: Loose punctuation mark.
Context: ...ncluded in the transaction. * GasLimit, option chosen by the users for how to c...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~139-~139: Loose punctuation mark.
Context: ...much gas they will need to pay. * Memo, a note or comment to send with the tran...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~140-~140: Loose punctuation mark.
Context: ...send with the transaction. * FeeAmount, the maximum amount the user is willing ...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~141-~141: Loose punctuation mark.
Context: ...illing to pay in fees. * TimeoutHeight, block height until which the transactio...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~142-~142: Loose punctuation mark.
Context: ... the transaction is valid. * Unordered, an option indicating this transaction m...
(UNLIKELY_OPENING_PUNCTUATION)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Summary
🔇 Additional comments (183)
proto/cosmos/epochs/v1beta1/query.proto (3)
7-7: New Import for Versioning Metadata
The addition ofimport "cosmos_proto/cosmos.proto";correctly brings in versioning metadata support. Please ensure that the dependency is available in your build system and that its versioning semantics are in line with your project requirements.
15-16: Add RPC Version Annotation for EpochInfos
The new optionoption (cosmos_proto.method_added_in) = "cosmos-sdk 0.53";for theEpochInfosRPC method is a clear way to document when the method was added. Verify that the version string reflects the intended API version and that it remains in sync with related documentation.
20-21: Version Annotation for CurrentEpoch RPC Method
Similarly, the added option for theCurrentEpochRPC method reinforces documentation consistency. Ensure that this annotation is maintained across future modifications and that any changes in API versions are appropriately updated in both code and documentation.docs/spec/addresses/bech32.md (1)
19-19: Fixed typographical error.Corrected the spelling error from "covert" to "convert" for improved documentation clarity.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~19-~19: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ... form. To convert between other binary representation of addresses and keys, it is important ...(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
docs/spec/fee_distribution/f1_fee_distr.tex (1)
105-105: Fixed typographical error.Corrected the spelling error from "occured" to "occurred" in the slashing example description.
scripts/init-simapp.sh (1)
10-10: Added default keyring key name configuration.This line sets "alice" as the default key name for the keyring, eliminating the need to use the
--fromflag when signing transactions in the simapp environment. This is part of a broader effort to improve the user experience by reducing command verbosity.x/gov/client/cli/tx.go (1)
30-31: Added expedited proposal flag constant.The new
FlagExpeditedconstant supports the expedited proposal feature in the governance module. This allows proposals to be processed more quickly through the governance pipeline when needed.The flag is already referenced in the proposal example JSON on line 116, so this addition properly defines the constant that was previously being used.
docs/docs/user/run-node/05-run-testnet.md (1)
37-37: Typo Correction in "gentxs" Section.
The description now correctly uses "initialization" (instead of the previously misspelled version) to explain how genesis transactions are handled.docs/docs/build/building-modules/15-depinject.md (1)
124-124: Updated Hyperlink for App Wiring Documentation.
The link has been modified to point to[overview of app_go_di]instead of the old reference, ensuring users are directed to the correct documentation page.x/README.md (1)
43-45: Absolute URL Update for Release Process.
The relative link for the release process has been replaced with an absolute URL, improving accessibility and ensuring that the reference remains valid regardless of context.x/gov/client/cli/prompt.go (1)
56-57: Clarifying Future Enhancements in Prompt.
The newly added TODO comments regarding using a proto message for autocli integration and simplifying the address logic provide useful guidance for future improvements.x/crisis/autocli.go (1)
25-25: Documentation update reflects module deprecation statusThe comment update clearly indicates that the Crisis module is deprecated, which helps developers understand why the UpdateParams RPC method is skipped.
client/prompt_validation.go (1)
50-50: Improved documentation clarityThe comment now more accurately describes what the function does - it validates that the input string contains valid sdk.Coins rather than suggesting it validates that the input itself is sdk.Coins.
docs/spec/SPEC_MODULE.md (2)
27-27: Standardized American English spellingChanged "marshalled" to "marshaled" to maintain consistent American English spelling throughout the documentation.
29-29: Standardized American English spellingChanged "behaviour(s)" to "behavior(s)" to maintain consistent American English spelling throughout the documentation.
x/auth/client/cli/tx_multisign.go (1)
76-77:Details
❓ Verification inconclusive
Auto-setting the --from flag to the multisig key name
This change improves usability by automatically setting the
--fromflag to match the multisig key name (args[1]) provided in the command arguments.While this change is useful, it's ignoring error handling. Let's verify if this is acceptable by checking how similar patterns are handled elsewhere:
🏁 Script executed:
#!/bin/bash # Check how error handling is done for Flags().Set elsewhere in the codebase rg "Flags\(\)\.Set.*_\s*=" -A 2 -B 2Length of output: 38
Manual Verification Recommended: Assessing Error Ignorance in Flag Setting
The change to automatically set the
--fromflag (using_ = cmd.Flags().Set(flags.FlagFrom, args[1])) clearly improves usability by aligning the flag with the multisig key name from the command arguments. In my verification, I attempted to locate similar usages ofFlags().Setthat handle errors explicitly, but no instances were found—even with broader searches—indicating that error handling for this operation may not be consistently applied in the codebase.
- File:
x/auth/client/cli/tx_multisign.go(Lines 76–77)- Observation: The error returned from
cmd.Flags().Setis discarded.- Inference: Since no alternative error-handling patterns were detected for flag settings, this practice appears to be in line with the existing code.
Action:
Please perform a manual review to confirm that ignoring errors fromcmd.Flags().Setis acceptable under all expected circumstances. If there’s any potential for failure that could impact command execution, consider adding appropriate error handling.docs/architecture/adr-039-epoched-staking.md (1)
48-48: Stake Derivative Design NoteThe note regarding staking derivative design concisely states that no additional state is introduced by querying the slash occurrence. This is clear and aligns with the ADR’s context.
🧰 Tools
🪛 LanguageTool
[style] ~48-~48: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...thub.com/tendermint/spec/issues/199). * For fairness of deterministic leader electi...(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~48-~48: Generally speaking, “themself” is only acceptable when referring to a singular entity (such as the singular usage of “they”, which is the preferred pronoun for many non-binary people). If “themself” refers to a plural entity (such as “everybody”, or the standard usage of “they”), you should use “themselves”.
Context: ...ators can adversarially elect to remove themself from the set of proposers. From a secur...(THEMSELF)
[misspelling] ~48-~48: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...g a proposer can have many advantageous side-effects in chains with complex state machines. ...(AFFECT_EFFECT)
docs/docs/user/user.md (2)
1-3: YAML Front Matter ValidationThe YAML front matter is correctly defined with a
sidebar_positionset to 0, ensuring proper ordering in the documentation sidebar.
4-11: User Guides Content ReviewThe new "User Guides" section is well structured and provides clear, actionable links for topics like key management, node deployment, and CLI usage. Please ensure that all referenced markdown files (e.g.,
00-keyring.md,01-run-node.md,02-interact-node.md) exist and are correctly linked.docs/pre.sh (1)
47-47: Adding New Upgrade Guide DocumentationThe new step to copy
../UPGRADE_GUIDE.mdto./docs/build/migrations/03-upgrade-guide.mdenhances clarity by separating upgrade instructions into distinct references. This change appears consistent with the revised docs structure.docs/docs/user/run-node/06-run-production.md (1)
51-51: Firewall Section UpdateThe updated Firewall section clearly warns against leaving all ports open and recommends best practices as suggested by CometBFT. Ensure that the URL (
https://github.com/cometbft/cometbft) is fully qualified and clickable.client/config/toml.go (1)
22-23: LGTM! Clear enhancement to client configuration.Adding a default key name option to the client configuration is a useful feature that will improve user experience by eliminating the need to specify the
--fromflag repeatedly.proto/cosmos/tx/v1beta1/service.proto (1)
101-101: Good improvement to field versioning metadata.Replacing the comment-based version annotation with a formal protocol buffer option is a cleaner approach that enables programmatic detection of field versioning.
docs/docs/build/abci/03-vote-extensions.md (2)
10-11: Documentation improvements for ABCI reference.The text clarification and updated version reference improve the documentation accuracy.
31-31: Updated link to appropriate documentation.The link to the vote extensions walkthrough now points to a more appropriate documentation page.
docs/docs/user/run-node/00-keyring.md (2)
11-11: Improved terminology clarity.The use of "key pairs" instead of "keypairs" is more precise and consistent with common terminology.
100-100: Fixed spacing issue.Removed extra space after "Kernel Key Retention Service*".
docs/docs/learn/intro/03-sdk-design.md (3)
42-53: Great improvement to the visualization!The updated Mermaid flowchart provides a much clearer visual representation of the transaction processing flow compared to the previous text-based diagram. The flowchart clearly shows how transactions move from CometBFT through the application's various modules and back.
62-62: Correct grammatical updateThe change from "Proof-Of-Stake" to "Proof-of-Stake" follows proper capitalization conventions.
64-64: Improved phrasing for clarityThe rephrasing of this sentence makes it clearer that users can build their own custom modules in addition to using the existing ones.
client/config/config.go (3)
16-16: Good default for new configuration fieldThe empty string is an appropriate default value for the new
KeyringDefaultKeyNamefield, making it an optional configuration parameter.
26-26: Useful new configuration optionAdding the
KeyringDefaultKeyNamefield to theClientConfigstruct is a good enhancement that will allow users to specify a default key name, eliminating the need to use the--fromflag in many cases.
100-101: Proper integration of new configuration optionThe update to
ReadFromClientConfigcorrectly integrates the newKeyringDefaultKeyNamefield into the client context, ensuring it's properly passed along to the appropriate components.docs/architecture/README.md (2)
39-39: Grammar correctionThe addition of commas when listing the RFC 2119 keywords improves the readability and follows proper grammatical rules.
63-89:Details
❓ Verification inconclusive
ADR entries removed from the list
The removal of entries for ADR 067, ADR 069, and ADR 074 from the list of proposed ADRs suggests these ADRs might have been merged, rejected, or moved elsewhere. This is a legitimate update to the documentation.
🏁 Script executed:
#!/bin/bash # Check the status of the removed ADRs to understand why they were removed from the list # Check if the ADR files still exist in the repository echo "Checking if the ADR files still exist:" fd --type f "adr-067-simulator-v2.md|adr-069-gov-improvements.md|adr-074-implicit-msg-signers.md" docs/architecture/ # If they exist, check if they've been moved or possibly marked with a different status echo "Checking if the ADRs might have been accepted (moved from 'Proposed' to 'Accepted'):" grep -A 5 -B 5 "ADR 067\|ADR 069\|ADR 074" docs/architecture/README.mdLength of output: 469
Documentation Update: Confirmed Removal of ADR 067, ADR 069, and ADR 074
The updated documentation in
docs/architecture/README.mdno longer lists ADR 067, ADR 069, and ADR 074, which supports the notion that these proposals have been merged, rejected, or relocated. A preliminary search in the repository did not reveal any remaining references to these ADRs, indicating that the removals are intentional.Please ensure a manual verification to confirm that these changes were deliberate and that no residual references exist elsewhere.
crypto/keyring/keyring.go (1)
952-954: Improved error message for better user experienceAdding a more specific error message when no key name or address is provided is a user-friendly enhancement. The message clearly indicates what might be wrong (missing the
--fromflag) which helps users troubleshoot the issue more easily.This change aligns well with the addition of the
KeyringDefaultKeyNamefield in the client configuration, creating a more cohesive user experience around key management.baseapp/test_helpers.go (1)
63-67: Good fix for addressing race conditions in state access.The changes to
NewContextLegacyreplace direct access to state variables with calls to the synchronizedgetStatemethod. This is a proper way to prevent race conditions by centralizing access through a synchronized accessor method.This appears to directly address the PR's objective of fixing the "race condition between Commit and CreateQueryContext" by ensuring thread-safe access to application state.
docs/spec/SPEC_STANDARD.md (1)
3-78: Documentation improvements approved.The changes improve grammar and consistency throughout the document by fixing article usage ("An SDK" instead of "A SDK"), standardizing terminology ("subsection" instead of "sub-section"), and making other minor grammatical corrections.
docs/architecture/PROCESS.md (1)
4-52: Documentation improvements approved.The changes correct grammatical issues and improve clarity throughout the document, including fixing the spelling of "synchronous", improving sentence structure, and ensuring consistent punctuation.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~47-~47: Loose punctuation mark.
Context: ... ABANDONED ``` *DRAFT: [optional] an ADR which is a work in pr...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~48-~48: Loose punctuation mark.
Context: ... a Draft Pull Request form. *PROPOSED: an ADR covering a full solution archite...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~49-~49: Loose punctuation mark.
Context: .... *LAST CALL <date for the last call>: [optional] Notify that we are close to ...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~49-~49: Consider replacing ‘give’ with a different word to let your writing stand out.
Context: ... has been reached, and we still want to give it a time to let the community react or an...(GIVE_TIME_STYLE)
[uncategorized] ~50-~50: Loose punctuation mark.
Context: ...community react or analyze. *ACCEPTED: ADR which will represent a currently im...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~51-~51: Loose punctuation mark.
Context: ...mented architecture design. *REJECTED: ADR can go from PROPOSED or ACCEPTED to...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~52-~52: Loose punctuation mark.
Context: ...ill decide so. *SUPERSEDED by ADR-xxx: ADR which has been superseded by a new ...(UNLIKELY_OPENING_PUNCTUATION)
docs/docs/build/abci/01-prepare-proposal.md (3)
27-27: Text improvement approved.Removing redundancy from "you must be sure to ensure" to simply "you must ensure" makes the instruction clearer.
32-36: Documentation reference updates approved.The URL reference has been updated to point to a newer version of the SDK (v0.53.0-rc.2), and the file reference has been updated from
app.gotoapp_di.gowith the correct path. These updates help keep documentation in sync with code changes.
40-41: Code formatting improvement approved.The indentation in the code example has been corrected, improving readability.
docs/docs/build/abci/02-process-proposal.md (4)
9-9: Clearer determinism requirementThe change from "MAY NOT be non-deterministic" to "MUST be deterministic" provides a clearer and more direct requirement for implementing
ProcessProposal. This positive change eliminates any ambiguity around the determinism requirement.
11-12: Improved clarity on ProcessProposal failure consequencesThe updated explanation better clarifies what happens when
ProcessProposalfails, specifically mentioning that honest validators will prevote nil and CometBFT will initiate a new round.
17-17: Updated reference linkThe reference link has been updated to point to a newer version of the code (v0.53.0-rc.2 instead of v0.50.0-alpha.0), which helps keep documentation in sync with the latest implementation.
20-21: Correct filename referenceThe documentation now correctly references
app_di.goinstead ofapp.go, which aligns with the actual file structure where application developers should modify the implementation.docs/docs/build/abci/00-introduction.md (4)
5-5: Fixed ABCI acronym and improved clarityThe correction from "ABC" to "ABCI" and restructuring of the sentence clarifies that CometBFT 0.38 included ABCI 2.0, which added several new methods.
7-7: Consistent phrasingThe change from "introduced during ABCI 2.0" to "introduced in ABCI 2.0" improves language consistency.
20-20: Clearer subject referenceChanging "Based on their voting power" to "Based on validator voting power" makes it explicitly clear who the voting power belongs to.
51-51: Added period for grammatical correctnessAdding a period at the end of the
FinalizeBlockdescription makes the documentation grammatically consistent with other sections.proto/cosmos/consensus/v1/query.proto (2)
6-6: Added import for cosmos_protoThe addition of the cosmos_proto import is necessary to support the new method versioning annotation.
14-15: Added method versioning metadataThe reformatted HTTP path option and new cosmos_proto annotation provide important versioning information, indicating this method was added in cosmos-sdk 0.47. This is valuable for compatibility and deprecation tracking.
client/context.go (3)
40-40: Added KeyringDefaultKeyName field to Context structThis new field allows the Context to store a default key name, which is a valuable usability enhancement.
184-188: Added WithKeyringDefaultKeyName methodThe new method follows the established pattern of all other "With" methods in the Context struct, allowing for a fluent interface when setting the default key name.
392-395: Enhanced GetFromFields to use default key nameThis enhancement improves user experience by using the specified default key when no explicit key is provided. The notification to the user about using the default key is also helpful for transparency.
This change aligns with the PR objective of addressing race conditions between Commit and CreateQueryContext by providing a more stable default behavior when no key is specified.
docs/docs/user/run-node/03-txs.md (2)
182-214: Well-structured new section on unordered transactions!This new section clearly explains the unordered transactions feature added in Cosmos SDK v0.53.0, including implementation details and important considerations like the additional gas cost and unique timestamp requirements. The code examples are helpful and well-documented.
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
203-203: Hard tabs
Column: 1(MD010, no-hard-tabs)
306-306: Minor text improvement for clarityThe change from "The preferred way..." to just "The preferred way..." improves the clarity of this statement about transaction broadcasting methods.
client/v2/README.md (2)
113-113: Minor capitalization change in headerThe header capitalization has been updated from "Module Wiring & Customization" to "Module wiring & Customization" for consistency with document style.
162-203: Great addition explaining flattened fields in positional argumentsThis new section clearly explains how to use dot notation to access nested message fields as positional arguments, making the CLI more user-friendly. The protobuf example and configuration samples are particularly helpful for understanding the implementation.
docs/docs/build/building-modules/00-intro.md (3)
26-41: Improved visualization with mermaid diagramThe replacement of a text-based flowchart with a mermaid diagram significantly improves the visualization of the transaction flow in Cosmos SDK applications. The diagram clearly shows how transactions are routed through the various modules and processed by the application.
46-46: Terminology update: "Modules as super-users"The terminology has been updated from "Modules as Sudo" to "Modules as super-users" for clarity and to avoid technical jargon.
58-58: Updated reference link for consistencyThe reference link has been updated from "#main-components-of-sdk-modules" to "#main-components-of-cosmos-sdk-modules" to match the actual section heading in the document.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~58-~58: A punctuation mark might be missing here.
Context: ...sing the store(s) of the module via thekeeper. * **Specializa...(AI_EN_LECTOR_MISSING_PUNCTUATION)
x/auth/autocli.go (1)
83-89: Enhanced UpdateParams command with governance proposal supportThe
UpdateParamsRPC command has been significantly improved by adding detailed usage information and enabling it as a governance proposal. This change follows a pattern seen in other modules to provide a consistent approach to parameter updates through governance.The example provided is clear and demonstrates the expected JSON format for the parameters. This will help users understand how to structure their parameter update proposals correctly.
docs/docs/learn/advanced/05-encoding.md (4)
94-94: Good reference update to ADR-020.
Linking directly to the release branch is helpful for ensuring users read the matching version of the documentation.
115-115: Clear improvement to referencing ADR-019.
Switching to the absolute link improves clarity for readers referencing Protobuf state encoding details.
184-184: Consistent usage of absolute links for ADR references.
No issues found; this aids in documentation maintainability.
249-249: Properly referencing ADR-023.
This is aligned with the other references and promotes consistent documentation.baseapp/baseapp.go (6)
121-124: Helpful documentation note about accessing states.
Adding this comment clarifies how to avoid race conditions when manipulating states.
501-502: Locking and unlocking around setState.
Using a write lock here properly secures shared state updates.
523-543: New clearState function to reset states.
Ensuring we acquire the lock for setting these pointers to nil prevents race conditions when clearing states.
747-748: Ensuring concurrency safety in preBlock.
Using getState for concurrent access is aligned with the new mutex strategy.
774-774: Consistent usage of getState in beginBlock.
Locking the state before passing it to blockers further prevents data races.
129-129:Details
✅ Verification successful
Introduction of RWMutex for concurrency control.
This is a solid approach to preventing data races on shared state.Please verify that no direct accesses to these state fields bypass locking. You can run the following script to search for direct usage without getState/setState calls:
🏁 Script executed:
#!/bin/bash # Search for direct references to checkState, prepareProposalState, processProposalState, finalizeBlockState rg 'checkState|prepareProposalState|processProposalState|finalizeBlockState' -A 3 -B 3Length of output: 45779
Focus: Verified proper encapsulation of state fields with RWMutex.
The grep output confirms that accesses to the volatile states (checkState, prepareProposalState, processProposalState, finalizeBlockState) occur exclusively via the getter and setter methods defined in baseapp/baseapp.go. The inline comments also reinforce that direct access is disallowed, ensuring that the
stateMutlock is consistently used to protect these fields.No instances were found where these state fields were accessed directly without locking.
x/bank/autocli.go (5)
4-4: Import of fmt is fine.
No concerns here; standard usage.
9-10: Import updates for bankv1beta1 and version.
These additions look correct, supporting reference to the app version in command examples.
94-94: EnhanceCustomCommand set to true.
Enabling custom command enhancements can help with CLI usability.
107-112: New RPC command definition for UpdateParams.
Great addition for governance proposals, providing a clear usage example with version-based placeholders.
115-124: SetSendEnabled command for governance.
This proposal-based approach, including flag options for deleting entries, is well-structured and user-friendly.baseapp/abci_test.go (1)
2528-2574: Well-structured test for race condition between Commit and Query operations.This test effectively simulates concurrent query creation during block finalization and committing, addressing a race condition scenario. The atomic counter and context cancellation provide a clean way to manage and track concurrent operations.
I would suggest adding a brief comment explaining the specific race condition this test is addressing to improve test documentation. Also, consider using
t.Parallel()to allow this test to run concurrently with other tests for better test suite performance.UPGRADE_GUIDE.md (1)
1-481: Comprehensive upgrade guide with clear instructions.The guide effectively covers both the required change and optional features, with detailed instructions for manual and DI wiring approaches. The warning about
x/protocolpoolmodule's impact onx/distributionfunctionality is particularly important.The document is well-structured and includes detailed examples. For additional clarity, you might consider adding a brief section explaining the benefits of each optional module to help users make informed decisions about which features to implement.
baseapp/abci.go (10)
67-68: Proper state access via getter method.Using a centralized getter method ensures proper synchronization for state access.
85-86: Consistent pattern for state access.Using the state getter method consistently throughout the code improves maintainability and ensures thread-safety.
Also applies to: 92-93
105-107: Consistent state access for context update.Using the getter method to access final state context for updating with gas meter and passing to initChainer.
416-433: Consistent pattern for proposal context creation.The state getter is consistently used for all context manipulations in PrepareProposal handler, properly maintaining state access patterns.
505-522: Thread-safe state access in ProcessProposal.The refactoring ensures that all state access is properly synchronized through the getter method.
738-742: Protected state initialization.Ensures proper state initialization is synchronized in internalFinalizeBlock.
765-773: Thread-safe gas meter handling.Gas meter setup is synchronized via state getter methods, preventing potential race conditions.
798-800: Gas meter reset through proper state access.Consistently uses the state getter for gas meter reset before transaction processing.
837-842: Consistent tracing context and endBlock handling.The changes maintain the pattern of using state getters for all operations, ensuring thread safety.
943-984: Safe state access in Commit method.The commit process now safely accesses state through getters and properly clears finalize state.
x/slashing/autocli.go (1)
49-56: Enhanced CLI command for UpdateParams governance proposals.The improved command definition now includes detailed usage information, descriptions, and example formatting. This makes it more accessible for users to submit governance proposals to update slashing parameters.
The example could be more specific by providing a complete sample JSON instead of using ellipsis, which would make it easier for users to understand the expected format.
x/auth/client/cli/tx_sign.go (2)
272-272: Confirm usage ofclientCtx.FromName.
This line now relies on theFromNamefield in the client context instead of the--fromflag. Ensure that any logic that sets or populatesclientCtx.FromNameis correct and handles edge cases (e.g., default key name or no key name).
458-458: Double-checkclientCtx.FromNameusage for signing.
Replacing the previously retrievedfromparameter withclientCtx.FromNamemay introduce unexpected behavior if no default key name is configured. Verify that the flow correctly populatesFromNamein all scenarios.store/rootmulti/store.go (1)
13-13: LGTM on atomic pointer usage forlastCommitInfo.
These changes safely transition from a pointer to anatomic.Pointer, enhancing concurrency protection. The loading and storing mechanisms appear correctly applied.Also applies to: 63-63, 300-300, 449-450, 458-458, 462-462, 467-467, 491-493, 495-495, 518-518
x/gov/client/cli/util.go (3)
137-141: Function signature refactored for better modularityThe function has been renamed from
ReadGovPropFlagstoReadGovPropCmdFlagswith a significant change in the parameter signature. Instead of accepting aclient.Context, it now accepts a directproposer string. This decouples the function from the client context dependency and makes it more flexible for various calling scenarios.
175-175: Simplification of proposer assignmentThe code now directly assigns the proposer parameter to
rv.Proposerinstead of deriving it from the client context. This is more direct and aligns with the function signature change.
180-187: Good backward compatibility approachAdding a deprecated version of the original function that calls the new implementation is a good practice for maintaining backward compatibility while encouraging migration to the new API.
x/circuit/autocli.go (2)
40-44: Improved command UX with structured parametersThe command signature has been restructured from using a complex JSON input to a more user-friendly format with separate parameters. The new design with specific level options (some-msgs, all-msgs, super-admin) and varargs for message type URLs provides a better user experience.
The updated example and long description also provide clearer guidance on how to use the command.
46-48: Enhanced command parameter structureBreaking down the permissions into separate parameters (
permissions.levelandpermissions.limit_type_urls) with varargs support for multiple message type URLs is a significant UX improvement. This change makes the command more intuitive by aligning the CLI interface more closely with the underlying data model.x/mint/autocli.go (2)
3-10: Added necessary imports for enhanced command functionalityAdded imports for
fmtandversionpackages to support the enhanced command structure with formatted examples and descriptive help text.
38-45: Improved governance proposal command interfaceThe
UpdateParamscommand has been enhanced with detailed usage instructions, short and long descriptions, and examples. This makes it easier for users to understand how to use the command correctly. The addition of theGovProposal: trueflag properly categorizes this as a governance proposal command.The long description now includes a helpful tip for users to learn about the required fields by running a query command.
proto/cosmos/feegrant/v1beta1/tx.proto (3)
24-26: Added version metadata for API managementThe
PruneAllowancesRPC method now includes versioning information, indicating it was added in "cosmos-sdk v0.50.0". This helps with API versioning and compatibility tracking.
65-67: Added version metadata to message definitionThe
MsgPruneAllowancesmessage now includes version information through thecosmos_proto.message_added_inoption, properly documenting when this message was introduced.
73-75: Added version metadata to response messageThe
MsgPruneAllowancesResponsemessage now includes version information, completing the versioning metadata for the entire RPC call chain.docs/docs/learn/advanced/01-transactions.md (2)
142-143: LGTM: New transaction options added for unordered transactions.The new
UnorderedandTimeoutTimestampoptions in theTxBuilderinterface are well-documented and properly integrate with the new unordered transactions feature.🧰 Tools
🪛 LanguageTool
[uncategorized] ~142-~142: Loose punctuation mark.
Context: ... the transaction is valid. *Unordered, an option indicating this transaction m...(UNLIKELY_OPENING_PUNCTUATION)
204-222: Well-documented feature for unordered transactions.The new section provides clear and comprehensive documentation for the unordered transactions feature introduced in v0.53.0, explaining:
- How timestamps are used as nonce values
- Requirements for these timestamps
- State management of unordered transactions
- Link to the upgrade guide for implementation
This addition aligns well with the corresponding code changes and will be valuable for developers implementing this feature.
client/v2/CHANGELOG.md (1)
39-49: LGTM: Well-structured changelog entries.The new entries for Features, Improvements, and Bug Fixes follow the prescribed changelog format and provide clear information about the changes made.
x/consensus/autocli.go (2)
4-10: LGTM: Added necessary imports.The additions of the
fmtandversionpackages are appropriate for supporting the new command structure with formatted examples.
33-44: Well-structured governance proposal command.The update to the
UpdateParamscommand transforms it into a proper governance proposal command with:
- Clear usage pattern
- Descriptive help text
- Well-formatted example using the app name
- Appropriate positional arguments for the consensus parameters
- GovProposal flag set to true
This change improves the CLI interface and follows the pattern used in other modules for governance proposals.
x/gov/autocli.go (1)
134-141: Consistent governance proposal command structure.The implementation of the
UpdateParamscommand for the gov module follows the same pattern used in other modules:
- Clear usage pattern
- Comprehensive help text with instructions for viewing current parameters
- Well-formatted example
- Appropriate positional argument
- GovProposal flag set to true
This consistency across modules improves the developer experience and makes the CLI more intuitive.
docs/docs/user/run-node/01-run-node.md (10)
24-24: Punctuation improvement.Adding the comma after "most importantly" improves readability by properly setting off this phrase from the rest of the sentence.
34-34: Grammar correction.Fixed plural form "commands" to singular "command" for proper subject-verb agreement.
102-102: Proper comma usage with abbreviation.Adding a comma after "i.e." follows proper punctuation rules for abbreviations.
156-156: Fixed verb agreement.Changed "allow" to "allows" to match the singular subject "command."
158-158: Improved sentence structure with proper comma usage.Added a comma after "however" to properly separate the introductory clause.
The static analysis tool suggests using "take a look" instead of "have a look" for American English, but both phrases are acceptable and the current wording is clear.
🧰 Tools
🪛 LanguageTool
[locale-violation] ~158-~158: In American English, “take a look” is more commonly used.
Context: ...n localnet with Docker Compose, you can have a look at the Cosmos SDK's [`docker-compose.ym...(HAVE_A_LOOK)
169-169: Clarified logging level description.Rewording this sentence improves clarity by directly stating the default logging level rather than implying it.
187-187: Fixed verb agreement.Changed "work" to "works" to maintain proper subject-verb agreement with "state sync."
191-191: Improved sentence conciseness.Simplified the sentence for better readability by removing the redundant phrase "in order to."
211-211: Added missing article.Added "the" before "following commands" for grammatical correctness.
216-216: Fixed spacing.Removed extra space in "Export app state to snapshot store" for consistency.
UPGRADING.md (4)
1-16: Clear and concise upgrade introduction.The title change to "Upgrade Reference" and the concise introduction effectively communicate the purpose of this document. The inclusion of a "TLDR" section provides a quick overview of major new features, which helps users get a high-level understanding before diving into details.
17-65: Well-structured unordered transactions documentation.The documentation for unordered transactions is clear and detailed:
- It explicitly states this is an opt-in feature
- It explains the client requirements (setting
unorderedflag andtimeout_timestamp)- It provides implementation details with code examples
- It outlines the default configuration values
This section provides all the necessary information for developers to understand and implement this feature.
67-83: Critical app wiring changes clearly highlighted.This section properly emphasizes the mandatory change of setting the
PreBlockerin the module manager. The code example is straightforward and the "That's it" closing statement makes it clear that this is the only required change.
142-155: Clear documentation of flag changes.This section clearly documents the changes to the
testnetcommand's flags, which is important for users upgrading from previous versions who may have scripts or documentation referring to the old flags.runtime/module.go (6)
6-6: Added import forslicespackage.Added import for the standard library
slicespackage to support the newslices.Containscheck in the store key provider functions.
221-225: Added early return for skipped transient store keys.Similar to the KVStoreKey function, this change adds a check to bypass transient store key creation when the key is included in the config.SkipStoreKeys list. The implementation is consistent with the KVStoreKey function.
231-235: Added early return for skipped memory store keys.Similar to the other store key functions, this change adds a check to bypass memory store key creation when the key is included in the config.SkipStoreKeys list. The implementation is consistent across all three store key functions.
250-252: Updated ProvideMemoryStoreService function call.Updated to pass the config parameter to the ProvideMemoryStoreKey function, maintaining consistency with the function signature changes.
255-257: Updated ProvideTransientStoreService function call.Updated to pass the config parameter to the ProvideTransientStoreKey function, maintaining consistency with the function signature changes.
202-206:Details
✅ Verification successful
Added early return for skipped store keys.
This change adds a check to bypass store key creation when the key is included in the
config.SkipStoreKeyslist. This is likely part of the fix for the race condition mentioned in the PR title, by preventing certain store keys from being created and accessed.
🏁 Script executed:
#!/bin/bash # Check if there are any callers that might be affected by the updated function signature # Look for direct calls to ProvideKVStoreKey rg -A 3 "ProvideKVStoreKey\(" --type goLength of output: 700
Early Return Confirmed for Skipped Store Keys
- The updated
ProvideKVStoreKeyinruntime/module.gonow correctly bypasses store key creation by returning nil when the key exists inconfig.SkipStoreKeys.- A search for call sites (in both
runtime/module.goanddepinject/container_test.go) confirms that the change is localized and that callers are already set up to handle the nil return.- This early exit should help address the race condition by avoiding unnecessary creation and access of specific store keys.
- Please double-check that any downstream processing of the returned key safely handles a nil value.
simapp/app_config.go (1)
139-141:Details
✅ Verification successful
Added configuration to skip "tx" store key.
This change configures the application to skip creating a store key for the "tx" module. This works in conjunction with the changes in
runtime/module.goand is likely a key part of the race condition fix mentioned in the PR title.The "tx" module is configured with
SkipAnteHandler: trueon line 228, suggesting these changes are coordinated to address the race condition.
🏁 Script executed:
#!/bin/bash # Check if there are other usages of "tx" store key in the codebase that might be affected # Look for references to tx store key rg -A 3 "\"tx\".*StoreKey" --type go # Check for any direct usage of the tx module that might be affected rg -A 5 "\btx\b.*[sS]tore" --type goLength of output: 596
Final Verification: "tx" Store Key Configuration Confirmed
The new configuration in
simapp/app_config.gocorrectly skips creating a store key for the"tx"module. Our repository search did not reveal any adverse dependencies or missing updates—only incidental usage inserver/mock/tx.gothat is isolated from production code. The configuration appears coordinated with the adjustments inruntime/module.goand the usage ofSkipAnteHandler: truein the tx module (line 228), effectively addressing the intended race condition.proto/cosmos/gov/v1/tx.proto (3)
20-22: Metadata improvements: Well-documented API versionsAdding version metadata is a good practice for backward compatibility and documentation purposes.
26-28: Consistent version metadata addedGood approach to consistently document when methods were added across all RPCs.
31-33: Version tracking complete for all Gov RPCsThe version annotations complete the documentation for these methods, maintaining consistency with other methods in the file that already had the version metadata (like
UpdateParamsandCancelProposal).Also applies to: 36-38, 41-43
docs/docs/build/building-apps/05-app-testnet.md (1)
79-79: Fixed typo in commentCorrected spelling: "valdiators" → "validators"
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
79-79: Hard tabs
Column: 1(MD010, no-hard-tabs)
client/v2/internal/flags/flags.go (1)
14-19: New flag constants enhance CLI flexibilityThe added flags provide useful options:
FlagNoPromptallows commands to run without interactive promptsFlagNoProposalenables direct command execution without requiring governance proposal submissionThese improvements help chains with custom authority models to have more flexibility in command execution.
docs/docs/build/building-apps/03-app-upgrade.md (3)
24-25: Good grammatical improvementsThe changes from "First of all" to "First" and "there install" to "then install" improve the readability and flow of the text.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~25-~25: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...tall a specially named upgrade handler (eg. "testnet-v2" or even "v0.40.0"). An upg...(E_G)
38-38: Correct grammatical fixAdding "the" before "existence" is grammatically correct.
66-66: Fixed comment typoRemoving the duplicated "return" keyword in the comment is correct.
docs/docs/build/building-apps/02-app-mempool.md (3)
8-8: Grammatical correctionChanging "This sections describes" to "This section describes" correctly fixes the singular/plural agreement.
19-19: Good addition to prerequisitesAdding ABCI to the prerequisite readings is helpful since mempool functionality is closely related to ABCI.
32-32: Improved clarityThe rewording from "the default SDK is a [No-op Mempool]" to "By default, the SDK uses the [No-op Mempool]" improves clarity and readability.
client/v2/autocli/testdata/flatten-output.golden (1)
1-1: Appropriate test fixture for autocliThis new test fixture contains a properly formatted JSON representation of a bank module MsgUpdateParams message, which is useful for testing the flattening functionality in autocli.
client/v2/autocli/app.go (1)
80-81: Updated FileResolver to use merged registryUpdating the
FileResolverfield to use the newly retrievedmergedFilesvariable is the proper way to utilize the enhanced file resolution capability.client/v2/autocli/msg_test.go (6)
4-9: Imports are logical and clear.Adding these imports (“bytes”, “encoding/json”, “os”, “path/filepath”) looks appropriate for golden file loading and JSON normalization.
124-125: Great use of specialized assertion for JSON output.Switching to
assertNormalizedJSONEqualclarifies JSON comparisons and reduces noise from whitespace differences.
127-152: Comprehensive test coverage with flattened fields.This new test verifies multi-field commands and flattened parameter usage, enhancing reliability for specialized message structures.
154-159: Good helper function for loading golden files.
goldenLoadneatly encapsulates file reading, improving readability and maintainability of tests.
161-168: JSON normalization approach is sound.
assertNormalizedJSONEqualensures consistent comparisons and handles edge cases (e.g., extra whitespace).
170-178: Helper function for JSON normalization is well-implemented.
normalizeJSONproperly compacts JSON content. No issues detected with error handling or concurrency.client/v2/autocli/msg.go (2)
7-23: New imports facilitate governance proposals.Imports for gogoproto, internal flags, addresscodec, and gov modules are necessary for the new governance logic.
132-136: Properly gating governance proposals with a skip flag.The condition
if options.GovProposal && !skipProposalelegantly handles normal TX routes versus proposal flows without clutter.client/v2/autocli/flag/messager_binder.go (3)
5-5: No immediate concerns for this new import.
Importing"strings"is appropriate for the subsequent usage ofstrings.Split.
69-69: Variable naming is clear.
Assigningmsg.Descriptor().Name()tomsgNameis straightforward and improves readability when comparing the message name to nested fields.
136-136: Field usage is consistent.
The newpathfield infieldBindingis referenced in the nested binding logic to split and traverse message fields. This is correctly integrated and aligns with the reflection-based approach.docs/docs/build/building-apps/01-app-go-di.md (7)
5-5: Title update looks appropriate.
Renaming the document to referenceapp_di.goclarifies that this doc refers to dependency injection–based app construction.
9-9: Clearer mention of the runtime package.
Stating that the Cosmos SDK “allows much easier wiring of anapp.gothanks to runtime and app wiring” is consistent with the shift away from purelydepinjectreferences.
16-20: Ordering is logical.
Updating the pre-requisite readings to placeruntimedocumentation beforedepinjecthelps guide new readers in a progressive manner.
23-23: Reference toSimApp app_di.gois helpful.
This clarifies which file the user should examine when exploring how the application is wired.
108-111: Clarification of the wiring process.
Stating thatdepinject.Injectautomatically wires modules and keepers is helpful. Ensure that any custom logic or manual overrides are documented nearby if the user’s setup deviates from the default injection behavior.
134-134: Readable explanation for combining wiring approaches.
Combining depinject-enabled modules and manual registration is clearly explained. This encourages flexible usage scenarios.
160-160: Separation of testing utilities.
Noting that testing utilities can reside in separate files helps maintain a clean separation of concerns for production code vs. test code.client/v2/autocli/flag/legacy_dec.go (6)
1-9: New file creation is straightforward.
All necessary imports (context, math, protoreflect) are in place, and the package name is consistent with the rest of theflagmodule.
11-19: Default decimal value is logically set to "0".
BothdecTypeand itsDefaultValue()method are consistent with the typical default for decimals.
21-28: ThedecValuestructure andGetmethod look correct.
Storing the raw string representation and returning it viaprotoreflect.Valueis a valid approach for reflection-based usage.
29-31: String method reads well.
Returning the internalvaluemirrors typicalString()usage in standard library value types.
33-44: Accurate decimal handling and error checking.
LegacyNewDecFromStrensures the decimal string is valid.- Storing
dec.BigInt().String()removes any fractional notation and ensures consistent internal representation.- The error handling is properly returned.
46-48: Type method naming.
Returning"cosmos.Dec"clarifies the underlying type for introspection or tooling.client/v2/autocli/flag/builder.go (9)
8-8: Looks good.The import of
"strings"is appropriate for handling the new field splitting logic.
32-32: New scalar constant definition.Defining
DecScalarType = "cosmos.Dec"cleanly extends scalar type support for decimal values.
35-40: New FileResolver interface.The
FileResolverinterface is well-defined and enables resolving protobuf file descriptors. No issues found.
79-79: Adding decType to scalarFlagTypes.Registering
decType{}underDecScalarTypeextends functionality for decimal fields. LGTM.
172-184: Flattening nested fields for positional args.Splitting
ProtoFieldby '.' and recursively binding nested fields is a robust approach for handling deeply nested fields. Implementation is straightforward and logically sound.
187-198: Positional argument range handling improvement.Setting
CobraArgsandmandatoryArgUntildepending on varargs or optional arguments is a clean approach. No issues found.
253-253: Flag options indexing.Storing the
FlagOptionsinflagOptsByFlagNameis clear and helps final adjustments (e.g., deprecation, hiding). Good practice.
277-301: Recursive binding for nested message fields.The
addFlattenFieldBindingToArgsmethod properly handles sub-message cases by looking up the next level and recursing. This design is concise and maintainable.
302-326: Helper for positional argument field bindings.
addFieldBindingToArgsintegrates seamlessly with the new flattening logic, ensuring single-level fields are appended correctly. Implementation aligns well with the rest of the file.x/distribution/autocli.go (6)
7-7: Correct package import.Replacing the misspelled
distirbuitonv1beta1withdistributionv1beta1prevents potential runtime issues.
16-16: Fixing Query service name reference.Using
distributionv1beta1.Query_ServiceDesc.ServiceNameensures queries map to the correct distribution service.
91-91: Fixing Msg service name reference.Updating the
Msg_ServiceDesc.ServiceNamealso aligns the transaction commands with the corrected import.
138-144: Enabling UpdateParams for governance proposals.Addition of
Use,Short, andExampleclarifies usage. Marking it as aGovProposalis consistent with other modules.
146-155: Reinstating CommunityPoolSpend as a gov proposal.Exposing the required fields and marking
GovProposalsupports a comprehensive CLI for distribution proposals.
157-157: Enhance custom commands.Changing
EnhanceCustomCommandto true is appropriate, allowing these proposals to be fully integrated with the enhanced CLI framework.
| func (rs *Store) Commit() types.CommitID { | ||
| var previousHeight, version int64 | ||
| if rs.lastCommitInfo.GetVersion() == 0 && rs.initialVersion > 1 { | ||
| if cInfo := rs.lastCommitInfo.Load(); cInfo.Version == 0 && rs.initialVersion > 1 { |
There was a problem hiding this comment.
Potential nil-pointer dereference.
Using cInfo.Version directly might panic if cInfo is nil. Consider checking for cInfo == nil before referencing cInfo.Version.
if cInfo := rs.lastCommitInfo.Load(); cInfo != nil && cInfo.Version == 0 && rs.initialVersion > 1 {
...
}📝 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.
| if cInfo := rs.lastCommitInfo.Load(); cInfo.Version == 0 && rs.initialVersion > 1 { | |
| if cInfo := rs.lastCommitInfo.Load(); cInfo != nil && cInfo.Version == 0 && rs.initialVersion > 1 { | |
| ... | |
| } |
| cInfo := rs.lastCommitInfo.Load() | ||
| if res.Height == cInfo.Version { | ||
| commitInfo = cInfo |
There was a problem hiding this comment.
Check for nil before referencing cInfo.Version.
Accessing cInfo.Version may panic if cInfo == nil. Insert a nil check to safeguard the condition.
cInfo := rs.lastCommitInfo.Load()
+ if cInfo == nil {
+ // handle nil scenario
+ } else if res.Height == cInfo.Version {
commitInfo = cInfo
}📝 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.
| cInfo := rs.lastCommitInfo.Load() | |
| if res.Height == cInfo.Version { | |
| commitInfo = cInfo | |
| cInfo := rs.lastCommitInfo.Load() | |
| if cInfo == nil { | |
| // handle nil scenario | |
| } else if res.Height == cInfo.Version { | |
| commitInfo = cInfo | |
| } |
| // rv.Expedited, err = flagSet.GetBool(FlagExpedited) | ||
| // if err != nil { | ||
| // return nil, fmt.Errorf("could not read expedited: %w", err) | ||
| // } | ||
|
|
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
Commented-out code for expedited flag
These commented lines handle the expedited flag that apparently cannot be enabled due to conflicts with other commands. Consider adding more context in the comments about when this conflict might be resolved or if there are plans to address it in the future.
🏁 Script executed:
#!/bin/bash
# Check if there are other occurrences of FlagExpedited in the codebase
# to understand where conflicts might occur
echo "Searching for FlagExpedited usage in the codebase:"
rg "FlagExpedited" --type goLength of output: 474
Clarify expedited flag conflict and provide future guidance
The expedited flag is currently disabled because IBC redefines it in the upgrade-channels command (see usage in x/gov/client/cli/tx.go). Please update the inline comments in x/gov/client/cli/util.go to include this context and, if available, note any plans or a TODO reference for when the conflict might be resolved.
- Update the comment for the commented-out expedited flag to mention the conflict with IBC's override.
- Optionally, add a TODO or reference indicating if/when this might be re-evaluated.
| ### Improvements | ||
|
|
||
| * [#21712](https://github.com/cosmos/cosmos-sdk/pull/21712) Marshal `type` field as proto message url in queries instead of amino name. | ||
| * [#21936](https://github.com/cosmos/cosmos-sdk/pull/21936) Print possible enum values in error message after an invalid input was provided. |
There was a problem hiding this comment.
Duplicate changelog entry.
This entry appears to be a duplicate of line 66 in the v2.0.0-beta.6 section. Both entries reference the same PR (#21936) and have identical descriptions. Please verify if this is intentional or if the entry should be removed from one of the versions.
|
I think it would be better to reopen this PR over main branch, seems hard to resolve all conflict |
|
created replace PR #24508 |
Description
replace: #22692
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.
Please see Pull Request Reviewer section in the contributing guide for more information on how to review a pull request.
I have...
Summary by CodeRabbit
New Features
Improvements
Documentation