-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: update docs to use core #20718
Conversation
WalkthroughThe changes focus on reworking various interfaces and methods within the Cosmos SDK module system to adopt new conventions and improve modularity. Key modifications include renaming and removing extension interfaces, updating references from Changes
Sequence Diagram(s)No sequence diagrams are necessary for this set of changes as they primarily involve refactoring and updates to documentation, interfaces, and method signatures. Assessment against linked issues
Possibly related issues
The provided changes make strides toward improving modularity, clarity in documentation, and consistency in method definitions, addressing foundational objectives for evolving the Cosmos SDK module system. Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 7
Outside diff range and nitpick comments (7)
docs/build/building-modules/17-preblock.md (1)
Line range hint
8-8
: Consider adding the article "an" for grammatical correctness.- `PreBlocker` is optional method module developers can implement... + `PreBlocker` is an optional method module developers can implement...docs/build/building-modules/12-errors.md (1)
Line range hint
33-33
: Use "an" instead of "a" before a word starting with a vowel sound.- and a uint32 code. Together, the codespace and code + and an uint32 code. Together, the codespace and codeTools
LanguageTool
[style] ~15-~15: As a shorter alternative for ‘able to’, consider using “can”. (BE_ABLE_TO)
Context: ...here are two ways to return errors. You are able to register custom errors with a codespace...
[style] ~15-~15: Consider using a more formal alternative. (MORE_INFO)
Context: ...th a codespace that is meant to provide more information to clients and normal go errors. The Co...
[uncategorized] ~18-~18: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ... errors are registered they are part of consensus and can not be changed in a minor relea...
[style] ~18-~18: Unless you want to emphasize “not”, use “cannot” which is more common. (CAN_NOT_PREMIUM)
Context: ...gistered they are part of consensus and can not be changed in a minor release ::: ## R...Markdownlint
15-15: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/06-beginblock-endblock.md (1)
Line range hint
19-19
: Clarify the description to better match the functionality.- `BeginBlocker` and `EndBlocker` are a way for module developers to add automatic execution of logic to their module. + `BeginBlocker` and `EndBlocker` provide a means for module developers to automatically execute logic within their modules.Tools
LanguageTool
[uncategorized] ~27-~27: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ...services.md): * They generally use thekeeper
and [ctx
](../...docs/build/building-modules/02-messages-and-queries.md (4)
Line range hint
62-62
: Add a comma after "signers" for improved clarity.- If there is a need for custom signers then there is an alternative path which can be taken. + If there is a need for custom signers, then there is an alternative path which can be taken.Tools
Markdownlint
27-27: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
Line range hint
91-91
: Add the definite article "the" for grammatical correctness.- that should be called inside module's [`RegisterInterfaces`](01-module-manager.md#hasregisterinterfaces) method + that should be called inside the module's [`RegisterInterfaces`](01-module-manager.md#hasregisterinterfaces) methodTools
Markdownlint
27-27: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
Line range hint
115-115
: Clarify the repeated verb usage for correctness.- Store queries query directly for store keys. + Store queries directly access store keys.Tools
Markdownlint
27-27: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
Line range hint
117-117
: Insert the definite article "the" for grammatical correctness.- See following examples: + See the following examples:Tools
Markdownlint
27-27: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (11)
- docs/build/building-modules/01-module-manager.md (9 hunks)
- docs/build/building-modules/02-messages-and-queries.md (3 hunks)
- docs/build/building-modules/03-msg-services.md (4 hunks)
- docs/build/building-modules/06-beginblock-endblock.md (1 hunks)
- docs/build/building-modules/06-keeper.md (1 hunks)
- docs/build/building-modules/07-invariants.md (1 hunks)
- docs/build/building-modules/08-genesis.md (2 hunks)
- docs/build/building-modules/11-structure.md (3 hunks)
- docs/build/building-modules/12-errors.md (2 hunks)
- docs/build/building-modules/14-simulator.md (2 hunks)
- docs/build/building-modules/17-preblock.md (1 hunks)
Additional context used
Path-based instructions (11)
docs/build/building-modules/17-preblock.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/12-errors.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/06-beginblock-endblock.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/08-genesis.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/11-structure.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/07-invariants.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/06-keeper.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/14-simulator.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/02-messages-and-queries.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/03-msg-services.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/01-module-manager.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/build/building-modules/17-preblock.md
[uncategorized] ~8-~8: You might be missing the article “an” here. (AI_EN_LECTOR_MISSING_DETERMINER_AN)
Context: ...ocker :::note SynopsisPreBlocker
is optional method module developers can implement ...docs/build/building-modules/12-errors.md
[style] ~15-~15: As a shorter alternative for ‘able to’, consider using “can”. (BE_ABLE_TO)
Context: ...here are two ways to return errors. You are able to register custom errors with a codespace...
[style] ~15-~15: Consider using a more formal alternative. (MORE_INFO)
Context: ...th a codespace that is meant to provide more information to clients and normal go errors. The Co...
[uncategorized] ~18-~18: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ... errors are registered they are part of consensus and can not be changed in a minor relea...
[style] ~18-~18: Unless you want to emphasize “not”, use “cannot” which is more common. (CAN_NOT_PREMIUM)
Context: ...gistered they are part of consensus and can not be changed in a minor release ::: ## R...
[misspelling] ~33-~33: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’. (EN_A_VS_AN)
Context: ...ibution") and is unique per module, and a uint32 code. Together, the codespace an...docs/build/building-modules/06-beginblock-endblock.md
[uncategorized] ~19-~19: The verb “are” doesn’t seem to fit in this context, “is” is probably more formally correct. (AI_HYDRA_LEO_CPT_ARE_IS)
Context: ...lockerBeginBlocker
andEndBlocker
are a way for module developers to add auto...
[style] ~21-~21: ‘prior to’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_PRIOR_TO)
Context: ...cation requiredBeginBlock
to execute prior to any sort of work is done then this is n...
[uncategorized] ~21-~21: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...to execute prior to any sort of work is done then this is not possible today (0.50.0...
[uncategorized] ~23-~23: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...efer toBeginBlocker
andEndBlocker
methods respectively, which are usually impleme...
[uncategorized] ~27-~27: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ...services.md): * They generally use thekeeper
and [ctx
](../...docs/build/building-modules/08-genesis.md
[style] ~52-~52: This phrase is redundant. Consider writing “started”. (FIRST_BEGAN)
Context: ...p.md#initchain) when the application is first started. Given aGenesisState
, it initializes...
[style] ~74-~74: ‘prior to’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_PRIOR_TO)
Context: ...for modules to submit state transitions prior to the first block. This is used by `x/gen...docs/build/building-modules/11-structure.md
[uncategorized] ~28-~28: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...── tx.proto ``` *{module_name}.proto
: The module's common message type defini...
[uncategorized] ~29-~29: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...sage type definitions. *genesis.proto
: The module's message type definitions r...
[uncategorized] ~30-~30: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...elated to genesis state. *query.proto
: The module's Query service and related ...
[uncategorized] ~31-~31: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...d message type definitions. *tx.proto
: The module's Msg service and related me...
[uncategorized] ~79-~79: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... tx.pb.go └── README.md ``` *client/
: The module's CLI client functionality i...
[uncategorized] ~80-~80: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...odule's CLI testing suite. *exported/
: The module's exported types - typically...
[style] ~80-~80: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ...expected_keepers.go
file (see below) in order to avoid a direct dependency on the module...
[uncategorized] ~81-~81: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...leviates import cycle chaos. *keeper/
: The module'sKeeper
andMsgServer
i...
[uncategorized] ~82-~82: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...gServerimplementation. *
abci.go: The module's
BeginBlockerand
EndBlo...
[uncategorized] ~83-~83: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...lockerneed to be defined). *
module/: The module's
AppModule` implementation...
[uncategorized] ~84-~84: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...duleimplementation. *
autocli.go`: The module [autocli](https://docs.cosmo...
[uncategorized] ~85-~85: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...n/core/autocli) options. *simulation/
: The module's [simulation](./14-simulato...
[uncategorized] ~86-~86: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...or application (simapp
). *README.md
: The module's specification documents ou...
[uncategorized] ~88-~88: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ed by Protocol Buffers. *codec.go
: The module's registry methods for inter...
[uncategorized] ~89-~89: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...s for interface types. *errors.go
: The module's sentinel errors. * `ev...
[uncategorized] ~90-~90: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ule's sentinel errors. *events.go
: The module's event types and constructo...
[uncategorized] ~91-~91: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...onstructors. *expected_keepers.go
: The module's [expected keeper](./06-kee...
[uncategorized] ~92-~92: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...finition) interfaces. *genesis.go
: The module's genesis state methods and ...
[uncategorized] ~93-~93: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ds and helper functions. *keys.go
: The module's store keys and associated ...
[uncategorized] ~94-~94: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ciated helper functions. *msgs.go
: The module's message type definitions a...
[uncategorized] ~95-~95: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...nd associated methods. *params.go
: The module's parameter type definitions...
[uncategorized] ~96-~96: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... and associated methods. **.pb.go
: The module's type definitions generated...docs/build/building-modules/07-invariants.md
[style] ~70-~70: Consider using a more formal verb to strengthen your wording. (GIVE_INFORMATION)
Context: ...ction above**. The rest of this section gives more information on the `InvariantRegis...docs/build/building-modules/14-simulator.md
[uncategorized] ~14-~14: Possible missing preposition found. (AI_HYDRA_LEO_MISSING_OF)
Context: ...ument details how to define each module simulation functions to be integrated with the app...
[style] ~43-~43: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ...arios and values for genesis parameters in order to fully test the edge cases of specific m...docs/build/building-modules/02-messages-and-queries.md
[misspelling] ~42-~42: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’. (EN_A_VS_AN)
Context: ...on.MsgInterface
transaction.Msgis a alias of
proto.Message`. ```go refer...
[uncategorized] ~48-~48: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ... attach aValidateBasic()
method to a message then you must add methods to the type a...
[typographical] ~62-~62: Consider adding a comma. (IF_THEN_COMMA)
Context: ...` If there is a need for custom signers then there is an alternative path which can ...
[uncategorized] ~91-~91: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ...viceDesc)that should be called inside module's [
RegisterInterfaces`](01-module-mana...
[style] ~96-~96: Consider an alternative adjective to strengthen your wording. (DEEP_PROFOUND)
Context: ...service (./04-query-services.md). For a deeper look at the lifecycle of aquery
, cli...
[grammar] ~115-~115: You’ve repeated a verb. Did you mean to only write one of them? (REPEATED_VERBS)
Context: ...#appmodule). ### Store Queries Store queries query directly for store keys. They use `clie...
[uncategorized] ~117-~117: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ...nse` with inclusion Merkle proofs. See following examples: ```go reference https://gith...docs/build/building-modules/03-msg-services.md
[misspelling] ~84-~84: This word is normally spelled with a hyphen. (EN_COMPOUNDS_TWO_WAY)
Context: ...agerheld in
environment`. There are two way to emit events, typed events using prot...docs/build/building-modules/01-module-manager.md
[style] ~8-~8: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ...faces](#application-module-interfaces), in order to be managed by the application's [module...
[style] ~8-~8: The phrase “a variety of” may be wordy. To make your writing clearer, consider replacing it. (A_VARIETY_OF)
Context: ...lopers to set the order of execution of a variety of functions like [PreBlocker
](https://d...
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
[uncategorized] ~57-~57: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...terLegacyAminoCodec(*codec.LegacyAmino): Registers the
amino` codec for the mod...
[style] ~57-~57: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ... and unmarshal structs to/from[]byte
in order to persist them in the module'sKVStore
....
[uncategorized] ~65-~65: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...nterfaces(codectypes.InterfaceRegistry)`: Registers a module's interface types an...
[uncategorized] ~73-~73: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...utes(client.Context, *runtime.ServeMux)`: Registers gRPC routes for the module. ...
[uncategorized] ~98-~98: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ds: *DefaultGenesis(codec.JSONCodec)
: Returns a default [GenesisState
](./08...
[uncategorized] ~99-~99: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ient.TxEncodingConfig, json.RawMessage): Used to validate the
GenesisState` def...
[uncategorized] ~146-~146: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...gisterInvariants(sdk.InvariantRegistry): Registers the [
invariants`](./07-invar...
[uncategorized] ~164-~164: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... ``` *RegisterServices(Configurator)
: Allows a module to register services. ...
[uncategorized] ~174-~174: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...6-L12 ``` *ConsensusVersion() uint64
: Returns the consensus version of the mo...
[uncategorized] ~188-~188: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...*
BeginBlock(context.Context) error`: This method gives module developers the...
[grammar] ~192-~192: “module” is a singular noun. It appears that the verb form is incorrect. (PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT)
Context: ...d implement this interface. If a module need to return validator set updates (stakin...
[uncategorized] ~198-~198: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...``` *EndBlock(context.Context) error
: This method gives module developers the...
[uncategorized] ~208-~208: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ontext) ([]abci.ValidatorUpdate, error)`: This method gives module developers the...
[uncategorized] ~241-~241: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...s: *NewManager(modules ...AppModule)
: Constructor function. It takes a list o...
[uncategorized] ~242-~242: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...OrderInitGenesis(moduleNames ...string): Sets the order in which the [
InitGenes...
[style] ~242-~242: This phrase is redundant. Consider writing “started”. (FIRST_BEGAN)
Context: ... will be called when the application is first started. This function is generally called from...
[uncategorized] ~244-~244: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...derExportGenesis(moduleNames ...string): Sets the order in which the [
ExportGen...
[uncategorized] ~245-~245: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...OrderPreBlockers(moduleNames ...string): Sets the order in which the
PreBlock()...
[uncategorized] ~246-~246: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...derBeginBlockers(moduleNames ...string): Sets the order in which the
BeginBlock...
[uncategorized] ~247-~247: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...OrderEndBlockers(moduleNames ...string): Sets the order in which the
EndBlock()...
[uncategorized] ~248-~248: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...rderPrecommiters(moduleNames ...string): Sets the order in which the
Precommit(...
[uncategorized] ~249-~249: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...pareCheckStaters(moduleNames ...string): Sets the order in which the
PrepareChe...
[uncategorized] ~250-~250: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...tOrderMigrations(moduleNames ...string)`: Sets the order of migrations to be run....
[typographical] ~250-~250: It seems that a comma is missing. (IF_NOT_COMMA)
Context: ...e order of migrations to be run. If not set then migrations will be run with an ord...
[uncategorized] ~251-~251: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...terInvariants(ir sdk.InvariantRegistry)`: Registers the [invariants](./07-invaria...
[uncategorized] ~251-~251: Possible missing article found. (AI_HYDRA_LEO_MISSING_THE)
Context: ...the invariants of module implementing theHasInvariants
interf...
[uncategorized] ~252-~252: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: .... *RegisterServices(cfg Configurator)
: Registers the services of modules imple...
[uncategorized] ~253-~253: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...genesisData map[string]json.RawMessage): Calls the [
InitGenesis`](./08-genesis....
[style] ~253-~253: This phrase is redundant. Consider writing “started”. (FIRST_BEGAN)
Context: ... of each module when the application is first started, in the order defined in `OrderInitGene...
[uncategorized] ~254-~254: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: .... *ExportGenesis(ctx context.Context)
: Calls the [ExportGenesis
](./08-genesi...
[uncategorized] ~255-~255: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...text.Context, modulesToExport []string): Behaves the same as
ExportGenesis`, ex...
[uncategorized] ~256-~256: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...BeginBlock(ctx context.Context) error
: At the beginning of each block, this fu...
[grammar] ~256-~256: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: .../06-beginblock-endblock.md) function of each modules implementing the `appmodule.HasBeginBlo...
[grammar] ~256-~256: The noun should probably be in the singular form. (EVERY_EACH_SINGULAR)
Context: ...dvanced/08-events.md) emitted from each modules. * `EndBlock(ctx context.Context) error...
[uncategorized] ~257-~257: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... *EndBlock(ctx context.Context) error
: At the end of each block, this function...
[grammar] ~257-~257: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: .../06-beginblock-endblock.md) function of each modules implementing the `appmodule.HasEndBlock...
[uncategorized] ~258-~258: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ontext) ([]abci.ValidatorUpdate, error)`: At the end of each block, this function...
[grammar] ~258-~258: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: .../06-beginblock-endblock.md) function of each modules implementing the `module.HasABCIEndBloc...
[uncategorized] ~259-~259: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...any). *Precommit(ctx context.Context)
: During [Commit
](../../learn/advanced/...
[grammar] ~259-~259: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: ... turn calls thePrecommit
function of each modules implementing theHasPrecommit
interfa...
[uncategorized] ~260-~260: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...PrepareCheckState(ctx context.Context)
: During [Commit
](../../learn/advanced/...
[style] ~261-~261: ‘early on in the’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_EARLY_ON_IN_THE)
Context: ...module. This function is usually called early on in the [application's construction](../../lear...
[uncategorized] ~262-~262: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...(registry codectypes.InterfaceRegistry)`: Registers interface types and implement...
[uncategorized] ~264-~264: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... *DefaultGenesis(cdc codec.JSONCodec)
: Provides default genesis information fo...
[grammar] ~264-~264: Possible subject-verb agreement error. (NNS_THAT_AGREEMENT)
Context: ... module. It only calls the modules that implements theHasGenesisBasics
interfaces. * `V...
[uncategorized] ~265-~265: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ig, genesis map[string]json.RawMessage)`: Validates the genesis information modul...
Markdownlint
docs/build/building-modules/12-errors.md
15-15: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/06-beginblock-endblock.md
19-19: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
21-21: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/08-genesis.md
74-74: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/11-structure.md
82-82: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
84-84: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
88-88: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
89-89: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
90-90: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
91-91: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
92-92: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
93-93: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
94-94: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
95-95: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
96-96: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentationdocs/build/building-modules/07-invariants.md
35-35: Column: 1 (MD010, no-hard-tabs)
Hard tabs
49-49: Column: 1 (MD010, no-hard-tabs)
Hard tabs
50-50: Column: 1 (MD010, no-hard-tabs)
Hard tabs
51-51: Column: 1 (MD010, no-hard-tabs)
Hard tabs
52-52: Column: 1 (MD010, no-hard-tabs)
Hard tabs
53-53: Column: 1 (MD010, no-hard-tabs)
Hard tabs
55-55: Column: 1 (MD010, no-hard-tabs)
Hard tabs
56-56: Column: 1 (MD010, no-hard-tabs)
Hard tabsdocs/build/building-modules/06-keeper.md
61-61: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/14-simulator.md
18-18: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
19-19: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
20-20: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
21-21: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
133-133: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
78-78: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank linesdocs/build/building-modules/02-messages-and-queries.md
42-42: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
44-44: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
54-54: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
58-58: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
62-62: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
67-67: Column: 1 (MD010, no-hard-tabs)
Hard tabs
68-68: Column: 1 (MD010, no-hard-tabs)
Hard tabs
70-70: Column: 1 (MD010, no-hard-tabs)
Hard tabs
71-71: Column: 1 (MD010, no-hard-tabs)
Hard tabs
73-73: Column: 1 (MD010, no-hard-tabs)
Hard tabs
74-74: Column: 1 (MD010, no-hard-tabs)
Hard tabs
27-27: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
93-93: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
112-112: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank linesdocs/build/building-modules/03-msg-services.md
38-38: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
40-40: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
44-44: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
57-57: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
80-80: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
93-93: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
63-63: Column: 1 (MD010, no-hard-tabs)
Hard tabs
64-64: Column: 1 (MD010, no-hard-tabs)
Hard tabs
65-65: Column: 1 (MD010, no-hard-tabs)
Hard tabs
66-66: Column: 1 (MD010, no-hard-tabs)
Hard tabs
67-67: Column: 1 (MD010, no-hard-tabs)
Hard tabs
90-90: Column: 1 (MD010, no-hard-tabs)
Hard tabs
97-97: Column: 1 (MD010, no-hard-tabs)
Hard tabs
98-98: Column: 1 (MD010, no-hard-tabs)
Hard tabs
99-99: Column: 1 (MD010, no-hard-tabs)
Hard tabs
100-100: Column: 1 (MD010, no-hard-tabs)
Hard tabs
101-101: Column: 1 (MD010, no-hard-tabs)
Hard tabs
151-151: Column: 1 (MD010, no-hard-tabs)
Hard tabsdocs/build/building-modules/01-module-manager.md
130-130: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
221-221: Column: 1 (MD010, no-hard-tabs)
Hard tabs
75-75: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
210-210: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
213-213: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
Additional comments not posted (8)
docs/build/building-modules/17-preblock.md (2)
24-24
: Clarify the deprecation ofsdk.Context
for consensus parameters to prevent misuse.
[REFACTOR_SUGGESTion]- Consensus params located in `sdk.Context` were deprecated and should be treated as unsafe + Consensus parameters in `sdk.Context` are deprecated due to safety concerns and should not be used.
22-22
: Ensure that the return type or value is documented clearly to indicate how modifications to consensus parameters should be signaled.docs/build/building-modules/06-beginblock-endblock.md (1)
31-31
: Clarify the use of theUpdateValidators
method and its impact on consensus.Ensure the documentation is clear on how
UpdateValidators
affects the consensus process.docs/build/building-modules/08-genesis.md (1)
59-59
: Ensure that the link to theInitGenesis
method is up-to-date and points to the correct version.docs/build/building-modules/11-structure.md (2)
5-10
: Ensure clarity in the documentation regarding the optional nature of the structure guidelines.The revised note effectively emphasizes that the structure guidelines are suggestive rather than prescriptive, which aligns well with the flexible and modular nature of the Cosmos SDK.
83-83
: Clarify the purpose ofautocli.go
in the module structure.The addition of
autocli.go
under themodule/
directory is well-documented with a direct link to the Cosmos documentation, providing clear context on its usage and importance.Tools
LanguageTool
[uncategorized] ~83-~83: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...lockerneed to be defined). *
module/: The module's
AppModule` implementation...docs/build/building-modules/06-keeper.md (1)
50-62
: Emphasize the use ofKVStoreService
s for state management.The update to use
KVStoreService
instead of direct store keys helps encapsulate the state management better, promoting safer and more modular code. This change is well-explained and aligns with the Cosmos SDK's goals of improving security and modularity.Tools
Markdownlint
61-61: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/14-simulator.md (1)
Line range hint
74-137
: Clarify the execution process of SDK simulations.The added documentation on how to execute SDK simulations provides valuable information on using the
-tags='sims'
parameter and other relevant parameters. This addition enhances the usability of the simulation features in the Cosmos SDK.
<!-- TODO: figure what is the future of invariants --> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Address the future of invariants in the Cosmos SDK.
The TODO comment suggests uncertainty about the future role or implementation of invariants. Would you like assistance in clarifying this part of the documentation or should we open a GitHub issue to discuss this further?
|
||
`sdk.Msg` is a alias of `proto.Message`. | ||
`transaction.Msg` is a alias of `proto.Message`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct the article usage for better grammatical accuracy.
- `transaction.Msg` is a alias of `proto.Message`.
+ `transaction.Msg` is an alias of `proto.Message`.
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.
`transaction.Msg` is a alias of `proto.Message`. | |
`transaction.Msg` is an alias of `proto.Message`. |
Tools
LanguageTool
[misspelling] ~42-~42: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’. (EN_A_VS_AN)
Context: ...on.MsgInterface
transaction.Msgis a alias of
proto.Message`. ```go refer...
Markdownlint
42-42: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
|
||
```go reference | ||
https://github.com/cosmos/cosmos-sdk/blob/main/core/transaction/transaction.go#L8 | ||
``` | ||
|
||
To attach a `ValidateBasic()` method to a message then you must add methods to the type adhereing to the `HasValidateBasic`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider adding a comma after "message" for better readability.
- To attach a `ValidateBasic()` method to a message then you must add methods to the type adhering to the `HasValidateBasic`.
+ To attach a `ValidateBasic()` method to a message, then you must add methods to the type adhering to the `HasValidateBasic`.
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.
To attach a `ValidateBasic()` method to a message then you must add methods to the type adhereing to the `HasValidateBasic`. | |
To attach a `ValidateBasic()` method to a message, then you must add methods to the type adhering to the `HasValidateBasic`. |
Tools
LanguageTool
[uncategorized] ~48-~48: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ... attach aValidateBasic()
method to a message then you must add methods to the type a...
execution context. | ||
common or general errors which can be further wrapped to provide additional specific execution context. | ||
|
||
There are two ways to return errors. You are able to register custom errors with a codespace that is meant to provide more information to clients and normal go errors. The Cosmos SDK uses a mixture of both. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use "can" instead of "are able to" for conciseness and clarity.
- There are two ways to return errors. You are able to register custom errors with a codespace...
+ There are two ways to return errors. You can register custom errors with a codespace...
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.
There are two ways to return errors. You are able to register custom errors with a codespace that is meant to provide more information to clients and normal go errors. The Cosmos SDK uses a mixture of both. | |
There are two ways to return errors. You can register custom errors with a codespace that is meant to provide more information to clients and normal go errors. The Cosmos SDK uses a mixture of both. |
Tools
LanguageTool
[style] ~15-~15: As a shorter alternative for ‘able to’, consider using “can”. (BE_ABLE_TO)
Context: ...here are two ways to return errors. You are able to register custom errors with a codespace...
[style] ~15-~15: Consider using a more formal alternative. (MORE_INFO)
Context: ...th a codespace that is meant to provide more information to clients and normal go errors. The Co...
Markdownlint
15-15: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
There are two ways to return errors. You are able to register custom errors with a codespace that is meant to provide more information to clients and normal go errors. The Cosmos SDK uses a mixture of both. | ||
|
||
:::Warning | ||
If errors are registered they are part of consensus and can not be changed in a minor release |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replace "can not" with "cannot" for standardization and clarity.
- If errors are registered they are part of consensus and can not be changed in a minor release
+ If errors are registered they are part of consensus and cannot be changed in a minor release
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 errors are registered they are part of consensus and can not be changed in a minor release | |
If errors are registered they are part of consensus and cannot be changed in a minor release |
Tools
LanguageTool
[uncategorized] ~18-~18: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ... errors are registered they are part of consensus and can not be changed in a minor relea...
[style] ~18-~18: Unless you want to emphasize “not”, use “cannot” which is more common. (CAN_NOT_PREMIUM)
Context: ...gistered they are part of consensus and can not be changed in a minor release ::: ## R...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 9
Outside diff range and nitpick comments (10)
docs/build/building-modules/17-preblock.md (1)
Line range hint
8-8
: Consider adding an article for clarity: "PreBlocker
is an optional method module developers can implement..."docs/build/building-modules/11-structure.md (1)
5-5
: Clarify the document title to reflect the content more specifically.Consider renaming "Folder Structure" to "Cosmos SDK Module Folder Structure" for better clarity and specificity in documentation titles.
docs/build/building-modules/06-keeper.md (1)
61-62
: Clarify the documentation link for "Collections".The link to "Collections" seems to be generated via a script. It might be beneficial to provide more context or an actual URL to help readers find the relevant documentation more easily.
Tools
Markdownlint
61-61: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/02-messages-and-queries.md (3)
Line range hint
62-62
: Consider adding a comma after 'signers' for better readability.- If there is a need for custom signers then there is an alternative path which can be taken. + If there is a need for custom signers, then there is an alternative path which can be taken.Tools
Markdownlint
27-27: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
Line range hint
96-96
: Consider replacing "deeper" with a more precise adjective like "detailed" to enhance clarity.- For a deeper look at the lifecycle of a `query`, click here. + For a detailed look at the lifecycle of a `query`, click here.Tools
Markdownlint
27-27: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
Line range hint
115-115
: Clarify the verb usage to avoid redundancy.- Store queries query directly for store keys. + Store queries directly access store keys.Tools
Markdownlint
27-27: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank linesdocs/build/building-modules/03-msg-services.md (2)
Line range hint
78-78
: Add a comma after 'successful' for better readability.- After the validation is successful, the `msgServer` method uses the [`keeper`](./06-keeper.md) functions to access the state and perform a state transition. + After the validation is successful, the `msgServer` method uses the [`keeper`](./06-keeper.md) functions to access the state and perform a state transition.Tools
LanguageTool
[uncategorized] ~24-~24: The grammatical number of this noun doesn’t look right. Consider replacing it. (AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
Context: ...terface forx/bank
, which exposes twotransaction.Msg
s: ```go reference https://github....
[uncategorized] ~30-~30: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ...When possible, the existing module's [
Keeper`](./06-keeper.md) should implemen...Markdownlint
38-38: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
40-40: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
44-44: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
Line range hint
105-105
: Add a missing article for grammatical correctness.- The invoked `msgServer` method returns a `proto.Message` response and an `error`. + The invoked `msgServer` method returns the `proto.Message` response and an `error`.Tools
LanguageTool
[uncategorized] ~24-~24: The grammatical number of this noun doesn’t look right. Consider replacing it. (AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
Context: ...terface forx/bank
, which exposes twotransaction.Msg
s: ```go reference https://github....
[uncategorized] ~30-~30: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ...When possible, the existing module's [
Keeper`](./06-keeper.md) should implemen...Markdownlint
38-38: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
40-40: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
44-44: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/01-module-manager.md (2)
Line range hint
250-250
: Add a missing comma for clarity.- If not set then migrations will be run with an order defined in `DefaultMigrationsOrder`. + If not set, then migrations will be run with an order defined in `DefaultMigrationsOrder`.Tools
LanguageTool
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
Line range hint
256-256
: Ensure singular noun usage after 'each' for grammatical correctness.- At the beginning of each block, this function is called from [`BaseApp`](../../learn/advanced/00-baseapp.md#beginblock) and, in turn, calls the [`BeginBlock`](./06-beginblock-endblock.md) function of each modules implementing the `appmodule.HasBeginBlocker` interface. + At the beginning of each block, this function is called from [`BaseApp`](../../learn/advanced/00-baseapp.md#beginblock) and, in turn, calls the [`BeginBlock`](./06-beginblock-endblock.md) function of each module implementing the `appmodule.HasBeginBlocker` interface. - At the end of each block, this function is called from [`BaseApp`](../../learn/advanced/00-baseapp.md#endblock) and, in turn, calls the [`EndBlock`](./06-beginblock-endblock.md) function of each modules implementing the `appmodule.HasEndBlocker` interface. + At the end of each block, this function is called from [`BaseApp`](../../learn/advanced/00-baseapp.md#endblock) and, in turn, calls the [`EndBlock`](./06-beginblock-endblock.md) function of each module implementing the `appmodule.HasEndBlocker` interface. - At the end of each block, this function is called from [`BaseApp`](../../learn/advanced/00-baseapp.md#endblock) and, in turn, calls the [`EndBlock`](./06-beginblock-endblock.md) function of each modules implementing the `module.HasABCIEndBlock` interface. + At the end of each block, this function is called from [`BaseApp`](../../learn/advanced/00-baseapp.md#endblock) and, in turn, calls the [`EndBlock`](./06-beginblock-endblock.md) function of each module implementing the `module.HasABCIEndBlock` interface.Also applies to: 257-257, 258-258
Tools
LanguageTool
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (11)
- docs/build/building-modules/01-module-manager.md (9 hunks)
- docs/build/building-modules/02-messages-and-queries.md (3 hunks)
- docs/build/building-modules/03-msg-services.md (4 hunks)
- docs/build/building-modules/06-beginblock-endblock.md (1 hunks)
- docs/build/building-modules/06-keeper.md (1 hunks)
- docs/build/building-modules/07-invariants.md (1 hunks)
- docs/build/building-modules/08-genesis.md (2 hunks)
- docs/build/building-modules/11-structure.md (3 hunks)
- docs/build/building-modules/12-errors.md (2 hunks)
- docs/build/building-modules/14-simulator.md (2 hunks)
- docs/build/building-modules/17-preblock.md (1 hunks)
Additional context used
Path-based instructions (11)
docs/build/building-modules/17-preblock.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/12-errors.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/06-beginblock-endblock.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/08-genesis.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/11-structure.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/07-invariants.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/06-keeper.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/14-simulator.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/02-messages-and-queries.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/03-msg-services.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/01-module-manager.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
Learnings (1)
docs/build/building-modules/08-genesis.md (1)
User: likhita-809 PR: cosmos/cosmos-sdk#18471 File: x/protocolpool/keeper/genesis.go:12-51 Timestamp: 2023-11-22T12:32:39.368Z Learning: - The user `likhita-809` has confirmed the changes suggested in the previous interaction. - The file in question is `x/protocolpool/keeper/genesis.go` from a Cosmos SDK module. - The changes involve optimizing the `InitGenesis` function by removing redundant code and ensuring proper handling of start times for budget proposals.
LanguageTool
docs/build/building-modules/17-preblock.md
[uncategorized] ~8-~8: Possible missing article found. (AI_HYDRA_LEO_MISSING_AN)
Context: ...ocker :::note SynopsisPreBlocker
is optional method module developers can implement ...docs/build/building-modules/12-errors.md
[style] ~15-~15: As a shorter alternative for ‘able to’, consider using “can”. (BE_ABLE_TO)
Context: ...here are two ways to return errors. You are able to register custom errors with a codespace...
[style] ~15-~15: Consider using a more formal alternative. (MORE_INFO)
Context: ...th a codespace that is meant to provide more information to clients and normal go errors. The Co...
[uncategorized] ~18-~18: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ... errors are registered they are part of consensus and can not be changed in a minor relea...
[style] ~18-~18: Unless you want to emphasize “not”, use “cannot” which is more common. (CAN_NOT_PREMIUM)
Context: ...gistered they are part of consensus and can not be changed in a minor release ::: ## R...
[misspelling] ~33-~33: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’. (EN_A_VS_AN)
Context: ...ibution") and is unique per module, and a uint32 code. Together, the codespace an...
[uncategorized] ~34-~34: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...ly, the code is monotonically increasing but does not necessarily have to be. The on...docs/build/building-modules/06-beginblock-endblock.md
[uncategorized] ~19-~19: The verb “are” doesn’t seem to fit in this context, “is” is probably more formally correct. (AI_HYDRA_LEO_CPT_ARE_IS)
Context: ...lockerBeginBlocker
andEndBlocker
are a way for module developers to add auto...
[style] ~21-~21: ‘prior to’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_PRIOR_TO)
Context: ...cation requiredBeginBlock
to execute prior to any sort of work is done then this is n...
[uncategorized] ~23-~23: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...efer toBeginBlocker
andEndBlocker
methods respectively, which are usually impleme...docs/build/building-modules/08-genesis.md
[style] ~52-~52: This phrase is redundant. Consider writing “started”. (FIRST_BEGAN)
Context: ...p.md#initchain) when the application is first started. Given aGenesisState
, it initializes...
[style] ~74-~74: ‘prior to’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_PRIOR_TO)
Context: ...for modules to submit state transitions prior to the first block. This is used by `x/gen...docs/build/building-modules/11-structure.md
[uncategorized] ~28-~28: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...── tx.proto ``` *{module_name}.proto
: The module's common message type defini...
[uncategorized] ~29-~29: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...sage type definitions. *genesis.proto
: The module's message type definitions r...
[uncategorized] ~30-~30: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...elated to genesis state. *query.proto
: The module's Query service and related ...
[uncategorized] ~31-~31: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...d message type definitions. *tx.proto
: The module's Msg service and related me...
[uncategorized] ~79-~79: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... tx.pb.go └── README.md ``` *client/
: The module's CLI client functionality i...
[uncategorized] ~80-~80: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...odule's CLI testing suite. *exported/
: The module's exported types - typically...
[style] ~80-~80: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ...expected_keepers.go
file (see below) in order to avoid a direct dependency on the module...
[uncategorized] ~80-~80: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ... to the module that is implementing the keepers and this is whereexported/
comes int...
[uncategorized] ~81-~81: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...leviates import cycle chaos. *keeper/
: The module'sKeeper
andMsgServer
i...
[uncategorized] ~82-~82: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...gServerimplementation. *
abci.go: The module's
BeginBlockerand
EndBlo...
[uncategorized] ~83-~83: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...lockerneed to be defined). *
module/: The module's
AppModule` implementation...
[uncategorized] ~84-~84: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...duleimplementation. *
autocli.go`: The module [autocli](https://docs.cosmo...
[uncategorized] ~85-~85: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...n/core/autocli) options. *simulation/
: The module's [simulation](./14-simulato...
[uncategorized] ~86-~86: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...or application (simapp
). *README.md
: The module's specification documents ou...
[uncategorized] ~88-~88: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ed by Protocol Buffers. *codec.go
: The module's registry methods for inter...
[uncategorized] ~89-~89: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...s for interface types. *errors.go
: The module's sentinel errors. * `ev...
[uncategorized] ~90-~90: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ule's sentinel errors. *events.go
: The module's event types and constructo...
[uncategorized] ~91-~91: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...onstructors. *expected_keepers.go
: The module's [expected keeper](./06-kee...
[uncategorized] ~92-~92: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...finition) interfaces. *genesis.go
: The module's genesis state methods and ...
[uncategorized] ~93-~93: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ds and helper functions. *keys.go
: The module's store keys and associated ...
[uncategorized] ~94-~94: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ciated helper functions. *msgs.go
: The module's message type definitions a...
[uncategorized] ~95-~95: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...nd associated methods. *params.go
: The module's parameter type definitions...
[uncategorized] ~96-~96: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... and associated methods. **.pb.go
: The module's type definitions generated...docs/build/building-modules/07-invariants.md
[style] ~70-~70: Consider using a more formal verb to strengthen your wording. (GIVE_INFORMATION)
Context: ...ction above**. The rest of this section gives more information on the `InvariantRegis...docs/build/building-modules/06-keeper.md
[uncategorized] ~8-~8: This verb does not appear to agree with the subject. Consider using a different form. (AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
Context: ... # Keepers :::note SynopsisKeeper
s refer to a Cosmos SDK abstraction whose role ...
[uncategorized] ~52-~52: A comma might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
Context: ...ight to change module level parameters. Previously this was handled by the param module, w...docs/build/building-modules/14-simulator.md
[uncategorized] ~14-~14: Possible missing preposition found. (AI_HYDRA_LEO_MISSING_OF)
Context: ...ument details how to define each module simulation functions to be integrated with the app...
[style] ~43-~43: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ...arios and values for genesis parameters in order to fully test the edge cases of specific m...
[uncategorized] ~75-~75: The preposition ‘to’ seems more likely in this position. (AI_HYDRA_LEO_REPLACE_IN_TO)
Context: ...tions can be executed like normal tests in Go from the shell or within an IDE. Mak...
[uncategorized] ~133-~133: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ... the deterministic pseudo random number generator where the fuzzer provides varying numbe...docs/build/building-modules/02-messages-and-queries.md
[misspelling] ~42-~42: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’. (EN_A_VS_AN)
Context: ...on.MsgInterface
transaction.Msgis a alias of
proto.Message`. ```go refer...
[typographical] ~62-~62: Consider adding a comma. (IF_THEN_COMMA)
Context: ...` If there is a need for custom signers then there is an alternative path which can ...
[style] ~96-~96: Consider an alternative adjective to strengthen your wording. (DEEP_PROFOUND)
Context: ...service (./04-query-services.md). For a deeper look at the lifecycle of aquery
, cli...
[grammar] ~115-~115: You’ve repeated a verb. Did you mean to only write one of them? (REPEATED_VERBS)
Context: ...#appmodule). ### Store Queries Store queries query directly for store keys. They use `clie...docs/build/building-modules/03-msg-services.md
[uncategorized] ~24-~24: The grammatical number of this noun doesn’t look right. Consider replacing it. (AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
Context: ...terface forx/bank
, which exposes twotransaction.Msg
s: ```go reference https://github....
[uncategorized] ~30-~30: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ...When possible, the existing module's [
Keeper`](./06-keeper.md) should implemen...
[uncategorized] ~78-~78: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ...essful, themsgServer
method uses thekeeper
functions to ac...
[misspelling] ~84-~84: This word is normally spelled with a hyphen. (EN_COMPOUNDS_TWO_WAY)
Context: ...agerheld in
environment`. There are two way to emit events, typed events using prot...
[uncategorized] ~105-~105: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ...anced/08-events.md) to learn more about events. The invokedmsgServer
method return...docs/build/building-modules/01-module-manager.md
[style] ~8-~8: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ...faces](#application-module-interfaces), in order to be managed by the application's [module...
[style] ~8-~8: The phrase “a variety of” may be wordy. To make your writing clearer, consider replacing it. (A_VARIETY_OF)
Context: ...lopers to set the order of execution of a variety of functions like [PreBlocker
](https://d...
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
[uncategorized] ~57-~57: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...terLegacyAminoCodec(*codec.LegacyAmino): Registers the
amino` codec for the mod...
[style] ~57-~57: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ... and unmarshal structs to/from[]byte
in order to persist them in the module'sKVStore
....
[uncategorized] ~65-~65: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...nterfaces(codectypes.InterfaceRegistry)`: Registers a module's interface types an...
[uncategorized] ~73-~73: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...utes(client.Context, *runtime.ServeMux)`: Registers gRPC routes for the module. ...
[uncategorized] ~98-~98: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ds: *DefaultGenesis(codec.JSONCodec)
: Returns a default [GenesisState
](./08...
[uncategorized] ~99-~99: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ient.TxEncodingConfig, json.RawMessage): Used to validate the
GenesisState` def...
[uncategorized] ~146-~146: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...gisterInvariants(sdk.InvariantRegistry): Registers the [
invariants`](./07-invar...
[uncategorized] ~164-~164: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... ``` *RegisterServices(Configurator)
: Allows a module to register services. ...
[uncategorized] ~174-~174: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...6-L12 ``` *ConsensusVersion() uint64
: Returns the consensus version of the mo...
[uncategorized] ~188-~188: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...*
BeginBlock(context.Context) error`: This method gives module developers the...
[grammar] ~192-~192: “module” is a singular noun. It appears that the verb form is incorrect. (PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT)
Context: ...d implement this interface. If a module need to return validator set updates (stakin...
[uncategorized] ~198-~198: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...``` *EndBlock(context.Context) error
: This method gives module developers the...
[uncategorized] ~208-~208: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ontext) ([]abci.ValidatorUpdate, error)`: This method gives module developers the...
[uncategorized] ~241-~241: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...s: *NewManager(modules ...AppModule)
: Constructor function. It takes a list o...
[uncategorized] ~242-~242: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...OrderInitGenesis(moduleNames ...string): Sets the order in which the [
InitGenes...
[style] ~242-~242: This phrase is redundant. Consider writing “started”. (FIRST_BEGAN)
Context: ... will be called when the application is first started. This function is generally called from...
[uncategorized] ~244-~244: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...derExportGenesis(moduleNames ...string): Sets the order in which the [
ExportGen...
[uncategorized] ~245-~245: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...OrderPreBlockers(moduleNames ...string): Sets the order in which the
PreBlock()...
[uncategorized] ~246-~246: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...derBeginBlockers(moduleNames ...string): Sets the order in which the
BeginBlock...
[uncategorized] ~247-~247: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...OrderEndBlockers(moduleNames ...string): Sets the order in which the
EndBlock()...
[uncategorized] ~248-~248: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...rderPrecommiters(moduleNames ...string): Sets the order in which the
Precommit(...
[uncategorized] ~249-~249: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...pareCheckStaters(moduleNames ...string): Sets the order in which the
PrepareChe...
[uncategorized] ~250-~250: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...tOrderMigrations(moduleNames ...string)`: Sets the order of migrations to be run....
[typographical] ~250-~250: It seems that a comma is missing. (IF_NOT_COMMA)
Context: ...e order of migrations to be run. If not set then migrations will be run with an ord...
[uncategorized] ~251-~251: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...terInvariants(ir sdk.InvariantRegistry)`: Registers the [invariants](./07-invaria...
[uncategorized] ~251-~251: Possible missing article found. (AI_HYDRA_LEO_MISSING_THE)
Context: ...the invariants of module implementing theHasInvariants
interf...
[uncategorized] ~252-~252: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: .... *RegisterServices(cfg Configurator)
: Registers the services of modules imple...
[uncategorized] ~253-~253: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...genesisData map[string]json.RawMessage): Calls the [
InitGenesis`](./08-genesis....
[style] ~253-~253: This phrase is redundant. Consider writing “started”. (FIRST_BEGAN)
Context: ... of each module when the application is first started, in the order defined in `OrderInitGene...
[uncategorized] ~254-~254: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: .... *ExportGenesis(ctx context.Context)
: Calls the [ExportGenesis
](./08-genesi...
[uncategorized] ~255-~255: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...text.Context, modulesToExport []string): Behaves the same as
ExportGenesis`, ex...
[uncategorized] ~256-~256: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...BeginBlock(ctx context.Context) error
: At the beginning of each block, this fu...
[grammar] ~256-~256: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: .../06-beginblock-endblock.md) function of each modules implementing the `appmodule.HasBeginBlo...
[grammar] ~256-~256: The noun should probably be in the singular form. (EVERY_EACH_SINGULAR)
Context: ...dvanced/08-events.md) emitted from each modules. * `EndBlock(ctx context.Context) error...
[uncategorized] ~257-~257: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... *EndBlock(ctx context.Context) error
: At the end of each block, this function...
[grammar] ~257-~257: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: .../06-beginblock-endblock.md) function of each modules implementing the `appmodule.HasEndBlock...
[uncategorized] ~258-~258: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ontext) ([]abci.ValidatorUpdate, error)`: At the end of each block, this function...
[grammar] ~258-~258: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: .../06-beginblock-endblock.md) function of each modules implementing the `module.HasABCIEndBloc...
[uncategorized] ~259-~259: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...any). *Precommit(ctx context.Context)
: During [Commit
](../../learn/advanced/...
[grammar] ~259-~259: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: ... turn calls thePrecommit
function of each modules implementing theHasPrecommit
interfa...
[uncategorized] ~260-~260: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...PrepareCheckState(ctx context.Context)
: During [Commit
](../../learn/advanced/...
[style] ~261-~261: ‘early on in the’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_EARLY_ON_IN_THE)
Context: ...module. This function is usually called early on in the [application's construction](../../lear...
[uncategorized] ~262-~262: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...(registry codectypes.InterfaceRegistry)`: Registers interface types and implement...
[uncategorized] ~264-~264: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... *DefaultGenesis(cdc codec.JSONCodec)
: Provides default genesis information fo...
[grammar] ~264-~264: Possible subject-verb agreement error. (NNS_THAT_AGREEMENT)
Context: ... module. It only calls the modules that implements theHasGenesisBasics
interfaces. * `V...
[uncategorized] ~265-~265: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ig, genesis map[string]json.RawMessage)`: Validates the genesis information modul...
Markdownlint
docs/build/building-modules/12-errors.md
15-15: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/06-beginblock-endblock.md
19-19: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
21-21: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/08-genesis.md
74-74: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/11-structure.md
82-82: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
84-84: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
88-88: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
89-89: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
90-90: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
91-91: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
92-92: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
93-93: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
94-94: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
95-95: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
96-96: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentationdocs/build/building-modules/07-invariants.md
35-35: Column: 1 (MD010, no-hard-tabs)
Hard tabs
49-49: Column: 1 (MD010, no-hard-tabs)
Hard tabs
50-50: Column: 1 (MD010, no-hard-tabs)
Hard tabs
51-51: Column: 1 (MD010, no-hard-tabs)
Hard tabs
52-52: Column: 1 (MD010, no-hard-tabs)
Hard tabs
53-53: Column: 1 (MD010, no-hard-tabs)
Hard tabs
55-55: Column: 1 (MD010, no-hard-tabs)
Hard tabs
56-56: Column: 1 (MD010, no-hard-tabs)
Hard tabsdocs/build/building-modules/06-keeper.md
61-61: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/14-simulator.md
18-18: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
19-19: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
20-20: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
21-21: Expected: 2; Actual: 4 (MD007, ul-indent)
Unordered list indentation
133-133: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
78-78: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank linesdocs/build/building-modules/02-messages-and-queries.md
42-42: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
44-44: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
54-54: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
58-58: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
62-62: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
67-67: Column: 1 (MD010, no-hard-tabs)
Hard tabs
68-68: Column: 1 (MD010, no-hard-tabs)
Hard tabs
70-70: Column: 1 (MD010, no-hard-tabs)
Hard tabs
71-71: Column: 1 (MD010, no-hard-tabs)
Hard tabs
73-73: Column: 1 (MD010, no-hard-tabs)
Hard tabs
74-74: Column: 1 (MD010, no-hard-tabs)
Hard tabs
27-27: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
93-93: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
112-112: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank linesdocs/build/building-modules/03-msg-services.md
38-38: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
40-40: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
44-44: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
57-57: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
80-80: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
93-93: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
63-63: Column: 1 (MD010, no-hard-tabs)
Hard tabs
64-64: Column: 1 (MD010, no-hard-tabs)
Hard tabs
65-65: Column: 1 (MD010, no-hard-tabs)
Hard tabs
66-66: Column: 1 (MD010, no-hard-tabs)
Hard tabs
67-67: Column: 1 (MD010, no-hard-tabs)
Hard tabs
90-90: Column: 1 (MD010, no-hard-tabs)
Hard tabs
97-97: Column: 1 (MD010, no-hard-tabs)
Hard tabs
98-98: Column: 1 (MD010, no-hard-tabs)
Hard tabs
99-99: Column: 1 (MD010, no-hard-tabs)
Hard tabs
100-100: Column: 1 (MD010, no-hard-tabs)
Hard tabs
101-101: Column: 1 (MD010, no-hard-tabs)
Hard tabs
151-151: Column: 1 (MD010, no-hard-tabs)
Hard tabsdocs/build/building-modules/01-module-manager.md
130-130: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
221-221: Column: 1 (MD010, no-hard-tabs)
Hard tabs
75-75: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
210-210: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
213-213: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
Additional comments not posted (7)
docs/build/building-modules/17-preblock.md (1)
21-24
: Clarify the implications of modifying consensus parameters in storage. Mention potential risks or necessary precautions to ensure developers handle this capability responsibly.docs/build/building-modules/06-beginblock-endblock.md (2)
29-29
: Ensure that the documentation specifies the types of events that can be emitted viaenvironments
'sEventManager
to help developers understand what is possible within these lifecycle methods.
31-31
: Clarify the role and usage of theUpdateValidators
method, especially how it interacts with the consensus engine and what specific validator updates are allowed.docs/build/building-modules/08-genesis.md (1)
Line range hint
59-69
: Ensure that the documentation forInitGenesis
andExportGenesis
includes all necessary parameters and their types to avoid confusion during implementation.docs/build/building-modules/06-keeper.md (1)
50-50
: Excellent update onKVStoreService
s for enhanced module encapsulation.The update to use
KVStoreService
instead of directstoreKey
access aligns with modern practices of encapsulation and modularity in software design. This change should help in maintaining clear boundaries and responsibilities within the module architecture.docs/build/building-modules/14-simulator.md (1)
74-74
: Clarification on running SDK simulations.The instructions for executing SDK simulations with the
-tags='sims'
parameter are clear and concise. This addition helps users understand how to properly execute simulations, which is crucial for testing and development.docs/build/building-modules/02-messages-and-queries.md (1)
28-28
: Update the documentation to reflect the new interfacetransaction.Msg
.
@@ -4,6 +4,8 @@ sidebar_position: 1 | |||
|
|||
# Invariants | |||
|
|||
<!-- TODO: figure what is the future of invariants --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Address the TODO comment regarding the future of invariants.
It seems there is an unresolved question about the future of invariants. Would you like assistance in determining this or should we open an issue to discuss this further?
The new ctx must be passed to all the other lifecycle methods. | ||
|
||
<!-- TODO: leaving this here to update docs with core api changes --> | ||
Modules are required to get the consensus params from the consensus module. Consensus params located in `sdk.Context` were depreacted and should be treated as unsafe |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider expanding on the reasons for deprecating sdk.Context
in consensus parameters and suggest alternatives or migration paths.
Would you like me to draft a detailed explanation or migration guide for moving away from sdk.Context
?
There are two ways to return errors. You are able to register custom errors with a codespace that is meant to provide more information to clients and normal go errors. The Cosmos SDK uses a mixture of both. | ||
|
||
:::Warning | ||
If errors are registered they are part of consensus and can not be changed in a minor release | ||
::: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Simplify the language for clarity: "You can register custom errors with a codespace that provides additional information to clients, alongside normal Go errors."
Also, replace "can not" with "cannot" for grammatical correctness.
- You are able to register custom errors with a codespace that is meant to provide more information to clients and normal go errors.
+ You can register custom errors with a codespace that provides additional information to clients, alongside normal Go errors.
- If errors are registered they are part of consensus and can not be changed in a minor release
+ If errors are registered, they are part of consensus and cannot be changed in a minor release
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.
There are two ways to return errors. You are able to register custom errors with a codespace that is meant to provide more information to clients and normal go errors. The Cosmos SDK uses a mixture of both. | |
:::Warning | |
If errors are registered they are part of consensus and can not be changed in a minor release | |
::: | |
There are two ways to return errors. You can register custom errors with a codespace that provides additional information to clients, alongside normal Go errors. The Cosmos SDK uses a mixture of both. | |
:::Warning | |
If errors are registered, they are part of consensus and cannot be changed in a minor release | |
::: |
Tools
LanguageTool
[style] ~15-~15: As a shorter alternative for ‘able to’, consider using “can”. (BE_ABLE_TO)
Context: ...here are two ways to return errors. You are able to register custom errors with a codespace...
[style] ~15-~15: Consider using a more formal alternative. (MORE_INFO)
Context: ...th a codespace that is meant to provide more information to clients and normal go errors. The Co...
[uncategorized] ~18-~18: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ... errors are registered they are part of consensus and can not be changed in a minor relea...
[style] ~18-~18: Unless you want to emphasize “not”, use “cannot” which is more common. (CAN_NOT_PREMIUM)
Context: ...gistered they are part of consensus and can not be changed in a minor release ::: ## R...
Markdownlint
15-15: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
``` | ||
|
||
### `sdk.Msg` Interface | ||
### `transaction.Msg` Interface |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct the article usage for clarity and grammatical accuracy.
- `transaction.Msg` is a alias of `proto.Message`.
+ `transaction.Msg` is an alias of `proto.Message`.
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.
### `transaction.Msg` Interface | |
`transaction.Msg` is an alias of `proto.Message`. |
|
||
### Implementing the Application Module Interfaces | ||
|
||
// TODO reword! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we still need to reword this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed a sentence, what do you think should it be reworded?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if its removed no worries!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (1)
- docs/build/building-modules/03-msg-services.md (4 hunks)
Additional context used
Path-based instructions (1)
docs/build/building-modules/03-msg-services.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/build/building-modules/03-msg-services.md
[misspelling] ~84-~84: This word is normally spelled with a hyphen. (EN_COMPOUNDS_TWO_WAY)
Context: ...agerheld in
environment`. There are two way to emit events, typed events using prot...
Markdownlint
docs/build/building-modules/03-msg-services.md
38-38: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
40-40: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
44-44: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
57-57: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
80-80: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
93-93: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
63-63: Column: 1 (MD010, no-hard-tabs)
Hard tabs
64-64: Column: 1 (MD010, no-hard-tabs)
Hard tabs
65-65: Column: 1 (MD010, no-hard-tabs)
Hard tabs
66-66: Column: 1 (MD010, no-hard-tabs)
Hard tabs
67-67: Column: 1 (MD010, no-hard-tabs)
Hard tabs
90-90: Column: 1 (MD010, no-hard-tabs)
Hard tabs
97-97: Column: 1 (MD010, no-hard-tabs)
Hard tabs
98-98: Column: 1 (MD010, no-hard-tabs)
Hard tabs
99-99: Column: 1 (MD010, no-hard-tabs)
Hard tabs
100-100: Column: 1 (MD010, no-hard-tabs)
Hard tabs
101-101: Column: 1 (MD010, no-hard-tabs)
Hard tabs
Additional comments not posted (3)
docs/build/building-modules/03-msg-services.md (3)
47-47
: ```shell
#!/bin/bashDescription: Verify if the provided commit hash is the most recent one for the specified file.
Extract the specified commit hash
commit_hash="07151304e2ec6a185243d083f59a2d543253cb15"
Get the latest commit hash for the specified file
latest_commit_hash=$(git log -1 --pretty=format:"%H" x/bank/keeper/keeper.go)
Compare the specified commit hash with the latest commit hash
if [ "$commit_hash" = "$latest_commit_hash" ]; then
echo "The link points to the most recent commit."
else
echo "The link does not point to the most recent commit."
echo "Latest commit hash: $latest_commit_hash"
fi--- `27-27`: ```shell #!/bin/bash # Description: Verify if the commit hash in the hyperlink is the most recent one for the file `x/bank/types/tx.pb.go`. # Fetch the latest commit hash for the file `x/bank/types/tx.pb.go`. latest_commit_hash=$(git log -n 1 --pretty=format:%H -- x/bank/types/tx.pb.go) # Output the latest commit hash and compare it with the hyperlink hash. echo "Latest commit hash for x/bank/types/tx.pb.go: $latest_commit_hash" echo "Hyperlink commit hash: 28fa3b8"
33-33
: ```shell
#!/bin/bashDescription: Check if the commit hash
28fa3b8
is the most recent for the filex/bank/keeper/msg_server.go
.List the commit history for the file and get the most recent commit hash
git log --pretty=format:"%H" -n 1 x/bank/keeper/msg_server.go
</blockquote></details> </blockquote></details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
Before returning, `msgServer` methods generally emit one or more [events](../../learn/advanced/08-events.md) by using the `EventManager` held in the `ctx`. Use the new `EmitTypedEvent` function that uses protobuf-based event types: | ||
Before returning, `msgServer` methods generally emit one or more [events](../../learn/advanced/08-events.md) by using the `EventManager` held in `environment`. | ||
|
||
There are two way to emit events, typed events using protobuf or arbitrary key & values. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct the spelling to use a hyphen in "two-way".
- There are two way to emit events, typed events using protobuf or arbitrary key & values.
+ There are two-way to emit events, typed events using protobuf or arbitrary key & values.
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.
There are two way to emit events, typed events using protobuf or arbitrary key & values. | |
There are two-way to emit events, typed events using protobuf or arbitrary key & values. |
Tools
LanguageTool
[misspelling] ~84-~84: This word is normally spelled with a hyphen. (EN_COMPOUNDS_TWO_WAY)
Context: ...agerheld in
environment`. There are two way to emit events, typed events using prot...
@@ -21,25 +21,33 @@ | |||
|
|||
As further described in [ADR 031](../../architecture/adr-031-msg-service.md), this approach has the advantage of clearly specifying return types and generating server and client code. | |||
|
|||
Protobuf generates a `MsgServer` interface based on a definition of `Msg` service. It is the role of the module developer to implement this interface, by implementing the state transition logic that should happen upon receival of each `sdk.Msg`. As an example, here is the generated `MsgServer` interface for `x/bank`, which exposes two `sdk.Msg`s: | |||
Protobuf generates a `MsgServer` interface based on a definition of `Msg` service. It is the role of the module developer to implement this interface, by implementing the state transition logic that should happen upon receival of each `transaction.Msg`. As an example, here is the generated `MsgServer` interface for `x/bank`, which exposes two `transaction.Msg`s: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct grammatical and syntax issues in the documentation.
- Protobuf generates a `MsgServer` interface based on a definition of `Msg` service. It is the role of the module developer to implement this interface, by implementing the state transition logic that should happen upon receival of each `transaction.Msg`.
+ Protobuf generates a `MsgServer` interface based on the definition of a `Msg` service. It is the role of the module developer to implement this interface by implementing the state transition logic that should occur upon receipt of each `transaction.Msg`.
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.
Protobuf generates a `MsgServer` interface based on a definition of `Msg` service. It is the role of the module developer to implement this interface, by implementing the state transition logic that should happen upon receival of each `transaction.Msg`. As an example, here is the generated `MsgServer` interface for `x/bank`, which exposes two `transaction.Msg`s: | |
Protobuf generates a `MsgServer` interface based on the definition of a `Msg` service. It is the role of the module developer to implement this interface by implementing the state transition logic that should occur upon receipt of each `transaction.Msg`. As an example, here is the generated `MsgServer` interface for `x/bank`, which exposes two `transaction.Msg`s: |
Environment: | ||
|
||
```go reference | ||
https://github.com/cosmos/cosmos-sdk/blob/07151304e2ec6a185243d083f59a2d543253cb15/core/appmodule/v2/environment.go#L14-L29 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tip
Codebase Verification
The hyperlink in the documentation points to an outdated commit. The most recent commit for the specified file is 1b47dc91a3a1f7d911f5674f6b13bc057c786949
.
- Update the hyperlink to point to the latest commit.
Analysis chain
Ensure the hyperlink points to the correct and most recent commit.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify the hyperlink points to the correct and most recent commit.
# Test: Search for the link in the repository. Expect: The link points to the most recent commit.
cat docs/build/building-modules/03-msg-services.md | grep 'https://github.com/cosmos/cosmos-sdk/blob/07151304e2ec6a185243d083f59a2d543253cb15/core/appmodule/v2/environment.go#L14-L29'
Length of output: 307
Script:
#!/bin/bash
# Description: Verify if the given commit hash is the most recent for the specified file.
# Fetch the latest commit hash for the specified file
latest_commit=$(git log -1 --format="%H" -- core/appmodule/v2/environment.go)
# Print the latest commit hash
echo "Latest commit hash for core/appmodule/v2/environment.go: $latest_commit"
# Check if the given commit hash matches the latest commit hash
if [ "$latest_commit" == "07151304e2ec6a185243d083f59a2d543253cb15" ]; then
echo "The given commit hash is the most recent."
else
echo "The given commit hash is not the most recent."
fi
Length of output: 959
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (5)
- docs/build/building-modules/01-module-manager.md (8 hunks)
- docs/build/building-modules/02-messages-and-queries.md (3 hunks)
- docs/build/building-modules/03-msg-services.md (4 hunks)
- docs/build/building-modules/12-errors.md (2 hunks)
- docs/build/building-modules/17-preblock.md (1 hunks)
Additional context used
Path-based instructions (5)
docs/build/building-modules/17-preblock.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/12-errors.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/02-messages-and-queries.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/03-msg-services.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/build/building-modules/01-module-manager.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/build/building-modules/17-preblock.md
[uncategorized] ~8-~8: You might be missing the article “an” here. (AI_EN_LECTOR_MISSING_DETERMINER_AN)
Context: ...ocker :::note SynopsisPreBlocker
is optional method module developers can implement ...
[style] ~24-~24: This wording can make your sentence hard to follow. Try rephrasing for improved clarity. (DUE_TO_BECAUSE)
Context: ... as unsafe.sdk.Context
is deprecated due to it being a global state within the entire state ...docs/build/building-modules/12-errors.md
[style] ~15-~15: Consider using a more formal alternative. (MORE_INFO)
Context: ...th a codespace that is meant to provide more information to clients and normal go errors. The Co...
[misspelling] ~33-~33: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’. (EN_A_VS_AN)
Context: ...ibution") and is unique per module, and a uint32 code. Together, the codespace an...
[uncategorized] ~42-~42: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...rrors can be returned as their concrete type as they already fulfill theerror
int...docs/build/building-modules/02-messages-and-queries.md
[typographical] ~62-~62: Consider adding a comma. (IF_THEN_COMMA)
Context: ...` If there is a need for custom signers then there is an alternative path which can ...
[style] ~96-~96: Consider an alternative adjective to strengthen your wording. (DEEP_PROFOUND)
Context: ...service (./04-query-services.md). For a deeper look at the lifecycle of aquery
, cli...
[grammar] ~115-~115: You’ve repeated a verb. Did you mean to only write one of them? (REPEATED_VERBS)
Context: ...#appmodule). ### Store Queries Store queries query directly for store keys. They use `clie...docs/build/building-modules/03-msg-services.md
[uncategorized] ~24-~24: The grammatical number of this noun doesn’t look right. Consider replacing it. (AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
Context: ...terface forx/bank
, which exposes twotransaction.Msg
s: ```go reference https://github....
[uncategorized] ~30-~30: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ...When possible, the existing module's [
Keeper`](./06-keeper.md) should implemen...
[uncategorized] ~78-~78: A punctuation mark might be missing here. (AI_EN_LECTOR_MISSING_PUNCTUATION)
Context: ...essful, themsgServer
method uses thekeeper
functions to ac...
[uncategorized] ~105-~105: You might be missing the article “the” here. (AI_EN_LECTOR_MISSING_DETERMINER_THE)
Context: ...anced/08-events.md) to learn more about events. The invokedmsgServer
method return...docs/build/building-modules/01-module-manager.md
[style] ~8-~8: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ...faces](#application-module-interfaces), in order to be managed by the application's [module...
[style] ~8-~8: The phrase “a variety of” may be wordy. To make your writing clearer, consider replacing it. (A_VARIETY_OF)
Context: ...lopers to set the order of execution of a variety of functions like [PreBlocker
](https://d...
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
[uncategorized] ~57-~57: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...terLegacyAminoCodec(*codec.LegacyAmino): Registers the
amino` codec for the mod...
[style] ~57-~57: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ... and unmarshal structs to/from[]byte
in order to persist them in the module'sKVStore
....
[uncategorized] ~65-~65: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...nterfaces(codectypes.InterfaceRegistry)`: Registers a module's interface types an...
[uncategorized] ~73-~73: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...utes(client.Context, *runtime.ServeMux)`: Registers gRPC routes for the module. ...
[uncategorized] ~98-~98: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ds: *DefaultGenesis(codec.JSONCodec)
: Returns a default [GenesisState
](./08...
[uncategorized] ~99-~99: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ient.TxEncodingConfig, json.RawMessage): Used to validate the
GenesisState` def...
[uncategorized] ~146-~146: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...gisterInvariants(sdk.InvariantRegistry): Registers the [
invariants`](./07-invar...
[uncategorized] ~164-~164: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... ``` *RegisterServices(Configurator)
: Allows a module to register services. ...
[uncategorized] ~174-~174: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...6-L12 ``` *ConsensusVersion() uint64
: Returns the consensus version of the mo...
[uncategorized] ~188-~188: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...*
BeginBlock(context.Context) error`: This method gives module developers the...
[uncategorized] ~198-~198: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...``` *EndBlock(context.Context) error
: This method gives module developers the...
[uncategorized] ~208-~208: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ontext) ([]abci.ValidatorUpdate, error)`: This method gives module developers the...
[uncategorized] ~241-~241: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...s: *NewManager(modules ...AppModule)
: Constructor function. It takes a list o...
[uncategorized] ~242-~242: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...OrderInitGenesis(moduleNames ...string): Sets the order in which the [
InitGenes...
[style] ~242-~242: This phrase is redundant. Consider writing “started”. (FIRST_BEGAN)
Context: ... will be called when the application is first started. This function is generally called from...
[uncategorized] ~244-~244: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...derExportGenesis(moduleNames ...string): Sets the order in which the [
ExportGen...
[uncategorized] ~245-~245: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...OrderPreBlockers(moduleNames ...string): Sets the order in which the
PreBlock()...
[uncategorized] ~246-~246: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...derBeginBlockers(moduleNames ...string): Sets the order in which the
BeginBlock...
[uncategorized] ~247-~247: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...OrderEndBlockers(moduleNames ...string): Sets the order in which the
EndBlock()...
[uncategorized] ~248-~248: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...rderPrecommiters(moduleNames ...string): Sets the order in which the
Precommit(...
[uncategorized] ~249-~249: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...pareCheckStaters(moduleNames ...string): Sets the order in which the
PrepareChe...
[uncategorized] ~250-~250: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...tOrderMigrations(moduleNames ...string)`: Sets the order of migrations to be run....
[typographical] ~250-~250: It seems that a comma is missing. (IF_NOT_COMMA)
Context: ...e order of migrations to be run. If not set then migrations will be run with an ord...
[uncategorized] ~251-~251: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...terInvariants(ir sdk.InvariantRegistry)`: Registers the [invariants](./07-invaria...
[uncategorized] ~251-~251: Possible missing article found. (AI_HYDRA_LEO_MISSING_THE)
Context: ...the invariants of module implementing theHasInvariants
interf...
[uncategorized] ~252-~252: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: .... *RegisterServices(cfg Configurator)
: Registers the services of modules imple...
[uncategorized] ~253-~253: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...genesisData map[string]json.RawMessage): Calls the [
InitGenesis`](./08-genesis....
[style] ~253-~253: This phrase is redundant. Consider writing “started”. (FIRST_BEGAN)
Context: ... of each module when the application is first started, in the order defined in `OrderInitGene...
[uncategorized] ~254-~254: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: .... *ExportGenesis(ctx context.Context)
: Calls the [ExportGenesis
](./08-genesi...
[uncategorized] ~255-~255: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...text.Context, modulesToExport []string): Behaves the same as
ExportGenesis`, ex...
[uncategorized] ~256-~256: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...BeginBlock(ctx context.Context) error
: At the beginning of each block, this fu...
[grammar] ~256-~256: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: .../06-beginblock-endblock.md) function of each modules implementing the `appmodule.HasBeginBlo...
[grammar] ~256-~256: The noun should probably be in the singular form. (EVERY_EACH_SINGULAR)
Context: ...dvanced/08-events.md) emitted from each modules. * `EndBlock(ctx context.Context) error...
[uncategorized] ~257-~257: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... *EndBlock(ctx context.Context) error
: At the end of each block, this function...
[grammar] ~257-~257: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: .../06-beginblock-endblock.md) function of each modules implementing the `appmodule.HasEndBlock...
[uncategorized] ~258-~258: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ontext) ([]abci.ValidatorUpdate, error)`: At the end of each block, this function...
[grammar] ~258-~258: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: .../06-beginblock-endblock.md) function of each modules implementing the `module.HasABCIEndBloc...
[uncategorized] ~259-~259: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...any). *Precommit(ctx context.Context)
: During [Commit
](../../learn/advanced/...
[grammar] ~259-~259: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: ... turn calls thePrecommit
function of each modules implementing theHasPrecommit
interfa...
[uncategorized] ~260-~260: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...PrepareCheckState(ctx context.Context)
: During [Commit
](../../learn/advanced/...
[style] ~261-~261: ‘early on in the’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_EARLY_ON_IN_THE)
Context: ...module. This function is usually called early on in the [application's construction](../../lear...
[uncategorized] ~262-~262: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...(registry codectypes.InterfaceRegistry)`: Registers interface types and implement...
[uncategorized] ~264-~264: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... *DefaultGenesis(cdc codec.JSONCodec)
: Provides default genesis information fo...
[grammar] ~264-~264: Possible subject-verb agreement error. (NNS_THAT_AGREEMENT)
Context: ... module. It only calls the modules that implements theHasGenesisBasics
interfaces. * `V...
[uncategorized] ~265-~265: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ig, genesis map[string]json.RawMessage)`: Validates the genesis information modul...
Markdownlint
docs/build/building-modules/12-errors.md
15-15: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/02-messages-and-queries.md
42-42: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
44-44: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
54-54: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
58-58: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
62-62: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
67-67: Column: 1 (MD010, no-hard-tabs)
Hard tabs
68-68: Column: 1 (MD010, no-hard-tabs)
Hard tabs
70-70: Column: 1 (MD010, no-hard-tabs)
Hard tabs
71-71: Column: 1 (MD010, no-hard-tabs)
Hard tabs
73-73: Column: 1 (MD010, no-hard-tabs)
Hard tabs
74-74: Column: 1 (MD010, no-hard-tabs)
Hard tabs
27-27: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
93-93: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
112-112: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank linesdocs/build/building-modules/03-msg-services.md
38-38: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
40-40: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
44-44: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
57-57: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
80-80: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
93-93: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
63-63: Column: 1 (MD010, no-hard-tabs)
Hard tabs
64-64: Column: 1 (MD010, no-hard-tabs)
Hard tabs
65-65: Column: 1 (MD010, no-hard-tabs)
Hard tabs
66-66: Column: 1 (MD010, no-hard-tabs)
Hard tabs
67-67: Column: 1 (MD010, no-hard-tabs)
Hard tabs
90-90: Column: 1 (MD010, no-hard-tabs)
Hard tabs
97-97: Column: 1 (MD010, no-hard-tabs)
Hard tabs
98-98: Column: 1 (MD010, no-hard-tabs)
Hard tabs
99-99: Column: 1 (MD010, no-hard-tabs)
Hard tabs
100-100: Column: 1 (MD010, no-hard-tabs)
Hard tabs
101-101: Column: 1 (MD010, no-hard-tabs)
Hard tabsdocs/build/building-modules/01-module-manager.md
130-130: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
221-221: Column: 1 (MD010, no-hard-tabs)
Hard tabs
75-75: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
210-210: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
213-213: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
Additional comments not posted (5)
docs/build/building-modules/17-preblock.md (1)
21-24
: Clarify the role of thePreBlocker
method in modifying consensus parameters.Verification successful
To verify the role of the
PreBlocker
method in modifying consensus parameters, we need to gather more detailed information from the relevant documentation files. Specifically, we need to extract the sections that describePreBlocker
and its impact on consensus parameters.
The documentation clearly outlines the role of the
PreBlocker
method in modifying consensus parameters. ThePreBlocker
method is an optional lifecycle method that runs before theBeginBlocker
of all modules. It can modify consensus parameters in storage and signal the caller through the return value. Additionally, modules are required to get the consensus parameters from the consensus module, as thesdk.Context
is deprecated and considered unsafe.The provided documentation snippets already clarify the role and impact of the
PreBlocker
method. Therefore, no further clarification is needed.
docs/build/building-modules/17-preblock.md
: Describes thePreBlocker
method and its ability to modify consensus parameters.docs/build/building-modules/01-module-manager.md
: Details theHasPreBlocker
interface for modules with aPreBlock
method.UPGRADING.md
: Explains the addition of theSetPreBlocker
method to BaseApp and its importance in modifying consensus parameters.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the implementation and impact of the PreBlocker method on consensus parameters. # Test: Search for the usage of PreBlocker in the codebase. Expect: Clear implementation details and impact analysis. rg --type md "PreBlocker"Length of output: 5457
Script:
#!/bin/bash # Extract sections describing PreBlocker from relevant documentation files # Extract from docs/build/building-modules/17-preblock.md echo "==> docs/build/building-modules/17-preblock.md" sed -n '/# PreBlocker/,/#/p' docs/build/building-modules/17-preblock.md # Extract from docs/build/building-modules/01-module-manager.md echo "==> docs/build/building-modules/01-module-manager.md" sed -n '/### `HasPreBlocker`/,/###/p' docs/build/building-modules/01-module-manager.md # Extract from UPGRADING.md echo "==> UPGRADING.md" sed -n '/#### Set PreBlocker/,/####/p' UPGRADING.mdLength of output: 2502
Tools
LanguageTool
[style] ~24-~24: This wording can make your sentence hard to follow. Try rephrasing for improved clarity. (DUE_TO_BECAUSE)
Context: ... as unsafe.sdk.Context
is deprecated due to it being a global state within the entire state ...docs/build/building-modules/02-messages-and-queries.md (2)
28-28
: Ensure the documentation accurately reflects the updated interface usage.This update correctly reflects the transition to using the
transaction.Msg
interface.
42-42
: Correct article usage for better grammatical accuracy.- `transaction.Msg` is an alias of `proto.Message`. + `transaction.Msg` is an alias of `proto.Message`.Likely invalid or redundant comment.
Tools
Markdownlint
42-42: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spacesdocs/build/building-modules/03-msg-services.md (1)
84-84
: Correct the spelling to use a hyphen in "two-way".- There are two ways to emit events, typed events using protobuf or arbitrary key & values. + There are two-way to emit events, typed events using protobuf or arbitrary key & values.Likely invalid or redundant comment.
docs/build/building-modules/01-module-manager.md (1)
202-202
: The interfaceHasABCIEndBlock
has been renamed toHasUpdateValidators
to better reflect its functionality.Ensure that all references to the old interface name are updated throughout the codebase.
|
||
```go reference | ||
https://github.com/cosmos/cosmos-sdk/blob/v0.50.0-alpha.0/core/appmodule/module.go#L66-L72 | ||
https://github.com/cosmos/cosmos-sdk/blob/28fa3b8dfcb3208d3b1cfbae08eda519e4cc1560/core/appmodule/v2/module.go#L40-L48 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct the verb form for grammatical accuracy.
- If a module need to return validator set updates (staking), they can use `HasABCIEndBlock`
+ If a module needs to return validator set updates (staking), they can use `HasABCIEndBlock`
Committable suggestion was skipped due to low confidence.
The new ctx must be passed to all the other lifecycle methods. | ||
|
||
<!-- TODO: leaving this here to update docs with core api changes --> | ||
Modules are required to get the consensus params from the consensus module. Consensus params located in `sdk.Context` were depreacted and should be treated as unsafe. `sdk.Context` is deprecated due to it being a global state within the entire state machine, it has been replaced with `appmodule.Environment`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider rephrasing for clarity.
- Modules are required to get the consensus params from the consensus module. Consensus params located in `sdk.Context` were depreacted and should be treated as unsafe. `sdk.Context` is deprecated due to it being a global state within the entire state machine, it has been replaced with `appmodule.Environment`.
+ Modules must retrieve consensus parameters from the consensus module. Using consensus parameters from `sdk.Context` is deprecated and unsafe due to its global state nature in the state machine. It has been replaced by `appmodule.Environment`.
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.
Modules are required to get the consensus params from the consensus module. Consensus params located in `sdk.Context` were depreacted and should be treated as unsafe. `sdk.Context` is deprecated due to it being a global state within the entire state machine, it has been replaced with `appmodule.Environment`. | |
Modules must retrieve consensus parameters from the consensus module. Using consensus parameters from `sdk.Context` is deprecated and unsafe due to its global state nature in the state machine. It has been replaced by `appmodule.Environment`. |
Tools
LanguageTool
[style] ~24-~24: This wording can make your sentence hard to follow. Try rephrasing for improved clarity. (DUE_TO_BECAUSE)
Context: ... as unsafe.sdk.Context
is deprecated due to it being a global state within the entire state ...
common or general errors which can be further wrapped to provide additional specific execution context. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Provide examples of common errors to enhance understanding.
Would you like me to draft some examples of common errors that could be defined at the module level?
## Wrapping | ||
|
||
The custom module errors can be returned as their concrete type as they already fulfill the `error` | ||
interface. However, module errors can be wrapped to provide further context and meaning to failed | ||
execution. | ||
interface. However, module errors can be wrapped to provide further context and meaning to failed execution. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clarify the use of error wrapping to provide additional context.
Would you like me to provide a code example that illustrates how to wrap module errors to add more context?
There are two ways to return errors. You can register custom errors with a codespace that is meant to provide more information to clients and normal go errors. The Cosmos SDK uses a mixture of both. | ||
|
||
:::Warning | ||
If errors are registered they are part of consensus and cannot be changed in a minor release | ||
::: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure clarity and conciseness in the documentation of error handling.
- There are two ways to return errors. You can register custom errors with a codespace that is meant to provide more information to clients and normal go errors. The Cosmos SDK uses a mixture of both.
+ There are two ways to return errors: registering custom errors with a codespace to provide detailed information to clients, and using standard Go errors. The Cosmos SDK employs both methods.
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.
There are two ways to return errors. You can register custom errors with a codespace that is meant to provide more information to clients and normal go errors. The Cosmos SDK uses a mixture of both. | |
:::Warning | |
If errors are registered they are part of consensus and cannot be changed in a minor release | |
::: | |
There are two ways to return errors: registering custom errors with a codespace to provide detailed information to clients, and using standard Go errors. The Cosmos SDK employs both methods. | |
:::Warning | |
If errors are registered they are part of consensus and cannot be changed in a minor release | |
::: |
Tools
LanguageTool
[style] ~15-~15: Consider using a more formal alternative. (MORE_INFO)
Context: ...th a codespace that is meant to provide more information to clients and normal go errors. The Co...
Markdownlint
15-15: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
@@ -21,25 +21,33 @@ Each module should define a Protobuf `Msg` service, which will be responsible fo | |||
|
|||
As further described in [ADR 031](../../architecture/adr-031-msg-service.md), this approach has the advantage of clearly specifying return types and generating server and client code. | |||
|
|||
Protobuf generates a `MsgServer` interface based on a definition of `Msg` service. It is the role of the module developer to implement this interface, by implementing the state transition logic that should happen upon receival of each `sdk.Msg`. As an example, here is the generated `MsgServer` interface for `x/bank`, which exposes two `sdk.Msg`s: | |||
Protobuf generates a `MsgServer` interface based on the definition of `Msg` service. It is the role of the module developer to implement this interface, by implementing the state transition logic that should happen upon receival of each `transaction.Msg`. As an example, here is the generated `MsgServer` interface for `x/bank`, which exposes two `transaction.Msg`s: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct grammatical issues in the documentation.
- Protobuf generates a `MsgServer` interface based on the definition of `Msg` service. It is the role of the module developer to implement this interface, by implementing the state transition logic that should happen upon receival of each `transaction.Msg`.
+ Protobuf generates a `MsgServer` interface based on the definition of a `Msg` service. It is the role of the module developer to implement this interface by implementing the state transition logic that occurs upon receipt of each `transaction.Msg`.
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.
Protobuf generates a `MsgServer` interface based on the definition of `Msg` service. It is the role of the module developer to implement this interface, by implementing the state transition logic that should happen upon receival of each `transaction.Msg`. As an example, here is the generated `MsgServer` interface for `x/bank`, which exposes two `transaction.Msg`s: | |
Protobuf generates a `MsgServer` interface based on the definition of a `Msg` service. It is the role of the module developer to implement this interface by implementing the state transition logic that occurs upon receipt of each `transaction.Msg`. As an example, here is the generated `MsgServer` interface for `x/bank`, which exposes two `transaction.Msg`s: |
Tools
LanguageTool
[uncategorized] ~24-~24: The grammatical number of this noun doesn’t look right. Consider replacing it. (AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
Context: ...terface forx/bank
, which exposes twotransaction.Msg
s: ```go reference https://github....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Outside diff range and nitpick comments (9)
docs/build/building-modules/01-module-manager.md (9)
Line range hint
8-8
: Consider revising the phrase "in order to" to make the sentence more concise.- Cosmos SDK modules need to implement the [`AppModule` interfaces](#application-module-interfaces), in order to be managed by the application's [module manager]. + Cosmos SDK modules need to implement the [`AppModule` interfaces](#application-module-interfaces) to be managed by the application's [module manager].Tools
LanguageTool
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
Line range hint
8-8
: Revise the phrase "a variety of" for clarity.- and allows application developers to set the order of execution of a variety of functions like [`PreBlocker`](https://docs.cosmos.network/main/learn/beginner/app-anatomy) and [`BeginBlocker` and `EndBlocker`](https://docs.cosmos.network/main/learn/beginner/app-anatomy). + and allows application developers to set the order of execution of several functions like [`PreBlocker`](https://docs.cosmos.network/main/learn/beginner/app-anatomy) and [`BeginBlocker` and `EndBlocker`](https://docs.cosmos.network/main/learn/beginner/app-anatomy).Tools
LanguageTool
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
Line range hint
24-24
: Insert a comma after "For legacy reason" for grammatical accuracy.- For legacy reason modules can still implement interfaces from the SDK `module` package. + For legacy reason, modules can still implement interfaces from the SDK `module` package.Tools
LanguageTool
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
Line range hint
242-242
: The phrase "first started" is redundant. Consider simplifying.- Sets the order in which the [`InitGenesis`](./08-genesis.md#initgenesis) function of each module will be called when the application is first started. + Sets the order in which the [`InitGenesis`](./08-genesis.md#initgenesis) function of each module will be called when the application starts.Tools
LanguageTool
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
Line range hint
253-253
: The phrase "first started" is redundant. Consider simplifying.- Calls the [`InitGenesis`](./08-genesis.md#initgenesis) function of each module when the application is first started, in the order defined in `OrderInitGenesis`. + Calls the [`InitGenesis`](./08-genesis.md#initgenesis) function of each module when the application starts, in the order defined in `OrderInitGenesis`.Tools
LanguageTool
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
Line range hint
256-256
: Use singular nouns after "each" for grammatical accuracy.- At the beginning of each block, this function is called from [`BaseApp`](../../learn/advanced/00-baseapp.md#beginblock) and, in turn, calls the [`BeginBlock`](./06-beginblock-endblock.md) function of each modules implementing the `appmodule.HasBeginBlocker` interface, in the order defined in `OrderBeginBlockers`. + At the beginning of each block, this function is called from [`BaseApp`](../../learn/advanced/00-baseapp.md#beginblock) and, in turn, calls the [`BeginBlock`](./06-beginblock-endblock.md) function of each module implementing the `appmodule.HasBeginBlocker` interface, in the order defined in `OrderBeginBlockers`.Tools
LanguageTool
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
Line range hint
257-257
: Use singular nouns after "each" for grammatical accuracy.- At the end of each block, this function is called from [`BaseApp`](../../learn/advanced/00-baseapp.md#endblock) and, in turn, calls the [`EndBlock`](./06-beginblock-endblock.md) function of each modules implementing the `appmodule.HasEndBlocker` interface, in the order defined in `OrderEndBlockers`. + At the end of each block, this function is called from [`BaseApp`](../../learn/advanced/00-baseapp.md#endblock) and, in turn, calls the [`EndBlock`](./06-beginblock-endblock.md) function of each module implementing the `appmodule.HasEndBlocker` interface, in the order defined in `OrderEndBlockers`.Tools
LanguageTool
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
Line range hint
258-258
: Use singular nouns after "each" for grammatical accuracy.- At the end of each block, this function is called from [`BaseApp`](../../learn/advanced/00-baseapp.md#endblock) and, in turn, calls the [`EndBlock`](./06-beginblock-endblock.md) function of each modules implementing the `module.HasABCIEndBlock` interface, in the order defined in `OrderEndBlockers`. + At the end of each block, this function is called from [`BaseApp`](../../learn/advanced/00-baseapp.md#endblock) and, in turn, calls the [`EndBlock`](./06-beginblock-endblock.md) function of each module implementing the `module.HasABCIEndBlock` interface, in the order defined in `OrderEndBlockers`.Tools
LanguageTool
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
Line range hint
259-259
: Use singular nouns after "each" for grammatical accuracy.- During [`Commit`](../../learn/advanced/00-baseapp.md#commit), this function is called from `BaseApp` immediately before the [`deliverState`](../../learn/advanced/00-baseapp.md#state-updates) is written to the underlying [`rootMultiStore`](../../learn/advanced/04-store.md#commitmultistore) and, in turn calls the `Precommit` function of each modules implementing the `HasPrecommit` interface, in the order defined in `OrderPrecommiters`. + During [`Commit`](../../learn/advanced/00-baseapp.md#commit), this function is called from `BaseApp` immediately before the [`deliverState`](../../learn/advanced/00-baseapp.md#state-updates) is written to the underlying [`rootMultiStore`](../../learn/advanced/04-store.md#commitmultistore) and, in turn calls the `Precommit` function of each module implementing the `HasPrecommit` interface, in the order defined in `OrderPrecommiters`.Tools
LanguageTool
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (1)
- docs/build/building-modules/01-module-manager.md (8 hunks)
Additional context used
Path-based instructions (1)
docs/build/building-modules/01-module-manager.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/build/building-modules/01-module-manager.md
[style] ~8-~8: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ...faces](#application-module-interfaces), in order to be managed by the application's [module...
[style] ~8-~8: The phrase “a variety of” may be wordy. To make your writing clearer, consider replacing it. (A_VARIETY_OF)
Context: ...lopers to set the order of execution of a variety of functions like [PreBlocker
](https://d...
[uncategorized] ~24-~24: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...s less dependent on the SDK. For legacy reason modules can still implement interfaces ...
[uncategorized] ~39-~39: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasPreBlocker`](#haspreblocker): The extension interface that contains i...
[uncategorized] ~40-~40: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasBeginBlocker`](#hasbeginblocker): The extension interface that contains i...
[uncategorized] ~41-~41: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ppmodule.HasEndBlocker`](#hasendblocker): The extension interface that contains i...
[uncategorized] ~43-~43: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...dule.HasABCIEndBlock`](#hasabciendblock): The extension interface that contains i...
[uncategorized] ~57-~57: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...terLegacyAminoCodec(*codec.LegacyAmino): Registers the
amino` codec for the mod...
[style] ~57-~57: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ... and unmarshal structs to/from[]byte
in order to persist them in the module'sKVStore
....
[uncategorized] ~65-~65: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...nterfaces(codectypes.InterfaceRegistry)`: Registers a module's interface types an...
[uncategorized] ~73-~73: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...utes(client.Context, *runtime.ServeMux)`: Registers gRPC routes for the module. ...
[uncategorized] ~98-~98: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ds: *DefaultGenesis(codec.JSONCodec)
: Returns a default [GenesisState
](./08...
[uncategorized] ~99-~99: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ient.TxEncodingConfig, json.RawMessage): Used to validate the
GenesisState` def...
[uncategorized] ~146-~146: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...gisterInvariants(sdk.InvariantRegistry): Registers the [
invariants`](./07-invar...
[uncategorized] ~164-~164: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... ``` *RegisterServices(Configurator)
: Allows a module to register services. ...
[uncategorized] ~174-~174: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...6-L12 ``` *ConsensusVersion() uint64
: Returns the consensus version of the mo...
[uncategorized] ~188-~188: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...*
BeginBlock(context.Context) error`: This method gives module developers the...
[uncategorized] ~198-~198: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...``` *EndBlock(context.Context) error
: This method gives module developers the...
[uncategorized] ~208-~208: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ontext) ([]abci.ValidatorUpdate, error)`: This method gives module developers the...
[uncategorized] ~241-~241: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...s: *NewManager(modules ...AppModule)
: Constructor function. It takes a list o...
[uncategorized] ~242-~242: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...OrderInitGenesis(moduleNames ...string): Sets the order in which the [
InitGenes...
[style] ~242-~242: This phrase is redundant. Consider writing “started”. (FIRST_BEGAN)
Context: ... will be called when the application is first started. This function is generally called from...
[uncategorized] ~244-~244: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...derExportGenesis(moduleNames ...string): Sets the order in which the [
ExportGen...
[uncategorized] ~245-~245: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...OrderPreBlockers(moduleNames ...string): Sets the order in which the
PreBlock()...
[uncategorized] ~246-~246: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...derBeginBlockers(moduleNames ...string): Sets the order in which the
BeginBlock...
[uncategorized] ~247-~247: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...OrderEndBlockers(moduleNames ...string): Sets the order in which the
EndBlock()...
[uncategorized] ~248-~248: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...rderPrecommiters(moduleNames ...string): Sets the order in which the
Precommit(...
[uncategorized] ~249-~249: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...pareCheckStaters(moduleNames ...string): Sets the order in which the
PrepareChe...
[uncategorized] ~250-~250: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...tOrderMigrations(moduleNames ...string)`: Sets the order of migrations to be run....
[typographical] ~250-~250: It seems that a comma is missing. (IF_NOT_COMMA)
Context: ...e order of migrations to be run. If not set then migrations will be run with an ord...
[uncategorized] ~251-~251: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...terInvariants(ir sdk.InvariantRegistry)`: Registers the [invariants](./07-invaria...
[uncategorized] ~251-~251: Possible missing article found. (AI_HYDRA_LEO_MISSING_THE)
Context: ...the invariants of module implementing theHasInvariants
interf...
[uncategorized] ~252-~252: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: .... *RegisterServices(cfg Configurator)
: Registers the services of modules imple...
[uncategorized] ~253-~253: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...genesisData map[string]json.RawMessage): Calls the [
InitGenesis`](./08-genesis....
[style] ~253-~253: This phrase is redundant. Consider writing “started”. (FIRST_BEGAN)
Context: ... of each module when the application is first started, in the order defined in `OrderInitGene...
[uncategorized] ~254-~254: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: .... *ExportGenesis(ctx context.Context)
: Calls the [ExportGenesis
](./08-genesi...
[uncategorized] ~255-~255: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...text.Context, modulesToExport []string): Behaves the same as
ExportGenesis`, ex...
[uncategorized] ~256-~256: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...BeginBlock(ctx context.Context) error
: At the beginning of each block, this fu...
[grammar] ~256-~256: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: .../06-beginblock-endblock.md) function of each modules implementing the `appmodule.HasBeginBlo...
[grammar] ~256-~256: The noun should probably be in the singular form. (EVERY_EACH_SINGULAR)
Context: ...dvanced/08-events.md) emitted from each modules. * `EndBlock(ctx context.Context) error...
[uncategorized] ~257-~257: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... *EndBlock(ctx context.Context) error
: At the end of each block, this function...
[grammar] ~257-~257: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: .../06-beginblock-endblock.md) function of each modules implementing the `appmodule.HasEndBlock...
[uncategorized] ~258-~258: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ontext) ([]abci.ValidatorUpdate, error)`: At the end of each block, this function...
[grammar] ~258-~258: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: .../06-beginblock-endblock.md) function of each modules implementing the `module.HasABCIEndBloc...
[uncategorized] ~259-~259: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...any). *Precommit(ctx context.Context)
: During [Commit
](../../learn/advanced/...
[grammar] ~259-~259: Use a singular noun after the quantifier ‘each’, or change it to “all”. (EACH_EVERY_NNS)
Context: ... turn calls thePrecommit
function of each modules implementing theHasPrecommit
interfa...
[uncategorized] ~260-~260: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...PrepareCheckState(ctx context.Context)
: During [Commit
](../../learn/advanced/...
[style] ~261-~261: ‘early on in the’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_EARLY_ON_IN_THE)
Context: ...module. This function is usually called early on in the [application's construction](../../lear...
[uncategorized] ~262-~262: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...(registry codectypes.InterfaceRegistry)`: Registers interface types and implement...
[uncategorized] ~264-~264: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ... *DefaultGenesis(cdc codec.JSONCodec)
: Provides default genesis information fo...
[grammar] ~264-~264: Possible subject-verb agreement error. (NNS_THAT_AGREEMENT)
Context: ... module. It only calls the modules that implements theHasGenesisBasics
interfaces. * `V...
[uncategorized] ~265-~265: Loose punctuation mark. (UNLIKELY_OPENING_PUNCTUATION)
Context: ...ig, genesis map[string]json.RawMessage)`: Validates the genesis information modul...
Markdownlint
docs/build/building-modules/01-module-manager.md
130-130: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
216-216: Expected: 0 or 2; Actual: 1 (MD009, no-trailing-spaces)
Trailing spaces
221-221: Column: 1 (MD010, no-hard-tabs)
Hard tabs
75-75: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
210-210: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
213-213: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Description
Closes: #17207
Add docs on core api
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
!
in the type prefix if API or client breaking changeCHANGELOG.md
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
Please see Pull Request Reviewer section in the contributing guide for more information on how to review a pull request.
I have...
Summary by CodeRabbit
Msg
services.