-
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
docs: RFC 003: Cross Language Account, Module, Message Model #21242
Conversation
Warning Rate limit exceeded@aaronc has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 3 minutes and 49 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. WalkthroughWalkthroughRFC 003 establishes a formal framework within the Cosmos SDK aimed at enhancing interoperability among accounts and modules in a cross-language and cross-virtual machine (VM) environment. It defines essential components such as accounts, addresses, messages, and account handlers, while detailing processes for account lifecycle management and metadata usage to cater to both single-language users and those working with multiple languages. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant AccountHandler
participant Hypervisor
participant VM
User->>AccountHandler: Send Message
AccountHandler->>Hypervisor: Process Message
Hypervisor->>VM: Invoke Message
VM-->>Hypervisor: Return Response
Hypervisor-->>AccountHandler: Send Response
AccountHandler-->>User: Return Result
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: 6
Outside diff range, codebase verification and nitpick comments (3)
docs/rfc/rfc-003-crosslang.md (3)
5-5
: Clarify the changelog entry.The changelog entry should specify what was reworked in the initial draft to provide more context to the readers.
13-14
: Vary the phrasing for clarity.The phrase "projects that want to" is repeated. Consider rephrasing for variety.
- 1. projects that want to primarily target a single programming language and virtual machine environment besides Golang but who still want to use Cosmos SDK internals for consensus and storage - 2. projects that want to integrate multiple programming languages and virtual machine environments into an integrated application + 1. projects aiming to primarily target a single programming language and virtual machine environment besides Golang, while still utilizing Cosmos SDK internals for consensus and storage + 2. projects seeking to integrate multiple programming languages and virtual machine environments into a cohesive applicationTools
LanguageTool
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
Markdownlint
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
109-109
: Simplify 'with respect to'.The phrase "with respect to" can be simplified for clarity.
- which describes a message handler's behavior with respect to state and side effects. + which describes a message handler's behavior regarding state and side effects.Tools
LanguageTool
[style] ~109-~109: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. Volatility ...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (1)
- docs/rfc/rfc-003-crosslang.md (1 hunks)
Additional context used
Path-based instructions (1)
docs/rfc/rfc-003-crosslang.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/rfc/rfc-003-crosslang.md
[typographical] ~11-~11: Consider adding a comma after ‘Recently’ for more clarity.
Context: ...ts have been underway since early 2023. Recently we have identified the following key ta...(RB_LY_COMMA)
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...-byte is probably way longer than needed and we could likely shorten this to 63 byte...(COMMA_COMPOUND_SENTENCE)
[grammar] ~91-~91: The plural noun “bytes” cannot be used with the article “a”. Did you mean “a byte” or “bytes”?
Context: ... an account handler. In addition to a bytes address, modules also have a hu...(A_NNS)
[style] ~109-~109: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. Volatility ...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
[uncategorized] ~112-~112: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~113-~113: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~161-~161: Loose punctuation mark.
Context: ...ted by the account. *destroy(address)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~162-~162: Loose punctuation mark.
Context: ...ddress, new handler id, migration data)`: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~163-~163: Loose punctuation mark.
Context: ...ew handler id, init data, destroy data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~163-~163: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. ### Modul...(AND_THAT)
Markdownlint
docs/rfc/rfc-003-crosslang.md
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
35-35: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
48-48: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
61-61: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
71-71: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
98-98: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
111-111: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
120-120: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
140-140: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
147-147: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
160-160: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
docs/rfc/rfc-003-crosslang.md
Outdated
* `volatile`: the handler can have side effects and send `volatile`, `radonly` or `pure` messages to other accounts. Such handlers are expected to both read and write state. | ||
* `readonly`: the handler cannot cause effects side effects and can only send `readonly` or `pure` messages to other accounts. Such handlers are expected to only read state. | ||
* `pure`: the handler cannot cause any side effects and can only call other pure handlers. Such handlers are expected to neither read nor write state. |
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 consistent list formatting.
The list items should be consistently formatted with proper punctuation.
- * `volatile`: the handler can have side effects and send `volatile`, `radonly` or `pure` messages to other accounts. Such handlers are expected to both read and write state.
- * `readonly`: the handler cannot cause effects side effects and can only send `readonly` or `pure` messages to other accounts. Such handlers are expected to only read state.
- * `pure`: the handler cannot cause any side effects and can only call other pure handlers. Such handlers are expected to neither read nor write state.
+ * `volatile`: The handler can have side effects and send `volatile`, `readonly`, or `pure` messages to other accounts. Such handlers are expected to both read and write state.
+ * `readonly`: The handler cannot cause side effects and can only send `readonly` or `pure` messages to other accounts. Such handlers are expected to only read state.
+ * `pure`: The handler cannot cause any side effects and can only call other pure handlers. Such handlers are expected to neither read nor write state.
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.
* `volatile`: the handler can have side effects and send `volatile`, `radonly` or `pure` messages to other accounts. Such handlers are expected to both read and write state. | |
* `readonly`: the handler cannot cause effects side effects and can only send `readonly` or `pure` messages to other accounts. Such handlers are expected to only read state. | |
* `pure`: the handler cannot cause any side effects and can only call other pure handlers. Such handlers are expected to neither read nor write state. | |
* `volatile`: The handler can have side effects and send `volatile`, `readonly`, or `pure` messages to other accounts. Such handlers are expected to both read and write state. | |
* `readonly`: The handler cannot cause side effects and can only send `readonly` or `pure` messages to other accounts. Such handlers are expected to only read state. | |
* `pure`: The handler cannot cause any side effects and can only call other pure handlers. Such handlers are expected to neither read nor write state. |
Tools
LanguageTool
[uncategorized] ~112-~112: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~113-~113: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
Markdownlint
111-111: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
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, codebase verification and nitpick comments (6)
docs/rfc/rfc-003-crosslang.md (6)
11-11
: Add a comma after 'Recently'.Consider adding a comma after 'Recently' for better clarity.
- Recently we have identified the following key target user groups: + Recently, we have identified the following key target user groups:Tools
LanguageTool
[typographical] ~11-~11: Consider adding a comma after ‘Recently’ for more clarity.
Context: ...ts have been underway since early 2023. Recently we have identified the following key ta...(RB_LY_COMMA)
29-30
: Separate 'however' with a semicolon or period.The word "however" is used incorrectly as a conjunction. It should be separated by a semicolon or a period.
- may vary significantly, however, the essence should remain more or less the same in most coding environments. + may vary significantly; however, the essence should remain more or less the same in most coding environments.Tools
LanguageTool
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
13-14
: Vary the phrasing for better readability.The phrase "projects that want to" is repeated. Consider rephrasing for variety.
- 1. projects that want to primarily target a single programming language and virtual machine environment besides Golang but who still want to use Cosmos SDK internals for consensus and storage - 2. projects that want to integrate multiple programming languages and virtual machine environments into an integrated application + 1. projects primarily targeting a single programming language and virtual machine environment besides Golang, while still leveraging Cosmos SDK internals for consensus and storage + 2. projects integrating multiple programming languages and virtual machine environments into a cohesive applicationTools
LanguageTool
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
Markdownlint
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
101-102
: Fix list indentation for consistency.The list indentation is inconsistent. Ensure proper indentation for readability.
- * a list of the **message names** it defines **message handlers** and for each of these, its: - * **volatility** (described below) - * optional additional bytes, which are not standardized at this level + * a list of the **message names** it defines **message handlers** and for each of these, its: + * **volatility** (described below) + * optional additional bytes, which are not standardized at this levelTools
Markdownlint
101-101: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
102-102: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
172-172
: Consider a shorter alternative for 'with respect to'.‘With respect to’ might be wordy. Consider a shorter alternative.
- **Volatility** describes a message handler's behavior with respect to state and side effects. + **Volatility** describes a message handler's behavior regarding state and side effects.Tools
LanguageTool
[style] ~172-~172: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
227-227
: Consider adding a comma before 'such as'.A comma might be missing here for better readability.
- This specification does not cover many important parts of a complete system such as the encoding of message data, + This specification does not cover many important parts of a complete system, such as the encoding of message data,Tools
LanguageTool
[uncategorized] ~227-~227: A comma might be missing here.
Context: ...over many important parts of a complete system such as the encoding of message data, s...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (1)
- docs/rfc/rfc-003-crosslang.md (1 hunks)
Additional context used
Path-based instructions (1)
docs/rfc/rfc-003-crosslang.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/rfc/rfc-003-crosslang.md
[typographical] ~11-~11: Consider adding a comma after ‘Recently’ for more clarity.
Context: ...ts have been underway since early 2023. Recently we have identified the following key ta...(RB_LY_COMMA)
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...-byte is probably way longer than needed and we could likely shorten this to 63 byte...(COMMA_COMPOUND_SENTENCE)
[grammar] ~93-~93: The plural noun “bytes” cannot be used with the article “a”. Did you mean “a byte” or “bytes”?
Context: ... an account handler. In addition to a bytes address, modules also have a hu...(A_NNS)
[style] ~161-~161: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ...t handler**'s metadata can define which get passed to the state handler when an accoun...(GET_USED_ARE_USED)
[style] ~172-~172: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
[uncategorized] ~175-~175: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~176-~176: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~188-~188: Loose punctuation mark.
Context: ...ted by the account. *destroy(address)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~189-~189: Loose punctuation mark.
Context: ...ddress, new handler id, migration data)`: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~190-~190: Loose punctuation mark.
Context: ...ew handler id, init data, destroy data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~190-~190: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. The **hyp...(AND_THAT)
[uncategorized] ~227-~227: A comma might be missing here.
Context: ...over many important parts of a complete system such as the encoding of message data, s...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
Markdownlint
docs/rfc/rfc-003-crosslang.md
157-157: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
158-158: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
159-159: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
101-101: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
102-102: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
35-35: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
48-48: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
61-61: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
72-72: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
100-100: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
112-112: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
132-132: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
139-139: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
157-157: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
174-174: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
187-187: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
Additional comments not posted (3)
docs/rfc/rfc-003-crosslang.md (3)
43-43
: Use a comma before 'and'.Use a comma before 'and' to separate two independent clauses.
Tools
LanguageTool
[uncategorized] ~43-~43: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...-byte is probably way longer than needed and we could likely shorten this to 63 byte...(COMMA_COMPOUND_SENTENCE)
93-93
: Correct the article usage.The phrase "a bytes address" is incorrect. It should be "a byte address" or "bytes address".
Tools
LanguageTool
[grammar] ~93-~93: The plural noun “bytes” cannot be used with the article “a”. Did you mean “a byte” or “bytes”?
Context: ... an account handler. In addition to a bytes address, modules also have a hu...(A_NNS)
188-190
: Ensure consistent list formatting.The list items should be consistently formatted with proper punctuation.
Tools
LanguageTool
[uncategorized] ~188-~188: Loose punctuation mark.
Context: ...ted by the account. *destroy(address)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~189-~189: Loose punctuation mark.
Context: ...ddress, new handler id, migration data)`: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~190-~190: Loose punctuation mark.
Context: ...ew handler id, init data, destroy data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~190-~190: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. The **hyp...(AND_THAT)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Outside diff range, codebase verification and nitpick comments (3)
docs/rfc/rfc-003-crosslang.md (3)
12-14
: Rephrase for variety.The phrase "projects that want to" is repeated. Consider rephrasing for variety.
Apply this diff to add variety:
1. projects that aim to primarily target a single programming language and virtual machine environment besides Golang but who still want to use Cosmos SDK internals for consensus and storage 2. projects that seek to integrate multiple programming languages and virtual machine environments into an integrated applicationTools
LanguageTool
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
Markdownlint
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
11-11
: Add a comma after 'Recently'.Consider adding a comma after 'Recently' for better clarity.
Apply this diff:
- Recently we have identified the following key target user groups: + Recently, we have identified the following key target user groups:
29-30
: Separate 'however' with a semicolon or period.The word "however" is used incorrectly as a conjunction. It should be separated by a semicolon or a period.
Apply this diff:
- may vary significantly, however, the essence should remain more or less the same in most coding environments. + may vary significantly; however, the essence should remain more or less the same in most coding environments.Tools
LanguageTool
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (1)
- docs/rfc/rfc-003-crosslang.md (1 hunks)
Additional context used
Path-based instructions (1)
docs/rfc/rfc-003-crosslang.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/rfc/rfc-003-crosslang.md
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
[style] ~37-~37: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...accounts** * an owner address which is able to migrate the account handler, destroy th...(BE_ABLE_TO)
[uncategorized] ~150-~150: Possible missing comma found.
Context: ...each account handler's metadata can define which get passed to the **state handler...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~150-~150: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ...t handler**'s metadata can define which get passed to the state handler when an accoun...(GET_USED_ARE_USED)
[style] ~161-~161: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
[uncategorized] ~164-~164: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~165-~165: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~173-~173: Consider a shorter alternative to avoid wordiness.
Context: ... Account Lifecycle with the Hypervisor In order to manage accounts and their mapping t...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~182-~182: Loose punctuation mark.
Context: ...the account itself. *destroy(address)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~183-~183: Loose punctuation mark.
Context: ...ddress, new handler id, migration data)`: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~184-~184: Loose punctuation mark.
Context: ...ew handler id, init data, destroy data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~184-~184: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. * `transfe...(AND_THAT)
[uncategorized] ~185-~185: Loose punctuation mark.
Context: ...ution. *transfer(address, new_owner?)
: changes the account owner to the new ow...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~185-~185: Possible missing comma found.
Context: ...ner to the new owner. Ifnew_owner
is empty then the account has no owner and can't...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~219-~219: Possible missing comma found.
Context: ... provide more restrictive authorization restrictions even though at a framework level the au...(AI_HYDRA_LEO_MISSING_COMMA)
[typographical] ~219-~219: Consider adding a comma after this introductory phrase.
Context: ...restrictions even though at a framework level the authorization is very broad. In or...(AS_A_NN_COMMA)
[style] ~220-~220: Consider a shorter alternative to avoid wordiness.
Context: ...level the authorization is very broad. In order to allow transaction processing modules to...(IN_ORDER_TO_PREMIUM)
Markdownlint
docs/rfc/rfc-003-crosslang.md
146-146: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
147-147: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
148-148: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
96-96: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
97-97: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
35-35: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
47-47: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
61-61: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
95-95: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
106-106: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
126-126: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
146-146: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
163-163: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
175-175: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
181-181: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
214-214: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
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, codebase verification and nitpick comments (8)
docs/rfc/rfc-003-crosslang.md (8)
12-14
: Rephrase for variety.The phrase "projects that want to" is repeated. Consider rephrasing for variety.
Apply this diff to add variety:
1. projects that aim to primarily target a single programming language and virtual machine environment besides Golang but who still want to use Cosmos SDK internals for consensus and storage 2. projects that seek to integrate multiple programming languages and virtual machine environments into an integrated applicationTools
LanguageTool
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
Markdownlint
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
29-30
: Separate 'however' with a semicolon or period.The word "however" is used incorrectly as a conjunction. It should be separated by a semicolon or a period.
Apply this diff for clarity:
- may vary significantly, however, the essence should remain more or less the same in most coding environments. + may vary significantly; however, the essence should remain more or less the same in most coding environments.Tools
LanguageTool
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
37-37
: Consider using 'can' instead of 'able to'.As a shorter alternative for 'able to', consider using "can" for conciseness.
Apply this diff for clarity:
- an **owner** address which is able to migrate the account handler, destroy the account or transfer that capability + an **owner** address which can migrate the account handler, destroy the account, or transfer that capabilityTools
LanguageTool
[style] ~37-~37: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...accounts** * an owner address which is able to migrate the account handler, destroy th...(BE_ABLE_TO)
69-69
: Add a comma for clarity.Consider adding a comma for better readability.
Apply this diff for clarity:
- Details on message responses and errors as well as the packet format for **message requests** will be described later. + Details on message responses and errors, as well as the packet format for **message requests**, will be described later.Tools
LanguageTool
[uncategorized] ~69-~69: Possible missing comma found.
Context: ...error. Details on message responses and errors as well as the packet format for **mess...(AI_HYDRA_LEO_MISSING_COMMA)
151-151
: Add a comma for clarity.Consider adding a comma for better readability.
Apply this diff for clarity:
- each **account handler**'s metadata can define which get passed to the **state handler** when an account is created. + each **account handler**'s metadata can define, which get passed to the **state handler** when an account is created.Tools
LanguageTool
[uncategorized] ~151-~151: Possible missing comma found.
Context: ...each account handler's metadata can define which get passed to the **state handler...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~151-~151: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ...t handler**'s metadata can define which get passed to the state handler when an accoun...(GET_USED_ARE_USED)
174-174
: Consider a shorter alternative to avoid wordiness.Consider a shorter alternative to avoid wordiness.
Apply this diff for conciseness:
- In order to manage **accounts** and their mapping to **account handlers**, the **hypervisor** contains stateful mappings for: + To manage **accounts** and their mapping to **account handlers**, the **hypervisor** contains stateful mappings for:Tools
LanguageTool
[style] ~174-~174: Consider a shorter alternative to avoid wordiness.
Context: ... Account Lifecycle with the Hypervisor In order to manage accounts and their mapping t...(IN_ORDER_TO_PREMIUM)
212-212
: Add a missing article.Add the missing article "a" for clarity.
Apply this diff for clarity:
- Authorization will be ensured by the **hypervisor** using private context token + Authorization will be ensured by the **hypervisor** using a private context tokenTools
LanguageTool
[uncategorized] ~212-~212: Possible missing article found.
Context: ... be ensured by the hypervisor using private context token set within the **message...(AI_HYDRA_LEO_MISSING_A)
225-225
: Add a comma for clarity.Consider adding a comma for better readability.
Apply this diff for clarity:
- provide more restrictive authorization restrictions even though at a framework level the authorization is very broad. + provide more restrictive authorization restrictions, even though at a framework level the authorization is very broad.Tools
LanguageTool
[uncategorized] ~225-~225: Possible missing comma found.
Context: ... provide more restrictive authorization restrictions even though at a framework level the au...(AI_HYDRA_LEO_MISSING_COMMA)
[typographical] ~225-~225: Consider adding a comma after this introductory phrase.
Context: ...restrictions even though at a framework level the authorization is very broad. Grante...(AS_A_NN_COMMA)
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (1)
- docs/rfc/rfc-003-crosslang.md (1 hunks)
Additional context used
Path-based instructions (1)
docs/rfc/rfc-003-crosslang.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/rfc/rfc-003-crosslang.md
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
[style] ~37-~37: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...accounts** * an owner address which is able to migrate the account handler, destroy th...(BE_ABLE_TO)
[uncategorized] ~69-~69: Possible missing comma found.
Context: ...error. Details on message responses and errors as well as the packet format for **mess...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~147-~147: Loose punctuation mark.
Context: ...rate(account address, new state config)`: migrates the account state with the spe...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~151-~151: Possible missing comma found.
Context: ...each account handler's metadata can define which get passed to the **state handler...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~151-~151: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ...t handler**'s metadata can define which get passed to the state handler when an accoun...(GET_USED_ARE_USED)
[style] ~162-~162: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
[uncategorized] ~165-~165: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~166-~166: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~174-~174: Consider a shorter alternative to avoid wordiness.
Context: ... Account Lifecycle with the Hypervisor In order to manage accounts and their mapping t...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~183-~183: Loose punctuation mark.
Context: ...self. *destroy(address, destroy_data)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~184-~184: Loose punctuation mark.
Context: ...er. *migrate(address, new_handler_id)
: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~185-~185: Loose punctuation mark.
Context: ...ew_handler_id, init_data, destroy_data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~185-~185: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. * `transfe...(AND_THAT)
[uncategorized] ~186-~186: Loose punctuation mark.
Context: ...ution. *transfer(address, new_owner?)
: changes the account owner to the new ow...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~186-~186: Possible missing comma found.
Context: ...ner to the new owner. Ifnew_owner
is empty then the account has no owner and can't...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~187-~187: Loose punctuation mark.
Context: .... *create_temp(handler_id, init_data)
: creates a temporary account which exist...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~212-~212: Possible missing article found.
Context: ... be ensured by the hypervisor using private context token set within the **message...(AI_HYDRA_LEO_MISSING_A)
[uncategorized] ~225-~225: Possible missing comma found.
Context: ... provide more restrictive authorization restrictions even though at a framework level the au...(AI_HYDRA_LEO_MISSING_COMMA)
[typographical] ~225-~225: Consider adding a comma after this introductory phrase.
Context: ...restrictions even though at a framework level the authorization is very broad. Grante...(AS_A_NN_COMMA)
[uncategorized] ~226-~226: Possible missing comma found.
Context: ...grant_authorization
on behalf of the granter as that would allow them to bypass any ...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~231-~231: Possible missing comma found.
Context: ...a module moving coins just to require a payment which currently in the SDK is done by j...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~238-~238: Consider replacing ‘only’ with a different word to let your writing stand out.
Context: ...to create a temporary account which can only be used for the scope of the enclosing ...(ONLY_EXCLUSIVELY_STYLE)
[style] ~239-~239: Consider a shorter alternative to avoid wordiness.
Context: ...e scope of the enclosing message call. In order to allow transaction processing modules to...(IN_ORDER_TO_PREMIUM)
Markdownlint
docs/rfc/rfc-003-crosslang.md
146-146: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
147-147: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
148-148: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
149-149: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
96-96: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
97-97: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
35-35: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
47-47: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
61-61: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
95-95: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
106-106: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
126-126: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
146-146: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
164-164: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
176-176: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
182-182: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
219-219: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
Additional comments not posted (5)
docs/rfc/rfc-003-crosslang.md (5)
88-88
: Correct the article usage.The phrase "a byte address" is incorrect. It should be "a bytes address" or "byte address".
95-99
: Ensure consistent list formatting.The list items should be consistently formatted with proper punctuation.
Tools
Markdownlint
96-96: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
97-97: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
95-95: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
106-109
: Ensure consistent list formatting.The list items should be consistently formatted with proper punctuation.
Tools
Markdownlint
106-106: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
164-166
: Ensure consistent list formatting.The list items should be consistently formatted with proper punctuation.
Tools
LanguageTool
[uncategorized] ~165-~165: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~166-~166: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
Markdownlint
164-164: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
182-187
: Ensure consistent list formatting.The list items should be consistently formatted with proper punctuation.
Tools
LanguageTool
[uncategorized] ~183-~183: Loose punctuation mark.
Context: ...self. *destroy(address, destroy_data)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~184-~184: Loose punctuation mark.
Context: ...er. *migrate(address, new_handler_id)
: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~185-~185: Loose punctuation mark.
Context: ...ew_handler_id, init_data, destroy_data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~185-~185: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. * `transfe...(AND_THAT)
[uncategorized] ~186-~186: Loose punctuation mark.
Context: ...ution. *transfer(address, new_owner?)
: changes the account owner to the new ow...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~186-~186: Possible missing comma found.
Context: ...ner to the new owner. Ifnew_owner
is empty then the account has no owner and can't...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~187-~187: Loose punctuation mark.
Context: .... *create_temp(handler_id, init_data)
: creates a temporary account which exist...(UNLIKELY_OPENING_PUNCTUATION)
Markdownlint
182-182: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
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: 5
Outside diff range, codebase verification and nitpick comments (1)
docs/rfc/rfc-003-crosslang.md (1)
201-202
: Add a period after 'prefixes'.Consider adding a period for better clarity.
Apply this diff to improve clarity:
- and must be prefixed by the `module:pre:` or `module:post:` prefixes + and must be prefixed by the `module:pre:` or `module:post:` prefixes.
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (1)
- docs/rfc/rfc-003-crosslang.md (1 hunks)
Additional context used
Path-based instructions (1)
docs/rfc/rfc-003-crosslang.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/rfc/rfc-003-crosslang.md
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
[style] ~37-~37: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...accounts** * an owner address which is able to migrate the account handler, destroy th...(BE_ABLE_TO)
[uncategorized] ~70-~70: Possible missing comma found.
Context: ...error. Details on message responses and errors as well as the packet format for **mess...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~148-~148: Loose punctuation mark.
Context: ...rate(account address, new state config)`: migrates the account state with the spe...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~151-~151: Possible missing comma found.
Context: ...each account handler's metadata can define which get passed to the **state handler...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~151-~151: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ...t handler**'s metadata can define which get passed to the state handler when an accoun...(GET_USED_ARE_USED)
[style] ~162-~162: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
[uncategorized] ~165-~165: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~166-~166: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~174-~174: Consider a shorter alternative to avoid wordiness.
Context: ... Account Lifecycle with the Hypervisor In order to manage accounts and their mapping t...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~183-~183: Loose punctuation mark.
Context: ...self. *destroy(address, destroy_data)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~184-~184: Loose punctuation mark.
Context: ...er. *migrate(address, new_handler_id)
: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~185-~185: Loose punctuation mark.
Context: ...ew_handler_id, init_data, destroy_data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~185-~185: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. * `transfe...(AND_THAT)
[uncategorized] ~186-~186: Loose punctuation mark.
Context: ...ution. *transfer(address, new_owner?)
: changes the account owner to the new ow...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~186-~186: Possible missing comma found.
Context: ...ner to the new owner. Ifnew_owner
is empty then the account has no owner and can't...(AI_HYDRA_LEO_MISSING_COMMA)
Markdownlint
docs/rfc/rfc-003-crosslang.md
147-147: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
148-148: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
149-149: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
97-97: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
98-98: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
35-35: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
47-47: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
61-61: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
96-96: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
107-107: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
127-127: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
147-147: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
164-164: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
176-176: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
182-182: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
247-247: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
Additional comments not posted (6)
docs/rfc/rfc-003-crosslang.md (6)
12-14
: Rephrase for variety.The phrase "projects that want to" is repeated. Consider rephrasing for variety.
Tools
LanguageTool
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
Markdownlint
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
29-30
: Separate 'however' with a semicolon or period.The word "however" is used incorrectly as a conjunction. It should be separated by a semicolon or a period.
Tools
LanguageTool
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
87-87
: Correct the article usage.The phrase "a bytes address" is incorrect. It should be "a byte address" or "bytes address".
183-186
: Ensure consistent list formatting.The list items should be consistently formatted with proper punctuation.
Tools
LanguageTool
[uncategorized] ~183-~183: Loose punctuation mark.
Context: ...self. *destroy(address, destroy_data)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~184-~184: Loose punctuation mark.
Context: ...er. *migrate(address, new_handler_id)
: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~185-~185: Loose punctuation mark.
Context: ...ew_handler_id, init_data, destroy_data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~185-~185: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. * `transfe...(AND_THAT)
[uncategorized] ~186-~186: Loose punctuation mark.
Context: ...ution. *transfer(address, new_owner?)
: changes the account owner to the new ow...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~186-~186: Possible missing comma found.
Context: ...ner to the new owner. Ifnew_owner
is empty then the account has no owner and can't...(AI_HYDRA_LEO_MISSING_COMMA)
267-275
: Complete the 'Consequences' section.The section contains TODOs for positive, negative, and neutral consequences. Consider completing this section to provide a comprehensive view of the proposal's impact.
151-151
: Add a comma for clarity.Consider adding a comma for better clarity in the sentence.
Apply this diff to improve clarity:
- **state config** bytes which are sent to the **state handler** (described below) but are otherwise opaque + **state config** bytes, which are sent to the **state handler** (described below), but are otherwise opaqueLikely invalid or redundant comment.
Tools
LanguageTool
[uncategorized] ~151-~151: Possible missing comma found.
Context: ...each account handler's metadata can define which get passed to the **state handler...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~151-~151: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ...t handler**'s metadata can define which get passed to the state handler when an accoun...(GET_USED_ARE_USED)
and they are not passed at all to `pure` methods. | ||
|
||
### Management of Account Lifecycle with the Hypervisor | ||
|
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 a shorter alternative to avoid wordiness.
Consider a shorter alternative to avoid wordiness.
Apply this diff to improve clarity:
- In order to manage **accounts** and their mapping to **account handlers**, the **hypervisor** contains stateful mappings for:
+ To manage **accounts** and their mapping to **account handlers**, the **hypervisor** contains stateful mappings for:
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 manage **accounts** and their mapping to **account handlers**, the **hypervisor** contains stateful mappings for: |
Tools
LanguageTool
[style] ~174-~174: Consider a shorter alternative to avoid wordiness.
Context: ... Account Lifecycle with the Hypervisor In order to manage accounts and their mapping t...(IN_ORDER_TO_PREMIUM)
docs/rfc/rfc-003-crosslang.md
Outdated
* a 32-byte **context token** | ||
* a `uint64` **gas limit** | ||
|
||
The handler can then execute some code and return a response or an error. Details on message responses and errors as well as the packet format for **message requests** will be described later. |
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.
Add a comma for clarity.
Consider adding a comma for better clarity in the sentence.
Apply this diff to improve clarity:
- Details on message responses and errors as well as the packet format for **message requests** will be described later.
+ Details on message responses and errors, as well as the packet format for **message requests**, will be described later.
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.
The handler can then execute some code and return a response or an error. Details on message responses and errors as well as the packet format for **message requests** will be described later. | |
The handler can then execute some code and return a response or an error. Details on message responses and errors, as well as the packet format for **message requests**, will be described later. |
Tools
LanguageTool
[uncategorized] ~70-~70: Possible missing comma found.
Context: ...error. Details on message responses and errors as well as the packet format for **mess...(AI_HYDRA_LEO_MISSING_COMMA)
* **volatility** (described below) | ||
* optional additional bytes, which are not standardized at this level |
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.
Fix list indentation.
The list items should be consistently indented.
Apply this diff to fix the indentation:
* a list of the **message names** it defines **message handlers** and for each of these, its:
- * **volatility** (described below)
- * optional additional bytes, which are not standardized at this level
+ * **volatility** (described below)
+ * optional additional bytes, which are not standardized at this level
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.
* **volatility** (described below) | |
* optional additional bytes, which are not standardized at this level | |
* a list of the **message names** it defines **message handlers** and for each of these, its: | |
* **volatility** (described below) | |
* optional additional bytes, which are not standardized at this level |
Tools
Markdownlint
97-97: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
98-98: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
docs/rfc/rfc-003-crosslang.md
Outdated
An **account** is defined as having: | ||
* a unique **address** | ||
* an **account handler** which is some code which can process **messages** and send **messages** to other **accounts** | ||
* an **owner** address which is able to migrate the account handler, destroy the account or transfer that capability |
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 using 'can' instead of 'able to'.
As a shorter alternative for ‘able to’, consider using “can”.
Apply this diff to improve clarity:
* an **owner** address which is able to migrate the account handler, destroy the account or transfer that capability
+ * an **owner** address which can migrate the account handler, destroy the account, or transfer that capability
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.
* an **owner** address which is able to migrate the account handler, destroy the account or transfer that capability | |
* an **owner** address which can migrate the account handler, destroy the account, or transfer that capability |
Tools
LanguageTool
[style] ~37-~37: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...accounts** * an owner address which is able to migrate the account handler, destroy th...(BE_ABLE_TO)
It is possible that state **modules** expose methods for creating new **state tokens** | ||
for nesting transactions. | ||
|
||
**Volatility** describes a message handler's behavior with respect to state and side effects. |
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 phrase 'with respect to'.
‘With respect to’ might be wordy. Consider a shorter alternative.
Apply this diff to simplify the phrase:
- describes a message handler's behavior with respect to state and side effects.
+ describes a message handler's behavior regarding state and side effects.
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.
**Volatility** describes a message handler's behavior with respect to state and side effects. | |
**Volatility** describes a message handler's behavior regarding state and side effects. |
Tools
LanguageTool
[style] ~162-~162: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
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
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (1)
- docs/rfc/rfc-003-crosslang.md (1 hunks)
Additional context used
Path-based instructions (1)
docs/rfc/rfc-003-crosslang.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/rfc/rfc-003-crosslang.md
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
[uncategorized] ~68-~68: Possible missing comma found.
Context: ...error. Details on message responses and errors as well as the packet format for **mess...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~106-~106: Loose punctuation mark.
Context: ...rary initialization data. *on_migrate
: called when an account is migrated to a...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~145-~145: Loose punctuation mark.
Context: ...rate(account address, new state config)`: migrates the account state with the spe...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~148-~148: Possible missing comma found.
Context: ...each account handler's metadata can define which get passed to the **state handler...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~148-~148: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ...t handler**'s metadata can define which get passed to the state handler when an accoun...(GET_USED_ARE_USED)
[style] ~159-~159: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
[uncategorized] ~162-~162: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~163-~163: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~171-~171: Consider a shorter alternative to avoid wordiness.
Context: ... Account Lifecycle with the Hypervisor In order to manage accounts and their mapping t...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~180-~180: Loose punctuation mark.
Context: ...ted by the account. *destroy(address)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~181-~181: Loose punctuation mark.
Context: ...lf. *migrate(address, new_handler_id)
: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~182-~182: Loose punctuation mark.
Context: ...ate(address, new_handler_id, init_data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~182-~182: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. The **hyp...(AND_THAT)
Markdownlint
docs/rfc/rfc-003-crosslang.md
144-144: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
145-145: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
146-146: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
95-95: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
96-96: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
35-35: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
46-46: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
60-60: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
94-94: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
105-105: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
124-124: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
144-144: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
161-161: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
173-173: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
179-179: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
243-243: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
Additional comments not posted (8)
docs/rfc/rfc-003-crosslang.md (8)
12-14
: Rephrase for variety.The phrase "projects that want to" is repeated. Consider rephrasing for variety.
Tools
LanguageTool
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
Markdownlint
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
29-30
: Separate 'however' with a semicolon or period.The word "however" is used incorrectly as a conjunction. It should be separated by a semicolon or a period.
Tools
LanguageTool
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
68-68
: Add a comma for clarity.Consider adding a comma for better clarity in the sentence.
Tools
LanguageTool
[uncategorized] ~68-~68: Possible missing comma found.
Context: ...error. Details on message responses and errors as well as the packet format for **mess...(AI_HYDRA_LEO_MISSING_COMMA)
95-96
: Fix list indentation.The list items should be consistently indented.
Tools
Markdownlint
95-95: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
96-96: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
106-106
: Ensure consistent list formatting.The list items should be consistently formatted with proper punctuation.
Tools
LanguageTool
[uncategorized] ~106-~106: Loose punctuation mark.
Context: ...rary initialization data. *on_migrate
: called when an account is migrated to a...(UNLIKELY_OPENING_PUNCTUATION)
162-163
: Ensure consistent list formatting.The list items should be consistently formatted with proper punctuation.
Tools
LanguageTool
[uncategorized] ~162-~162: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~163-~163: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
180-182
: Ensure consistent list formatting.The list items should be consistently formatted with proper punctuation.
Tools
LanguageTool
[uncategorized] ~180-~180: Loose punctuation mark.
Context: ...ted by the account. *destroy(address)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~181-~181: Loose punctuation mark.
Context: ...lf. *migrate(address, new_handler_id)
: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~182-~182: Loose punctuation mark.
Context: ...ate(address, new_handler_id, init_data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~182-~182: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. The **hyp...(AND_THAT)
263-271
: Complete the 'Consequences' section.The section contains TODOs for positive, negative, and neutral consequences. Consider completing this section to provide a comprehensive view of the proposal's impact.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Outside diff range, codebase verification and nitpick comments (6)
docs/rfc/rfc-003-crosslang.md (6)
12-14
: Rephrase for variety.The phrase "projects that want to" is repeated. Consider rephrasing for variety.
- 1. projects that want to primarily target a single programming language and virtual machine environment besides Golang but who still want to use Cosmos SDK internals for consensus and storage - 2. projects that want to integrate multiple programming languages and virtual machine environments into an integrated application + 1. projects that aim to primarily target a single programming language and virtual machine environment besides Golang but who still want to use Cosmos SDK internals for consensus and storage + 2. projects seeking to integrate multiple programming languages and virtual machine environments into an integrated applicationTools
LanguageTool
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
Markdownlint
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
29-30
: Separate 'however' with a semicolon or period.The word "however" is used incorrectly as a conjunction. It should be separated by a semicolon or a period.
- may vary significantly, however, the essence should remain more or less the same in most coding environments. + may vary significantly; however, the essence should remain more or less the same in most coding environments.Tools
LanguageTool
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
97-99
: Fix list indentation.The list items should be consistently indented.
* a list of the **message names** it defines **message handlers** and for each of these, its: - * **volatility** (described below) - * optional additional bytes, which are not standardized at this level + * **volatility** (described below) + * optional additional bytes, which are not standardized at this levelTools
Markdownlint
98-98: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
99-99: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
97-97: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
147-149
: Fix list style.The list items should use a consistent style.
- `create(account address, state config)`: creates a new account state with the specified address and **state config**. - `migrate(account address, new state config)`: migrates the account state with the specified address to a new state config - `destroy(account address)`: destroys the account state with the specified address + * `create(account address, state config)`: creates a new account state with the specified address and **state config**. + * `migrate(account address, new state config)`: migrates the account state with the specified address to a new state config + * `destroy(account address)`: destroys the account state with the specified addressTools
LanguageTool
[uncategorized] ~148-~148: Loose punctuation mark.
Context: ...rate(account address, new state config)`: migrates the account state with the spe...(UNLIKELY_OPENING_PUNCTUATION)
Markdownlint
147-147: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
148-148: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
149-149: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
147-147: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
162-162
: Simplify the phrase 'with respect to'.‘With respect to’ might be wordy. Consider a shorter alternative.
- describes a message handler's behavior with respect to state and side effects. + describes a message handler's behavior regarding state and side effects.Tools
LanguageTool
[style] ~162-~162: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
182-185
: Ensure consistent list formatting.The list items should be consistently formatted with proper punctuation.
- * `create(handler_id, init_data, address?)`: creates a new account in the specified code environment with the specified handler id and optional pre-defined address (if not provided, a new address is generated). The `on_create` message is called if it is implemented by the account. - * `destroy(address)`: deletes the account with the specified address. `destroy` can only be called by the account itself. - * `migrate(address, new_handler_id)`: migrates the account with the specified address to the new account handler. The `on_migrate` message must be implemented by the new code and must not return an error for migration to succeed. `migrate` can only be called by the account itself. - * `force_migrate(address, new_handler_id, init_data)`: this can be used when no `on_migrate` handler can perform a proper migration to the new account handler. In this case, the old account state will be destroyed, and `on_create` will be called on the new code. This is a destructive operation and should be used with caution. + * `create(handler_id, init_data, address?)`: Creates a new account in the specified code environment with the specified handler id and optional pre-defined address (if not provided, a new address is generated). The `on_create` message is called if it is implemented by the account. + * `destroy(address)`: Deletes the account with the specified address. `destroy` can only be called by the account itself. + * `migrate(address, new_handler_id)`: Migrates the account with the specified address to the new account handler. The `on_migrate` message must be implemented by the new code and must not return an error for migration to succeed. `migrate` can only be called by the account itself. + * `force_migrate(address, new_handler_id, init_data)`: This can be used when no `on_migrate` handler can perform a proper migration to the new account handler. In this case, the old account state will be destroyed, and `on_create` will be called on the new code. This is a destructive operation and should be used with caution.Tools
LanguageTool
[uncategorized] ~183-~183: Loose punctuation mark.
Context: ...ted by the account. *destroy(address)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~184-~184: Loose punctuation mark.
Context: ...lf. *migrate(address, new_handler_id)
: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~185-~185: Loose punctuation mark.
Context: ...ate(address, new_handler_id, init_data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~185-~185: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. The **hyp...(AND_THAT)
Markdownlint
182-182: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (1)
- docs/rfc/rfc-003-crosslang.md (1 hunks)
Additional context used
Path-based instructions (1)
docs/rfc/rfc-003-crosslang.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/rfc/rfc-003-crosslang.md
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
[uncategorized] ~109-~109: Loose punctuation mark.
Context: ...rary initialization data. *on_migrate
: called when an account is migrated to a...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~148-~148: Loose punctuation mark.
Context: ...rate(account address, new state config)`: migrates the account state with the spe...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~151-~151: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ...t handler**'s metadata can define which get passed to the state handler when an accoun...(GET_USED_ARE_USED)
[style] ~158-~158: For conciseness, try rephrasing this sentence.
Context: ...rdinate around the usage of this token. It is possible that state modules expose methods for creating new **state tokens...(MAY_MIGHT_BE)
[style] ~162-~162: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
[uncategorized] ~165-~165: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~166-~166: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~174-~174: Consider a shorter alternative to avoid wordiness.
Context: ... Account Lifecycle with the Hypervisor In order to manage accounts and their mapping t...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~183-~183: Loose punctuation mark.
Context: ...ted by the account. *destroy(address)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~184-~184: Loose punctuation mark.
Context: ...lf. *migrate(address, new_handler_id)
: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~185-~185: Loose punctuation mark.
Context: ...ate(address, new_handler_id, init_data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~185-~185: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. The **hyp...(AND_THAT)
Markdownlint
docs/rfc/rfc-003-crosslang.md
147-147: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
148-148: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
149-149: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
98-98: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
99-99: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
38-38: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
49-49: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
63-63: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
97-97: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
108-108: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
127-127: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
147-147: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
164-164: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
176-176: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
182-182: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
246-246: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
Additional comments not posted (12)
docs/rfc/rfc-003-crosslang.md (12)
23-34
: Well-structured proposal section.The proposal section is clear and well-structured, effectively outlining the conceptual model.
Tools
LanguageTool
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
35-40
: Clear definition of account components.The section provides a clear and concise definition of an account and its components.
Tools
Markdownlint
38-38: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
41-45
: Clear definition of address structure.The section provides a clear and concise definition of the address structure.
46-56
: Clear definition of message components.The section provides a clear and concise definition of a message and its components.
Tools
Markdownlint
49-49: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
58-75
: Clear definition of account handler responsibilities.The section provides a clear and concise definition of the account handler and its responsibilities.
Tools
Markdownlint
63-63: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
77-92
: Clear definition of modules and module messages.The section provides a clear and concise definition of modules and module messages.
103-110
: Clear definition of account lifecycle.The section provides a clear and concise definition of the account lifecycle and related handlers.
Tools
LanguageTool
[uncategorized] ~109-~109: Loose punctuation mark.
Context: ...rary initialization data. *on_migrate
: called when an account is migrated to a...(UNLIKELY_OPENING_PUNCTUATION)
Markdownlint
108-108: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
111-139
: Clear definition of hypervisor and virtual machines.The section provides a clear and concise definition of the hypervisor and virtual machines.
Tools
Markdownlint
127-127: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
190-204
: Clear definition of module lifecycle and messages.The section provides a clear and concise definition of module lifecycle and module messages.
205-219
: Clear definition of authorization and delegated execution.The section provides a clear and concise definition of authorization and delegated execution mechanisms.
221-234
: Clear definition of message data and packet specifications.The section provides a clear and concise definition of message data and packet specifications.
236-250
: Clear outline of further specifications.The section provides a clear and concise outline of further specifications and intentions.
Tools
Markdownlint
246-246: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Outside diff range, codebase verification and nitpick comments (9)
docs/rfc/rfc-003-crosslang.md (9)
12-14
: Rephrase for variety.The phrase "projects that want to" is repeated. Consider rephrasing for variety.
Apply this diff to add variety:
1. projects that aim to primarily target a single programming language and virtual machine environment besides Golang but who still want to use Cosmos SDK internals for consensus and storage 2. projects that seek to integrate multiple programming languages and virtual machine environments into an integrated applicationTools
LanguageTool
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
Markdownlint
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
29-30
: Separate 'however' with a semicolon or period.The word "however" is used incorrectly as a conjunction. It should be separated by a semicolon or a period.
Apply this diff:
- may vary significantly, however, the essence should remain more or less the same in most coding environments. + may vary significantly; however, the essence should remain more or less the same in most coding environments.Tools
LanguageTool
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
38-39
: Add blank lines around lists.Lists should be surrounded by blank lines for better readability.
Apply this diff:
An **account** is defined as having: * a unique **address** * an **account handler** which is some code which can process **messages** and send **messages** to other **accounts**Tools
Markdownlint
38-38: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
49-50
: Add blank lines around lists.Lists should be surrounded by blank lines for better readability.
Apply this diff:
A **message** is defined as a tuple of: * a **message name** * and **message data**Tools
Markdownlint
49-49: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
97-99
: Fix list indentation.The list items should be consistently indented.
Apply this diff to fix the indentation:
* a list of the **message names** it defines **message handlers** and for each of these, its: * **volatility** (described below) * optional additional bytes, which are not standardized at this levelTools
Markdownlint
98-98: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
99-99: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
97-97: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
164-164
: Simplify the phrase 'with respect to'.‘With respect to’ might be wordy. Consider a shorter alternative.
Apply this diff to simplify the phrase:
- describes a message handler's behavior with respect to state and side effects. + describes a message handler's behavior regarding state and side effects.Tools
LanguageTool
[style] ~164-~164: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
166-168
: Ensure consistent list formatting.The list items should be consistently formatted with proper punctuation.
Apply this diff:
* `volatile`: The handler can have side effects and send `volatile`, `readonly`, or `pure` messages to other accounts. Such handlers are expected to both read and write state. * `readonly`: The handler cannot cause side effects and can only send `readonly` or `pure` messages to other accounts. Such handlers are expected to only read state. * `pure`: The handler cannot cause any side effects and can only call other pure handlers. Such handlers are expected to neither read nor write state.Tools
LanguageTool
[uncategorized] ~167-~167: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~168-~168: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
Markdownlint
166-166: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
176-176
: Consider a shorter alternative to avoid wordiness.Consider a shorter alternative to avoid wordiness.
Apply this diff to improve clarity:
- In order to manage **accounts** and their mapping to **account handlers**, the **hypervisor** contains stateful mappings for: + To manage **accounts** and their mapping to **account handlers**, the **hypervisor** contains stateful mappings for:Tools
LanguageTool
[style] ~176-~176: Consider a shorter alternative to avoid wordiness.
Context: ... Account Lifecycle with the Hypervisor In order to manage accounts and their mapping t...(IN_ORDER_TO_PREMIUM)
184-187
: Ensure consistent list formatting.The list items should be consistently formatted with proper punctuation.
Apply this diff:
* `create(handler_id, init_data, address?)`: Creates a new account in the specified code environment with the specified handler id and optional pre-defined address (if not provided, a new address is generated). The `on_create` message is called if it is implemented by the account. * `destroy(address)`: Deletes the account with the specified address. `destroy` can only be called by the account itself. * `migrate(address, new_handler_id)`: Migrates the account with the specified address to the new account handler. The `on_migrate` message must be implemented by the new code and must not return an error for migration to succeed. `migrate` can only be called by the account itself. * `force_migrate(address, new_handler_id, init_data)`: This can be used when no `on_migrate` handler can perform a proper migration to the new account handler. In this case, the old account state will be destroyed, and `on_create` will be called on the new code. This is a destructive operation and should be used with caution.Tools
LanguageTool
[uncategorized] ~185-~185: Loose punctuation mark.
Context: ...ted by the account. *destroy(address)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~186-~186: Loose punctuation mark.
Context: ...lf. *migrate(address, new_handler_id)
: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~187-~187: Loose punctuation mark.
Context: ...ate(address, new_handler_id, init_data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~187-~187: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. The **hyp...(AND_THAT)
Markdownlint
184-184: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (1)
- docs/rfc/rfc-003-crosslang.md (1 hunks)
Additional context used
Path-based instructions (1)
docs/rfc/rfc-003-crosslang.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/rfc/rfc-003-crosslang.md
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
[uncategorized] ~109-~109: Loose punctuation mark.
Context: ...rary initialization data. *on_migrate
: called when an account is migrated to a...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~150-~150: Loose punctuation mark.
Context: ...rate(account address, new state config)`: migrates the account state with the spe...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~153-~153: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ...unt handler's metadata can define which get passed to the state handler when an accoun...(GET_USED_ARE_USED)
[style] ~160-~160: For conciseness, try rephrasing this sentence.
Context: ...rdinate around the usage of this token. It is possible that state modules expose methods for creating new **state tokens...(MAY_MIGHT_BE)
[style] ~164-~164: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
[uncategorized] ~167-~167: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~168-~168: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~176-~176: Consider a shorter alternative to avoid wordiness.
Context: ... Account Lifecycle with the Hypervisor In order to manage accounts and their mapping t...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~185-~185: Loose punctuation mark.
Context: ...ted by the account. *destroy(address)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~186-~186: Loose punctuation mark.
Context: ...lf. *migrate(address, new_handler_id)
: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~187-~187: Loose punctuation mark.
Context: ...ate(address, new_handler_id, init_data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~187-~187: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. The **hyp...(AND_THAT)
Markdownlint
docs/rfc/rfc-003-crosslang.md
149-149: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
150-150: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
151-151: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
98-98: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
99-99: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
38-38: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
49-49: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
67-67: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
97-97: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
108-108: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
127-127: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
149-149: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
166-166: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
178-178: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
184-184: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
248-248: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
Additional comments not posted (2)
docs/rfc/rfc-003-crosslang.md (2)
207-221
: Section approved.The "Authorization and Delegated Execution" section is clear and well-written.
223-237
: Section approved.The "Message Data and Packet Specification" section is clear and well-written.
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: 2
Outside diff range, codebase verification and nitpick comments (9)
docs/rfc/rfc-003-crosslang.md (9)
11-11
: Add a comma after 'Recently'.Consider adding a comma after 'Recently' for better clarity.
- Recently we have identified the following key target user groups: + Recently, we have identified the following key target user groups:
13-14
: Rephrase for variety.The phrase "projects that want to" is repeated. Consider rephrasing for variety.
1. projects that aim to primarily target a single programming language and virtual machine environment besides Golang but who still want to use Cosmos SDK internals for consensus and storage 2. projects that seek to integrate multiple programming languages and virtual machine environments into an integrated applicationTools
LanguageTool
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
Markdownlint
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
29-30
: Separate 'however' with a semicolon or period.The word "however" is used incorrectly as a conjunction. It should be separated by a semicolon or a period.
- may vary significantly, however, the essence should remain more or less the same in most coding environments. + may vary significantly; however, the essence should remain more or less the same in most coding environments.Tools
LanguageTool
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
88-88
: Add a comma for clarity.Consider adding a comma for better clarity in the sentence.
- A **module** is thus instance an instance of a **module handler** with a specific address + A **module** is thus an instance of a **module handler** with a specific address,Tools
LanguageTool
[uncategorized] ~88-~88: Possible missing comma found.
Context: ...of a module handler with a specific address in the same way that an account is an ...(AI_HYDRA_LEO_MISSING_COMMA)
109-109
: Fix list indentation.The list items should be consistently indented.
* a list of the **message names** it defines **message handlers** and for each of these, its: - * **volatility** (described below) - * optional additional bytes, which are not standardized at this level + * **volatility** (described below) + * optional additional bytes, which are not standardized at this levelTools
LanguageTool
[uncategorized] ~109-~109: Loose punctuation mark.
Context: ...rary initialization data. *on_migrate
: called when an account is migrated to a...(UNLIKELY_OPENING_PUNCTUATION)
150-150
: Fix list style.The list items should be consistently formatted with proper punctuation.
- `create(account address, state config)`: creates a new account state with the specified address and **state config**. - `migrate(account address, new state config)`: migrates the account state with the specified address to a new state config - `destroy(account address)`: destroys the account state with the specified address + * `create(account address, state config)`: creates a new account state with the specified address and **state config**. + * `migrate(account address, new state config)`: migrates the account state with the specified address to a new state config + * `destroy(account address)`: destroys the account state with the specified addressTools
LanguageTool
[uncategorized] ~150-~150: Loose punctuation mark.
Context: ...rate(account address, new state config)`: migrates the account state with the spe...(UNLIKELY_OPENING_PUNCTUATION)
Markdownlint
150-150: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
153-153
: Add a comma for clarity.Consider adding a comma for better clarity in the sentence.
- **State config** are optional bytes that each account handler's metadata can define which get passed to the **state handler** when an account is created. + **State config** are optional bytes that each account handler's metadata can define, which get passed to the **state handler** when an account is created.Tools
LanguageTool
[uncategorized] ~153-~153: Possible missing comma found.
Context: ...hat each account handler's metadata can define which get passed to the **state handler...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~153-~153: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ...unt handler's metadata can define which get passed to the state handler when an accoun...(GET_USED_ARE_USED)
164-164
: Simplify the phrase 'with respect to'.‘With respect to’ might be wordy. Consider a shorter alternative.
- describes a message handler's behavior with respect to state and side effects. + describes a message handler's behavior regarding state and side effects.Tools
LanguageTool
[style] ~164-~164: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
176-176
: Consider a shorter alternative to avoid wordiness.Consider a shorter alternative to avoid wordiness.
- In order to manage **accounts** and their mapping to **account handlers**, the **hypervisor** contains stateful mappings for: + To manage **accounts** and their mapping to **account handlers**, the **hypervisor** contains stateful mappings for:Tools
LanguageTool
[style] ~176-~176: Consider a shorter alternative to avoid wordiness.
Context: ... Account Lifecycle with the Hypervisor In order to manage accounts and their mapping t...(IN_ORDER_TO_PREMIUM)
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (1)
- docs/rfc/rfc-003-crosslang.md (1 hunks)
Additional context used
Path-based instructions (1)
docs/rfc/rfc-003-crosslang.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/rfc/rfc-003-crosslang.md
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
[typographical] ~29-~29: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
[uncategorized] ~88-~88: Possible missing comma found.
Context: ...of a module handler with a specific address in the same way that an account is an ...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~109-~109: Loose punctuation mark.
Context: ...rary initialization data. *on_migrate
: called when an account is migrated to a...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~150-~150: Loose punctuation mark.
Context: ...rate(account address, new state config)`: migrates the account state with the spe...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~153-~153: Possible missing comma found.
Context: ...hat each account handler's metadata can define which get passed to the **state handler...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~153-~153: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ...unt handler's metadata can define which get passed to the state handler when an accoun...(GET_USED_ARE_USED)
[style] ~160-~160: For conciseness, try rephrasing this sentence.
Context: ...rdinate around the usage of this token. It is possible that state modules expose methods for creating new **state tokens...(MAY_MIGHT_BE)
[style] ~164-~164: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
[uncategorized] ~167-~167: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~168-~168: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~176-~176: Consider a shorter alternative to avoid wordiness.
Context: ... Account Lifecycle with the Hypervisor In order to manage accounts and their mapping t...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~185-~185: Loose punctuation mark.
Context: ...dictable addresses. *destroy(address)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~186-~186: Loose punctuation mark.
Context: ...lf. *migrate(address, new_handler_id)
: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~187-~187: Loose punctuation mark.
Context: ...ate(address, new_handler_id, init_data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~187-~187: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. The **hyp...(AND_THAT)
Markdownlint
docs/rfc/rfc-003-crosslang.md
149-149: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
150-150: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
151-151: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
98-98: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
99-99: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
38-38: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
49-49: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
67-67: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
97-97: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
108-108: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
127-127: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
149-149: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
166-166: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
178-178: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
184-184: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
248-248: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
Additional comments not posted (5)
docs/rfc/rfc-003-crosslang.md (5)
3-6
: LGTM!The Changelog section is correctly formatted.
The code changes are approved.
192-206
: LGTM!The Module Lifecycle & Module Messages section is well-written.
The code changes are approved.
207-221
: LGTM!The Authorization and Delegated Execution section is well-written.
The code changes are approved.
223-237
: LGTM!The Message Data and Packet Specification section is well-written.
The code changes are approved.
238-252
: LGTM!The Further Specifications section is well-written.
The code changes are approved.
Tools
Markdownlint
248-248: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
docs/rfc/rfc-003-crosslang.md
Outdated
### Positive | ||
|
||
TODO | ||
|
||
### Negative | ||
|
||
TODO | ||
|
||
### Neutral | ||
|
||
TODO |
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.
Complete the 'Consequences' section.
The section contains TODOs for positive, negative, and neutral consequences. Consider completing this section to provide a comprehensive view of the proposal's impact.
Would you like me to help draft the content for this section or open a GitHub issue to track this task?
docs/rfc/rfc-003-crosslang.md
Outdated
### References | ||
|
||
## Discussion |
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.
Complete the 'References' section.
The section is currently empty. Consider adding relevant references to provide a comprehensive view of the proposal's background and related work.
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.
ACK.
Looking forward to hear how will that Message data
will be defined however.
Could we mention x/account somewhere as well and how this replicates some of its features?
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: 4
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (1)
- docs/rfc/rfc-003-crosslang.md (1 hunks)
Additional context used
Path-based instructions (1)
docs/rfc/rfc-003-crosslang.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/rfc/rfc-003-crosslang.md
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
[typographical] ~36-~36: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
[uncategorized] ~116-~116: Loose punctuation mark.
Context: ...rary initialization data. *on_migrate
: called when an account is migrated to a...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~157-~157: Loose punctuation mark.
Context: ...rate(account address, new state config)`: migrates the account state with the spe...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~160-~160: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ...unt handler's metadata can define which get passed to the state handler when an accoun...(GET_USED_ARE_USED)
[style] ~167-~167: For conciseness, try rephrasing this sentence.
Context: ...rdinate around the usage of this token. It is possible that state modules expose methods for creating new **state tokens...(MAY_MIGHT_BE)
[style] ~171-~171: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
[uncategorized] ~174-~174: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~175-~175: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~183-~183: Consider a shorter alternative to avoid wordiness.
Context: ... Account Lifecycle with the Hypervisor In order to manage accounts and their mapping t...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~192-~192: Loose punctuation mark.
Context: ...dictable addresses. *destroy(address)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~193-~193: Loose punctuation mark.
Context: ...lf. *migrate(address, new_handler_id)
: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~194-~194: Loose punctuation mark.
Context: ...ate(address, new_handler_id, init_data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~194-~194: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. The **hyp...(AND_THAT)
Markdownlint
docs/rfc/rfc-003-crosslang.md
24-24: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
25-25: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
156-156: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
157-157: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
158-158: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
272-272: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
273-273: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
274-274: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
105-105: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
106-106: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
24-24: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
45-45: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
56-56: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
74-74: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
104-104: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
115-115: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
134-134: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
156-156: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
173-173: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
185-185: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
191-191: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
286-286: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
Additional comments not posted (1)
docs/rfc/rfc-003-crosslang.md (1)
9-11
: Clarify the target user groups.The document mentions key target user groups but lists "Recently we have identified the following key target user groups:" twice in lines 11 and 12. This repetition could be a typographical error and should be corrected for clarity.
Consider removing the duplicate line to improve the readability of the document:
- Recently we have identified the following key target user groups:
Likely invalid or redundant comment.
docs/rfc/rfc-003-crosslang.md
Outdated
TODO | ||
|
||
### Negative | ||
|
||
TODO | ||
|
||
### Neutral | ||
|
||
TODO |
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.
Complete the 'Consequences' section.
The 'Consequences' section is marked with TODOs for positive, negative, and neutral impacts but lacks content.
Consider completing this section to provide a comprehensive view of the proposal's impact. Would you like assistance in drafting this content or should I open a GitHub issue to track this task?
I added references to x/accounts and other previous design documents. I also added consequences and a decision section, which basically says we intend to move forward with this approach (which is my read on the discussion). Planning to work on an update to this RFC with message data specs after this first draft is merged. |
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: 4
Review details
Configuration used: .coderabbit.yml
Review profile: CHILL
Files selected for processing (1)
- docs/rfc/rfc-003-crosslang.md (1 hunks)
Additional context used
Path-based instructions (1)
docs/rfc/rfc-003-crosslang.md (1)
Pattern
**/*.md
: "Assess the documentation for misspellings, grammatical errors, missing documentation and correctness"
LanguageTool
docs/rfc/rfc-003-crosslang.md
[style] ~14-~14: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... consensus and storage 2. projects that want to integrate multiple programming language...(REP_WANT_TO_VB)
[typographical] ~36-~36: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
[uncategorized] ~39-~39: Possible missing comma found.
Context: ...his specification is intentionally kept minimal as it is always easier to add features ...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~95-~95: Possible missing comma found.
Context: ...of a module handler with a specific address in the same way that an account is an ...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~116-~116: Loose punctuation mark.
Context: ...rary initialization data. *on_migrate
: called when an account is migrated to a...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~157-~157: Loose punctuation mark.
Context: ...rate(account address, new state config)`: migrates the account state with the spe...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~160-~160: Possible missing comma found.
Context: ...hat each account handler's metadata can define which get passed to the **state handler...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~160-~160: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ...unt handler's metadata can define which get passed to the state handler when an accoun...(GET_USED_ARE_USED)
[style] ~167-~167: For conciseness, try rephrasing this sentence.
Context: ...rdinate around the usage of this token. It is possible that state modules expose methods for creating new **state tokens...(MAY_MIGHT_BE)
[style] ~171-~171: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ... describes a message handler's behavior with respect to state and side effects. It is an enum v...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
[uncategorized] ~174-~174: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~175-~175: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~183-~183: Consider a shorter alternative to avoid wordiness.
Context: ... Account Lifecycle with the Hypervisor In order to manage accounts and their mapping t...(IN_ORDER_TO_PREMIUM)
[uncategorized] ~192-~192: Loose punctuation mark.
Context: ...dictable addresses. *destroy(address)
: deletes the account with the specified ...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~193-~193: Loose punctuation mark.
Context: ...lf. *migrate(address, new_handler_id)
: migrates the account with the specified...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~194-~194: Loose punctuation mark.
Context: ...ate(address, new_handler_id, init_data): this can be used when no
on_migrate` h...(UNLIKELY_OPENING_PUNCTUATION)
[style] ~194-~194: Consider replacing this word to strengthen your wording.
Context: ...w code. This is a destructive operation and should be used with caution. The **hyp...(AND_THAT)
[uncategorized] ~270-~270: Possible missing comma found.
Context: ...ler will be slower than a golang method call as in the existing keeper paradigm. Ho...(AI_HYDRA_LEO_MISSING_COMMA)
Markdownlint
docs/rfc/rfc-003-crosslang.md
24-24: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
25-25: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
156-156: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
157-157: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
158-158: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
279-279: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
280-280: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
281-281: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
105-105: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
106-106: Expected: 4; Actual: 2
Unordered list indentation(MD007, ul-indent)
13-13: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
24-24: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
45-45: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
56-56: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
74-74: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
104-104: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
115-115: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
134-134: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
156-156: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
173-173: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
185-185: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
191-191: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
293-293: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
The formal details of how these concepts are represented in a specific coding environment may vary significantly, | ||
however, the essence should remain more or less the same in most coding environments. |
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 usage of 'however'.
The word "however" is used as a conjunction in line 37, which is grammatically incorrect. It should be preceded by a semicolon or a period.
Apply this diff to correct the grammar:
- however, the essence should remain more or less the same in most coding environments.
+ ; however, the essence should remain more or less the same in most coding environments.
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.
The formal details of how these concepts are represented in a specific coding environment may vary significantly, | |
however, the essence should remain more or less the same in most coding environments. | |
The formal details of how these concepts are represented in a specific coding environment may vary significantly; however, the essence should remain more or less the same in most coding environments. |
Tools
LanguageTool
[typographical] ~36-~36: The word “however” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...oding environment may vary significantly, however, the essence should remain more or less ...(HOWEVER_SENTENCE)
The Cosmos SDK has historically been a Golang only framework for building blockchain applications. | ||
However, discussions about supporting additional programming languages and virtual machine environments | ||
have been underway since early 2023. Recently, we have identified the following key target user groups: |
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.
Rephrase for clarity and variety.
The phrase "Recently, we have identified the following key target user groups:" is repeated in lines 11 and 12, which is redundant and affects the readability of the document. Consider rephrasing or removing the repetition.
Suggested change:
- Recently, we have identified the following key target user groups:
- Recently we have identified the following key target user groups:
+ Recently, we have identified the following key target user groups:
Committable suggestion was skipped due to low confidence.
### References | ||
|
||
- [Abandoned RFC 003: Language-independent Module Semantics & ABI](https://github.com/cosmos/cosmos-sdk/pull/15410) | ||
- [RFC 002: Zero Copy Encoding](./rfc-002-zero-copy-encoding.md) | ||
- [RFC 004: Accounts](./rfc-004-accounts.md) |
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 consistent list formatting in the 'References' section.
The list items in the 'References' section are not consistently formatted.
Apply this diff to correct the list formatting:
- - [Abandoned RFC 003: Language-independent Module Semantics & ABI](https://github.com/cosmos/cosmos-sdk/pull/15410)
- - [RFC 002: Zero Copy Encoding](./rfc-002-zero-copy-encoding.md)
- - [RFC 004: Accounts](./rfc-004-accounts.md)
+ * [Abandoned RFC 003: Language-independent Module Semantics & ABI](https://github.com/cosmos/cosmos-sdk/pull/15410)
+ * [RFC 002: Zero Copy Encoding](./rfc-002-zero-copy-encoding.md)
+ * [RFC 004: Accounts](./rfc-004-accounts.md)
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.
### References | |
- [Abandoned RFC 003: Language-independent Module Semantics & ABI](https://github.com/cosmos/cosmos-sdk/pull/15410) | |
- [RFC 002: Zero Copy Encoding](./rfc-002-zero-copy-encoding.md) | |
- [RFC 004: Accounts](./rfc-004-accounts.md) | |
### References | |
* [Abandoned RFC 003: Language-independent Module Semantics & ABI](https://github.com/cosmos/cosmos-sdk/pull/15410) | |
* [RFC 002: Zero Copy Encoding](./rfc-002-zero-copy-encoding.md) | |
* [RFC 004: Accounts](./rfc-004-accounts.md) |
Tools
Markdownlint
279-279: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
280-280: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
281-281: Expected: asterisk; Actual: dash
Unordered list style(MD004, ul-style)
* `volatile`: the handler can have side effects and send `volatile`, `radonly` or `pure` messages to other accounts. Such handlers are expected to both read and write state. | ||
* `readonly`: the handler cannot cause effects side effects and can only send `readonly` or `pure` messages to other accounts. Such handlers are expected to only read state. | ||
* `pure`: the handler cannot cause any side effects and can only call other pure handlers. Such handlers are expected to neither read nor write state. |
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 list punctuation and formatting.
The list items under the "Volatility" section are not consistently formatted, and there are typographical errors in the descriptions.
Apply this diff to correct the punctuation and improve the list formatting:
- * `volatile`: the handler can have side effects and send `volatile`, `radonly` or `pure` messages to other accounts. Such handlers are expected to both read and write state.
- * `readonly`: the handler cannot cause effects side effects and can only send `readonly` or `pure` messages to other accounts. Such handlers are expected to only read state.
- * `pure`: the handler cannot cause any side effects and can only call other pure handlers. Such handlers are expected to neither read nor write state.
+ * `volatile`: The handler can have side effects and send `volatile`, `readonly`, or `pure` messages to other accounts. Such handlers are expected to both read and write state.
+ * `readonly`: The handler cannot cause side effects and can only send `readonly` or `pure` messages to other accounts. Such handlers are expected to only read state.
+ * `pure`: The handler cannot cause any side effects and can only call other pure handlers. Such handlers are expected to neither read nor write state.
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.
* `volatile`: the handler can have side effects and send `volatile`, `radonly` or `pure` messages to other accounts. Such handlers are expected to both read and write state. | |
* `readonly`: the handler cannot cause effects side effects and can only send `readonly` or `pure` messages to other accounts. Such handlers are expected to only read state. | |
* `pure`: the handler cannot cause any side effects and can only call other pure handlers. Such handlers are expected to neither read nor write state. | |
* `volatile`: The handler can have side effects and send `volatile`, `readonly`, or `pure` messages to other accounts. Such handlers are expected to both read and write state. | |
* `readonly`: The handler cannot cause side effects and can only send `readonly` or `pure` messages to other accounts. Such handlers are expected to only read state. | |
* `pure`: The handler cannot cause any side effects and can only call other pure handlers. Such handlers are expected to neither read nor write state. |
Tools
LanguageTool
[uncategorized] ~174-~174: Loose punctuation mark.
Context: ... both read and write state. *readonly
: the handler cannot cause effects side e...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~175-~175: Loose punctuation mark.
Context: ...re expected to only read state. *pure
: the handler cannot cause any side effec...(UNLIKELY_OPENING_PUNCTUATION)
Markdownlint
173-173: null
Lists should be surrounded by blank lines(MD032, blanks-around-lists)
Anybody know what's up with the markdown link checker? The report is long and any errors are non obvious |
It hasn't been introduced here for sure. I think it was broken for a while. Just broken links basically. |
"ERROR: 4 dead links found!" Something to fix in the doc focus week for sure. |
Description
Rendered
This RFC conceptually specifies a framework for cross-language, cross-VM accounts and modules.
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
Summary by CodeRabbit
New Features
Documentation