-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
docs: fix several typos in the document #22135
Conversation
Warning Rate limit exceeded@xiaobei0715 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 24 minutes and 23 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 Walkthrough📝 Walkthrough📝 Walkthrough📝 WalkthroughWalkthroughThe pull request updates the Changes
Suggested labels
Suggested reviewers
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (10)
docs/architecture/adr-012-state-accessors.md (1)
Line range hint
1-165
: Overall document review: Well-structured and informativeThe ADR is well-written, providing a clear explanation of the proposed changes to state accessors in Cosmos SDK modules. The document structure, including the context, decision, and consequences sections, effectively communicates the rationale behind the proposal and its potential impact.
Minor suggestion for improvement:
Consider adding a brief example or use case in the "Positive" consequences section to illustrate how the new accessor types would simplify code and improve UX in practice. This could help readers better understand the benefits of the proposed changes.🧰 Tools
🪛 LanguageTool
[style] ~15-~15: To elevate your writing, try using a synonym here.
Context: ...XX` functions, which are repetitive and hard to maintain. Second, this makes it har...(HARD_TO)
docs/architecture/adr-013-metrics.md (2)
Line range hint
33-60
: Well-structured telemetry configuration block addedThe new configuration block for
app.toml
is a valuable addition. It provides clear options for configuring telemetry with helpful explanations for each setting. This will make it easier for operators to understand and configure telemetry for their applications.For consistency, consider adding a brief explanation for the
service-name
option, similar to the other options in the block.
Line range hint
62-95
: Well-documented Metrics type and Gather methodThe addition of the
Metrics
type and itsGather
method is well-implemented and clearly documented. The code snippets provide a good overview of how metrics are handled and gathered in different formats.To improve clarity, consider adding a brief comment above the
switch
statement in theGather
method to explain the purpose of the different format options.docs/architecture/adr-003-dynamic-capability-store.md (1)
330-330
: Consider adding a comma for improved readability.To enhance the clarity of this sentence, consider adding a comma after "go-map". This would separate the two main clauses and improve the overall readability. The revised sentence would read:
"Allows CapabilityKeeper to return the same capability pointer from go-map, while reverting any writes to the persistent
KVStore
and in-memoryMemoryStore
on tx failure."🧰 Tools
🪛 LanguageTool
[uncategorized] ~330-~330: Possible missing comma found.
Context: ...urn the same capability pointer from go-map while reverting any writes to the persi...(AI_HYDRA_LEO_MISSING_COMMA)
docs/architecture/adr-010-modular-antehandler.md (6)
Line range hint
3-6
: Changelog update looks good, consider adding a link to ADR-045.The addition of the new Changelog entry is appropriate and informative. To enhance usability, consider adding a hyperlink to ADR-045 for easy reference.
You could update the line as follows:
-* 2021 Sep 14: Superseded by ADR-045 +* 2021 Sep 14: Superseded by [ADR-045](../adr-045-state-callbacks.md)🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: Possible missing comma found.
Context: ...itecture Cons: 1. Improves granularity but still cannot get more granular than a p...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~31-~31: Consider using more formal and concise wording here.
Context: ...s. e.g. If auth'sAnteHandle
function is in charge of validating memo and signatures, users c...(RESPONSIBLE_FOR)
Line range hint
12-16
: Context revision provides clearer problem statement.The updated Context section effectively communicates the limitations of the current AnteHandler design and the need for modularity. It sets the stage well for the proposals that follow.
Consider adding a brief explanation of what an AnteHandler is for readers who might be new to the concept. You could add a sentence like:
An AnteHandler in Cosmos SDK is responsible for performing preliminary transaction checks and modifications before the transaction is processed.🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: Possible missing comma found.
Context: ...itecture Cons: 1. Improves granularity but still cannot get more granular than a p...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~31-~31: Consider using more formal and concise wording here.
Context: ...s. e.g. If auth'sAnteHandle
function is in charge of validating memo and signatures, users c...(RESPONSIBLE_FOR)
Line range hint
18-32
: New "Per-Module AnteHandler" proposal is well-structured and informative.The addition of this proposal provides a clear explanation of using the ModuleManager for AnteHandlers. The pros and cons are particularly helpful for understanding the trade-offs.
To improve clarity, consider adding a brief code example demonstrating how a module would implement its own AnteHandler. This could help readers better visualize the proposed solution.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: Possible missing comma found.
Context: ...itecture Cons: 1. Improves granularity but still cannot get more granular than a p...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~31-~31: Consider using more formal and concise wording here.
Context: ...s. e.g. If auth'sAnteHandle
function is in charge of validating memo and signatures, users c...(RESPONSIBLE_FOR)
Line range hint
34-94
: "Decorator Pattern" proposal provides valuable insights.This new proposal offers a comprehensive explanation of the decorator pattern approach, with helpful code examples from the Weave project. The pros and cons provide a balanced view of this solution.
To enhance the proposal, consider adding a brief comparison between this approach and the "Per-Module AnteHandler" approach. This could help readers understand when one might be preferred over the other.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: Possible missing comma found.
Context: ...itecture Cons: 1. Improves granularity but still cannot get more granular than a p...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~31-~31: Consider using more formal and concise wording here.
Context: ...s. e.g. If auth'sAnteHandle
function is in charge of validating memo and signatures, users c...(RESPONSIBLE_FOR)
Line range hint
96-193
: "Chained Micro-Functions" proposal offers a comprehensive solution.This new proposal effectively combines ideas from the previous approaches, addressing their limitations. The detailed explanations and code examples for both default and custom workflows are particularly valuable.
To improve readability, consider adding subheadings within the code examples to clearly delineate the "Cosmos SDK code" and "User Code" sections. This could help readers navigate the lengthy code blocks more easily.
🧰 Tools
🪛 LanguageTool
[style] ~160-~160: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...andler logic. In this example, the user wants to implement custom signature verification...(REP_WANT_TO_VB)
Line range hint
195-290
: "Simple Decorators" proposal offers a balanced approach.This final proposal effectively combines ideas from Weave's decorator design with Cosmos SDK's existing architecture. The detailed code examples and clear explanations make it easy to understand the proposed solution.
In the example code section, consider rephrasing the sentence:
-This is an example workflow for a user who wants to implement custom antehandler logic. In this example, the user wants to implement custom signature verification... +This example demonstrates a workflow for implementing custom antehandler logic, specifically for custom signature verification...This change addresses the repetitive phrasing flagged by the static analysis tool and improves the sentence's clarity.
📜 Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
📒 Files selected for processing (5)
- docs/architecture/adr-003-dynamic-capability-store.md (4 hunks)
- docs/architecture/adr-010-modular-antehandler.md (3 hunks)
- docs/architecture/adr-012-state-accessors.md (1 hunks)
- docs/architecture/adr-013-metrics.md (2 hunks)
- docs/architecture/adr-016-validator-consensus-key-rotation.md (4 hunks)
🧰 Additional context used
📓 Path-based instructions (5)
docs/architecture/adr-003-dynamic-capability-store.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/architecture/adr-010-modular-antehandler.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/architecture/adr-012-state-accessors.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/architecture/adr-013-metrics.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"docs/architecture/adr-016-validator-consensus-key-rotation.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
🪛 LanguageTool
docs/architecture/adr-003-dynamic-capability-store.md
[uncategorized] ~330-~330: Possible missing comma found.
Context: ...urn the same capability pointer from go-map while reverting any writes to the persi...(AI_HYDRA_LEO_MISSING_COMMA)
docs/architecture/adr-010-modular-antehandler.md
[style] ~160-~160: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...andler logic. In this example, the user wants to implement custom signature verification...(REP_WANT_TO_VB)
docs/architecture/adr-016-validator-consensus-key-rotation.md
[uncategorized] ~10-~10: Possible missing comma found.
Context: ...rms of validator consensus key rotation implementation mostly onto Cosmos SDK. We don't need ...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~29-~29: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...g information management strategy * store history of each key mapping change in t...(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
[uncategorized] ~29-~29: You might be missing the article “the” here.
Context: ...rmation management strategy * store history of each key mapping change in the kvsto...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~30-~30: Possible missing article found.
Context: ...ore. * the state machine can search corresponding consensus key paired with the given val...(AI_HYDRA_LEO_MISSING_THE)
[grammar] ~37-~37: Please verify that the plural noun “parameters” is in agreement with the quantifier “1”. Did you mean to use the singular form?
Context: ...could be made to happen more times than 1 * parameters can be decided by governance and stored...(ONE_PLURAL)
[grammar] ~42-~42: This phrase is duplicated. You should probably use “evidence module” only once.
Context: ...nHistory` in recent unbonding period) * evidence module * evidence module can search corresponding consensus key ...(PHRASE_REPETITION)
[uncategorized] ~45-~45: You might be missing the article “the” here.
Context: ...atorUpdate * tendermint already has ability to change a consensus key by ABCI commu...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~46-~46: You might be missing the article “a” here.
Context: ...sus key update can be done via creating new + delete old by change the power to zer...(AI_EN_LECTOR_MISSING_DETERMINER_A)
[uncategorized] ~46-~46: This verb may not be in the correct form. Consider using a different form for this context.
Context: ...e done via creating new + delete old by change the power to zero. * therefore, we ...(AI_EN_LECTOR_REPLACEMENT_VERB_FORM)
[grammar] ~47-~47: The word order is incorrect. Did you mean “do not even”?
Context: ... to zero. * therefore, we expect we even do not need to change tendermint codebase at a...(DO_NOT_EVEN_WORD_ORDER)
[uncategorized] ~47-~47: You might be missing the article “the” here.
Context: ...we expect we even do not need to change tendermint codebase at all to implement this featu...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~48-~48: You might be missing the article “the” here.
Context: ...is feature. * new genesis parameters instaking
module * `MaxConsPubKeyRota...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~50-~50: Possible missing preposition found.
Context: ... recent unbonding period. default value 1atom is suggested(1atom fee for the first ke...(AI_EN_LECTOR_MISSING_PREPOSITION)
🔇 Additional comments (10)
docs/architecture/adr-012-state-accessors.md (1)
18-18
: Approved: Improved clarity in explanationThe change from "gives access to the whole Merkle tree" to "gives full access to the entire Merkle tree" enhances the precision of the statement. This modification better emphasizes the extent of access granted by the
StoreKey
, which is crucial for understanding the security implications discussed in this context.docs/architecture/adr-013-metrics.md (2)
13-13
: Improved clarity and grammar in the Context sectionThe changes in this line enhance the readability and correctness of the document. The phrase "in debugging" is grammatically correct, and the additional context about understanding the application's behavior and performance is valuable.
151-151
: Grammatical improvement in Consequences sectionThe change from "Exposure into the performance" to "Exposure to the performance" is a correct grammatical improvement. This small change enhances the clarity of the document.
docs/architecture/adr-003-dynamic-capability-store.md (6)
12-13
: Improved clarity in context explanation.The wording change enhances the clarity of the explanation regarding the need for dynamic capability creation in the context of IBC specification implementation. This improvement aids in better understanding of the ADR's purpose.
30-38
: Enhanced accuracy in CapabilityKeeper description.The changes in this section provide a more precise explanation of the CapabilityKeeper's structure and initialization process. Notably, the description of the MemoryStore's mappings has been clarified:
- The forward mapping now correctly describes the relationship between module name, capability tuples, and capability names.
- The reverse mapping is now accurately described as mapping from module name and capability name to the capability index.
These improvements contribute to a better understanding of the CapabilityKeeper's internal structure and functionality.
280-281
: Improved clarity in usage pattern example.The wording change in this section enhances the clarity of the example scenario. By specifying that module 1 wants to create a capability and associate it with a resource (e.g., an IBC channel) by name, the example becomes more concrete and easier to understand in the context of the ADR's purpose.
335-335
: Improved context in negative consequences.The wording change in this line provides valuable additional context about the overlap with the existing
StoreKey
system. By mentioning that they could potentially be combined in the future, it gives readers a better understanding of the long-term implications and potential evolution of the system. This addition enhances the overall completeness of the ADR's consequences section.
336-336
: Important addition to negative consequences.This new line provides a crucial piece of information about a potential drawback of the proposed system. The additional level of indirection in the reverse mapping (MemoryStore to index to capability) is an important consideration for implementers and users of this system. This addition enhances the completeness and transparency of the ADR by clearly stating all known negative consequences of the design decision.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~336-~336: Possible missing article found.
Context: ... mapping, since MemoryStore must map to index which must then be used as key in a go ...(AI_HYDRA_LEO_MISSING_AN)
Line range hint
1-346
: Overall improvement in ADR clarity and completeness.The changes made throughout this ADR have significantly enhanced its quality:
- The context and decision sections now provide clearer explanations of the CapabilityKeeper's structure and functionality.
- Usage patterns are illustrated with more concrete examples, improving understanding of how the system works in practice.
- The consequences section has been expanded with additional details, offering a more comprehensive view of the trade-offs involved in this design decision.
These improvements contribute to a more accurate, transparent, and useful architectural decision record. The document now serves as a better reference for implementers and users of the Dynamic Capability Store.
docs/architecture/adr-010-modular-antehandler.md (1)
Line range hint
8-10
: Status update is clear and consistent.The status update accurately reflects the current state of this ADR, aligning with the Changelog entry. This clarity helps readers quickly understand that they should refer to ADR-045 for the most current information on this topic.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~31-~31: Possible missing comma found.
Context: ...itecture Cons: 1. Improves granularity but still cannot get more granular than a p...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~31-~31: Consider using more formal and concise wording here.
Context: ...s. e.g. If auth'sAnteHandle
function is in charge of validating memo and signatures, users c...(RESPONSIBLE_FOR)
@@ -29,7 +29,7 @@ Pros: | |||
Cons: | |||
|
|||
1. Improves granularity but still cannot get more granular than a per-module basis. e.g. If auth's `AnteHandle` function is in charge of validating memo and signatures, users cannot swap the signature-checking functionality while keeping the rest of auth's `AnteHandle` functionality. | |||
2. Module AnteHandler are run one after the other. There is no way for one AnteHandler to wrap or "decorate" another. | |||
2. Module AnteHandler is run one after the other. There is no way for one AnteHandler to wrap or "decorate" another. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would put antehandler plural here instead
@@ -9,7 +9,7 @@ | |||
|
|||
Full implementation of the [IBC specification](https://github.com/cosmos/ibc) requires the ability to create and authenticate object-capability keys at runtime (i.e., during transaction execution), | |||
as described in [ICS 5](https://github.com/cosmos/ibc/tree/master/spec/core/ics-005-port-allocation#technical-specification). In the IBC specification, capability keys are created for each newly initialised | |||
port & channel, and are used to authenticate future usage of the port or channel. Since channels and potentially ports can be initialised during transaction execution, the state machine must be able to create | |||
port & channel, and are used to authenticate future usage of the port or channel. Since channels and potential ports can be initialised during transaction execution, the state machine must be able to create |
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.
Potentially ports was good
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 (2)
docs/architecture/adr-010-modular-antehandler.md (2)
Line range hint
20-32
: LGTM with minor suggestion: Expanded "Per-Module AnteHandler" proposalThe "Per-Module AnteHandler" proposal has been significantly expanded with more detailed pros and cons, providing a more comprehensive analysis of this approach. This improvement helps readers better understand the trade-offs involved.
However, there's a minor grammatical issue in the second con point that could be improved for clarity:
Consider revising the second con point for better readability:
- 2. Module AnteHandlers are run one after the other. There is no way for one AnteHandler to wrap or "decorate" another. + 2. Module AnteHandlers are run sequentially. There is no way for one AnteHandler to wrap or "decorate" another.This change maintains the meaning while slightly improving the sentence structure.
🧰 Tools
🪛 LanguageTool
[style] ~31-~31: Consider using more formal and concise wording here.
Context: ...s. e.g. If auth'sAnteHandle
function is in charge of validating memo and signatures, users c...(RESPONSIBLE_FOR)
[uncategorized] ~31-~31: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...le` function is in charge of validating memo and signatures, users cannot swap the s...(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
Line range hint
91-193
: LGTM with minor suggestion: New "Chained Micro-Functions" proposalThe addition of the "Chained Micro-Functions" proposal is a valuable contribution to this ADR. It provides a comprehensive alternative approach to modular AnteHandlers, with clear explanations and illustrative code examples for both default and custom workflows. This new section enhances the document by offering another perspective on solving the modular AnteHandler problem.
The code examples are particularly helpful in demonstrating how this approach can be implemented in practice, both for default scenarios and for cases where custom logic is required.
There's a minor style suggestion to improve the variety in writing:
- This is an example workflow for a user who wants to implement custom antehandler logic. In this example, the user wants to implement custom signature verification... + This is an example workflow for a user who wants to implement custom antehandler logic. In this scenario, the user aims to implement custom signature verification...This change adds variety to the writing without altering the meaning.
🧰 Tools
🪛 LanguageTool
[style] ~160-~160: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...andler logic. In this example, the user wants to implement custom signature verification...(REP_WANT_TO_VB)
📜 Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
📒 Files selected for processing (1)
- docs/architecture/adr-010-modular-antehandler.md (3 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
docs/architecture/adr-010-modular-antehandler.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
🪛 LanguageTool
docs/architecture/adr-010-modular-antehandler.md
[style] ~160-~160: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...andler logic. In this example, the user wants to implement custom signature verification...(REP_WANT_TO_VB)
🔇 Additional comments (5)
docs/architecture/adr-010-modular-antehandler.md (5)
Line range hint
3-6
: LGTM: Changelog updated correctlyThe Changelog has been appropriately updated with the new entry indicating that this ADR has been superseded by ADR-045. This provides clear information about the document's current status and history.
🧰 Tools
🪛 LanguageTool
[style] ~31-~31: Consider using more formal and concise wording here.
Context: ...s. e.g. If auth'sAnteHandle
function is in charge of validating memo and signatures, users c...(RESPONSIBLE_FOR)
[uncategorized] ~31-~31: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...le` function is in charge of validating memo and signatures, users cannot swap the s...(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
Line range hint
8-10
: LGTM: Status updated correctlyThe Status section has been updated to reflect that this ADR is now superseded by ADR-045. This is consistent with the Changelog and provides clear information about the document's current status.
🧰 Tools
🪛 LanguageTool
[style] ~31-~31: Consider using more formal and concise wording here.
Context: ...s. e.g. If auth'sAnteHandle
function is in charge of validating memo and signatures, users c...(RESPONSIBLE_FOR)
[uncategorized] ~31-~31: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...le` function is in charge of validating memo and signatures, users cannot swap the s...(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
Line range hint
12-18
: LGTM: Context section enhanced for clarityThe Context section has been expanded with more detailed information, providing a clearer explanation of the problem and the desired outcome. This enhancement helps readers better understand the motivation behind the proposed changes to the AnteHandler design.
🧰 Tools
🪛 LanguageTool
[style] ~31-~31: Consider using more formal and concise wording here.
Context: ...s. e.g. If auth'sAnteHandle
function is in charge of validating memo and signatures, users c...(RESPONSIBLE_FOR)
[uncategorized] ~31-~31: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...le` function is in charge of validating memo and signatures, users cannot swap the s...(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
Line range hint
34-89
: LGTM: "Decorator Pattern" proposal significantly improvedThe "Decorator Pattern" proposal has been greatly enhanced with more detailed explanations and illustrative code examples. These additions provide a much clearer understanding of how the Decorator Pattern approach works in the context of AnteHandlers. The expanded pros and cons section offers a balanced view of this approach, helping readers better evaluate its potential benefits and drawbacks.
The code examples are particularly helpful in demonstrating the practical implementation of this pattern. Overall, these changes significantly improve the document's clarity and informativeness.
🧰 Tools
🪛 LanguageTool
[style] ~31-~31: Consider using more formal and concise wording here.
Context: ...s. e.g. If auth'sAnteHandle
function is in charge of validating memo and signatures, users c...(RESPONSIBLE_FOR)
[uncategorized] ~31-~31: The grammatical number of this noun doesn’t look right. Consider replacing it.
Context: ...le` function is in charge of validating memo and signatures, users cannot swap the s...(AI_EN_LECTOR_REPLACEMENT_NOUN_NUMBER)
Line range hint
195-283
: LGTM: "Simple Decorators" proposal enhanced with clarityThe "Simple Decorators" proposal has been significantly improved with more detailed explanations and illustrative code examples. These enhancements provide a much clearer understanding of how the Simple Decorators approach works in the context of AnteHandlers.
The added code examples are particularly valuable in demonstrating the practical implementation of this pattern, including how to define AnteDecorator functions and chain them together. The pros and cons section offers a balanced view of this approach, helping readers better evaluate its potential benefits and drawbacks.
These changes greatly improve the document's clarity and informativeness, making it easier for readers to understand and compare this approach with the other proposals.
Description
docs: fix several typos in the document
solidifying them in one bigger PR
Closes: #XXXX
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
CapabilityKeeper
and its functionalities.app.toml
.