-
Notifications
You must be signed in to change notification settings - Fork 122
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: several changes to the ICS docs #2163
Conversation
Warning Rate limit exceeded@mpoke has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 25 minutes and 26 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. WalkthroughWalkthroughThe recent updates primarily enhance the clarity and functionality of documentation related to Interchain Security (ICS) and its components. Key modifications include the introduction of new parameters for consumer chains, refined governance proposals, clearer descriptions of validator responsibilities, and improved overall structure for better readability. These changes provide users with a comprehensive understanding of the ICS framework and ensure best practices for validators. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Validator
participant ConsumerChain
participant ProviderChain
User->>Validator: Opt-in to Consumer Chain
Validator->>ConsumerChain: Assign Unique Public Keys
ConsumerChain->>ProviderChain: Validate Transactions
ProviderChain-->>ConsumerChain: Shares Validator Set
ConsumerChain->>Validator: Reward Distribution
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add 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 (55)
docs/src/components/Cards/card-data/home-cards.js (4)
9-10
: Clarify summary punctuation.Consider adding a period at the end of the summary for consistency with other summaries.
- summary: 'Frequently asked questions about the protocol and its implications' + summary: 'Frequently asked questions about the protocol and its implications.'
14-15
: Clarify summary punctuation.Consider adding a period at the end of the summary for consistency with other summaries.
- summary: 'Click here to start building with Interchain Security' + summary: 'Click here to start building with Interchain Security.'
24-25
: Clarify summary punctuation.Consider adding a period at the end of the summary for consistency with other summaries.
- summary: 'Start validating on consumer chains' + summary: 'Start validating on consumer chains.'
29-30
: Clarify summary punctuation.Consider adding a period at the end of the summary for consistency with other summaries.
- summary: 'Learn how to assign separate key on the consumer chains' + summary: 'Learn how to assign separate key on the consumer chains.'docs/docs/features/partial-set-security.md (2)
13-14
: Remove trailing spaces.Trailing spaces are present at the end of these lines. Removing them improves formatting consistency.
- An advantage of Top N chains is that they are guaranteed to receive at least a certain fraction of the market cap of the provider chain in security. - In turn, Top N chains need to be approved by governance, since some validators will be forced to validate on them. + An advantage of Top N chains is that they are guaranteed to receive at least a certain fraction of the market cap of the provider chain in security. + In turn, Top N chains need to be approved by governance, since some validators will be forced to validate on them.Tools
Markdownlint
13-13: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
14-14: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
17-19
: Remove trailing spaces.Trailing spaces are present at the end of these lines. Removing them improves formatting consistency.
- Opt-In chains, on the other hand, are more flexible. - Validators are never forced to validate these chains and simply opt in if they want to. - Because of this, Opt-In chains can be **_launch completely permissionlessly_** by sending a transaction to the provider chain. + Opt-In chains, on the other hand, are more flexible. + Validators are never forced to validate these chains and simply opt in if they want to. + Because of this, Opt-In chains can be **_launch completely permissionlessly_** by sending a transaction to the provider chain.Tools
Markdownlint
17-17: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
18-18: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
19-19: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
docs/docs/features/reward-distribution.md (3)
12-12
: Remove trailing spaces.Trailing spaces are present at the end of this line. Removing them improves formatting consistency.
- This channel is created during consumer chain initialization, unless it is provided when creating a new consumer chain (see the [DistributionTransmissionChannel param](../introduction/params.md#distributiontransmissionchannel)). + This channel is created during consumer chain initialization, unless it is provided when creating a new consumer chain (see the [DistributionTransmissionChannel param](../introduction/params.md#distributiontransmissionchannel)).Tools
Markdownlint
12-12: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
14-16
: Remove trailing spaces.Trailing spaces are present at the end of these lines. Removing them improves formatting consistency.
- Providing an IBC transfer channel enables a consumer chain to re-use one of the existing channels to the provider for consumer chain rewards distribution. - This will preserve the `ibc denom` that may already be in use. - This is especially important for standalone chains transitioning to become consumer chains. + Providing an IBC transfer channel enables a consumer chain to re-use one of the existing channels to the provider for consumer chain rewards distribution. + This will preserve the `ibc denom` that may already be in use. + This is especially important for standalone chains transitioning to become consumer chains.Tools
Markdownlint
14-14: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
15-15: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
16-16: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
19-19
: Remove trailing spaces.Trailing spaces are present at the end of this line. Removing them improves formatting consistency.
- Once on the provider, the ICS rewards are distributed to the opted in validators and their delegators. + Once on the provider, the ICS rewards are distributed to the opted in validators and their delegators.Tools
Markdownlint
19-19: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
docs/docs/introduction/terminology.md (4)
11-11
: Remove trailing spaces.Trailing spaces are present at the end of this line. Removing them improves formatting consistency.
- Shared Security is a family of technologies that include optimistic rollups, zk-rollups, sharding and Interchain Security. + Shared Security is a family of technologies that include optimistic rollups, zk-rollups, sharding and Interchain Security.Tools
Markdownlint
11-11: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
20-22
: Remove trailing spaces.Trailing spaces are present at the end of these lines. Removing them improves formatting consistency.
- A particular protocol/implementation of Interchain Security that fully replicates the security and decentralization of a validator set across multiple blockchains. - Replicated security has also been referred to as "Interchain Security V1", a legacy term for the same protocol. - That is, a "provider chain" such as the Cosmos Hub can share its exact validator set with multiple consumer chains by communicating changes in its validator set over IBC. + A particular protocol/implementation of Interchain Security that fully replicates the security and decentralization of a validator set across multiple blockchains. + Replicated security has also been referred to as "Interchain Security V1", a legacy term for the same protocol. + That is, a "provider chain" such as the Cosmos Hub can share its exact validator set with multiple consumer chains by communicating changes in its validator set over IBC.Tools
Markdownlint
20-20: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
21-21: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
22-22: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
27-28
: Remove trailing spaces.Trailing spaces are present at the end of these lines. Removing them improves formatting consistency.
- A major feature of Interchain Security (also referred to as "Interchain Security V2") that allows a provider chain to share only a subset of its validator set with a consumer chain. - This subset can be determined by the top N% validators by voting power, or by validators opting in to validate the consumer chain. + A major feature of Interchain Security (also referred to as "Interchain Security V2") that allows a provider chain to share only a subset of its validator set with a consumer chain. + This subset can be determined by the top N% validators by voting power, or by validators opting in to validate the consumer chain.Tools
Markdownlint
27-27: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
28-28: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
46-47
: Remove trailing spaces.Trailing spaces are present at the end of these lines. Removing them improves formatting consistency.
- Chains that were not initially launched as consumers of Interchain Security can still participate in the protocol and leverage the economic security of the provider chain. - The process where a standalone chain transitions to being a replicated consumer chain is called the **changeover procedure** and is part of the ICS protocol. + Chains that were not initially launched as consumers of Interchain Security can still participate in the protocol and leverage the economic security of the provider chain. + The process where a standalone chain transitions to being a replicated consumer chain is called the **changeover procedure** and is part of the ICS protocol.Tools
Markdownlint
46-46: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
47-47: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
docs/docs/introduction/overview.md (4)
7-9
: Clarify the description of ICS.The description of ICS could be more explicit about its benefits and how it operates within the Cosmos ecosystem.
Consider rephrasing to emphasize the unique aspects of ICS.
39-49
: Clarify the consequences of slashing and jailing.The explanation of slashing and jailing could be expanded to clarify the implications for validators and the network.
Consider adding more context or examples to illustrate the impact of these actions.
Tools
LanguageTool
[grammar] ~45-~45: In this context, ‘type’ should agree in number with the noun after ‘of’.
Context: ...CS currently differentiates between two type of infractions -- double signing and downtime. Double...(TYPE_OF_PLURAL)
Markdownlint
39-39: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
40-40: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
43-43: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
44-44: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
45-45: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
46-46: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
47-47: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
48-48: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
49-49: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
51-55
: Ensure clarity in tokenomics description.The description of tokenomics and rewards could be more detailed to help readers understand the mechanisms involved.
Consider elaborating on how the customizable percentage is determined and its impact on governance.
Tools
Markdownlint
51-51: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
52-52: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
53-53: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
54-54: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
34-35
: Highlight the benefits of block-space sharding.The explanation could emphasize how block-space sharding improves performance compared to shared platforms.
Consider adding examples or comparisons to illustrate the benefits.
Tools
Markdownlint
34-34: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
docs/docs/features/power-shaping.md (2)
16-17
: Avoid repetitive phrasing.The phrase "want to have" is repeated in nearby sentences. Consider rephrasing for variety.
Use this diff to improve the phrasing:
- This can be used to limit the number of validators in the set, which can be useful for chains that want to have a smaller validator set for faster blocks or lower overhead. + This can be used to limit the number of validators in the set, which can be beneficial for chains aiming for a smaller validator set to achieve faster blocks or lower overhead.Tools
LanguageTool
[style] ~17-~17: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...et, which can be useful for chains that want to have a smaller validator set for faster...(REP_WANT_TO_VB)
Markdownlint
16-16: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
17-17: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
34-34
: Simplify wordy expressions.The phrase "with respect to" can be simplified for clarity.
Use this diff to improve the expression:
- Note that rewards are distributed proportionally to validators with respect to their capped voting power on the consumer, not their total voting power on the provider. + Note that rewards are distributed proportionally to validators based on their capped voting power on the consumer, not their total voting power on the provider.Tools
LanguageTool
[style] ~34-~34: ‘with respect to’ might be wordy. Consider a shorter alternative.
Context: ...istributed proportionally to validators with respect to their capped voting power on the consum...(EN_WORDINESS_PREMIUM_WITH_RESPECT_TO)
docs/docs/features/proposals.md (3)
74-76
: Clarify the consequences of consumer chain removal.The explanation could be expanded to clarify what happens to the consumer chain after removal.
Consider adding more context or examples to illustrate the impact of these actions.
Tools
LanguageTool
[uncategorized] ~76-~76: The preposition “by” seems more likely in this position.
Context: ...e slashed for any infractions committed on the consumer. Additional steps are requ...(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)
81-84
: Clarify the example for ConsumerModificationProposal.The example could be more detailed to help readers understand the implications of the changes.
Consider elaborating on the reasons for changing parameters and the expected outcomes.
109-110
: Clarify the conditions for ChangeRewardDenomProposal acceptance.The explanation could be more explicit about the requirements for proposal acceptance.
Consider adding examples or scenarios to illustrate when a proposal would be accepted or rejected.
docs/docs/validators/partial-set-security-for-validators.md (3)
48-50
: Emphasize the importance of unique keys.The warning about assigning separate keys for each consumer chain is crucial for security.
Consider highlighting this recommendation further or providing examples of potential risks.
68-70
: Simplify redundant phrasing.The phrase "outside of the top N%" can be simplified.
Use this diff to improve the phrasing:
- If a validator moves from the Top N to outside of the top N% of the validators on the provider, it will **not** be automatically opted-out. + If a validator moves from the Top N to below the top N% of the validators on the provider, it will **not** be automatically opted-out.Tools
LanguageTool
[style] ~68-~68: This phrase is redundant. Consider using “outside”.
Context: ... If a validator moves from the Top N to outside of the top N% of the validators on the pro...(OUTSIDE_OF)
154-156
: Simplify wordy expressions.The phrase "point in time" can be simplified.
Use this diff to improve the expression:
- This is because the `VSCPacket` sent to a consumer chain might be delayed and hence this query might return the validator set that the consumer chain would have at some future point in time. + This is because the `VSCPacket` sent to a consumer chain might be delayed and hence this query might return the validator set that the consumer chain would have at some future point.Tools
LanguageTool
[uncategorized] ~155-~155: Possible missing comma found.
Context: ...cket` sent to a consumer chain might be delayed and hence this query might return the v...(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~156-~156: This phrase is redundant. Consider writing “point” or “time”.
Context: ...onsumer chain would have at some future point in time. ### How can we see the commission rat...(MOMENT_IN_TIME)
Markdownlint
154-154: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
docs/docs/consumer-development/onboarding.md (1)
122-126
: Ensure clarity in new fields description.The new fields
min_stake
andallow_inactive_vals
should be clearly explained in terms of their impact on the validation process.Consider adding examples or scenarios to illustrate how these fields affect the consumer chain.
docs/docs/frequently-asked-questions.md (18)
12-12
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-This means that consumer chains will leverage the stake locked on the provider chain for block production (i.e., a cross-chain proof-of-stake system). +This means that consumer chains will leverage the stake locked on the provider chain for block production (i.e., a cross-chain proof-of-stake system).Tools
Markdownlint
12-12: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
18-18
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-[ICS is a protocol](#what-is-interchain-security-ics). +[ICS is a protocol](#what-is-interchain-security-ics).Tools
Markdownlint
18-18: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
20-20
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-PSS differentiates between TopN and Opt-In consumer chains. +PSS differentiates between TopN and Opt-In consumer chains.Tools
Markdownlint
20-20: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
22-22
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-For Opt-In chains, the validator subset is determined by validators opting in to validate the consumer chains. +For Opt-In chains, the validator subset is determined by validators opting in to validate the consumer chains.Tools
Markdownlint
22-22: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
31-31
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-Consumer chains are blockchains operated by (a subset of) the validators of the provider chain. +Consumer chains are blockchains operated by (a subset of) the validators of the provider chain.Tools
Markdownlint
31-31: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
38-38
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-Consumer chains are free to choose how they wish to operate and which modules to include. +Consumer chains are free to choose how they wish to operate and which modules to include.Tools
Markdownlint
38-38: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
52-52
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-If any of the packets sent over the CCV channel timeout (see the [CCVTimeoutPeriod param](./introduction/params.md#ccvtimeoutperiod)), then the channel is closed and, consequently, the consumer chain transitions to a Proof of Authority (PoA) chain. +If any of the packets sent over the CCV channel timeout (see the [CCVTimeoutPeriod param](./introduction/params.md#ccvtimeoutperiod)), then the channel is closed and, consequently, the consumer chain transitions to a Proof of Authority (PoA) chain.Tools
Markdownlint
52-52: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
53-53
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-This means that the validator set on the consumer will no longer be updated with information from the provider. +This means that the validator set on the consumer will no longer be updated with information from the provider.Tools
Markdownlint
53-53: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
62-62
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-As any other Cosmos SDK chains, **_consumer chains can issue their own token_** and manage inflation parameters. +As any other Cosmos SDK chains, **_consumer chains can issue their own token_** and manage inflation parameters.Tools
Markdownlint
62-62: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
63-63
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-Note that the ICS protocol does not impact the transaction fee system on the consumer chains. +Note that the ICS protocol does not impact the transaction fee system on the consumer chains.Tools
Markdownlint
63-63: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
70-70
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-Validator operators (with their stake locked on the provider) are responsible for block production, while _representatives_ (aka governators, governors) are responsible for on-chain governance. +Validator operators (with their stake locked on the provider) are responsible for block production, while _representatives_ (aka governators, governors) are responsible for on-chain governance.Tools
Markdownlint
70-70: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
77-77
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-Yes, by issuing a [`ConsumerModificationProposal`](./features/proposals.md#consumermodificationproposal). +Yes, by issuing a [`ConsumerModificationProposal`](./features/proposals.md#consumermodificationproposal).Tools
Markdownlint
77-77: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
87-87
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-An important note is that validator the top N% of the provider chain validator set are automatically opted in on Top N consumer chains. +An important note is that validator the top N% of the provider chain validator set are automatically opted in on Top N consumer chains.Tools
Markdownlint
87-87: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
112-112
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-The consumer chains sends a portion of its block rewards (e.g., transaction fees and inflation) to the provider chain as defined by the [ConsumerRedistributionFraction param](./introduction/params.md#consumerredistributionfraction). +The consumer chains sends a portion of its block rewards (e.g., transaction fees and inflation) to the provider chain as defined by the [ConsumerRedistributionFraction param](./introduction/params.md#consumerredistributionfraction).Tools
LanguageTool
[grammar] ~112-~112: The verb form ‘sends’ does not seem to match the subject ‘chains’.
Context: ...g consumer chains? The consumer chains sends a portion of its block rewards (e.g., t...(SUBJECT_VERB_AGREEMENT_PLURAL)
Markdownlint
112-112: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
123-126
: Remove trailing spaces.There are trailing spaces at the end of these lines.
Use this diff to remove them:
-Consumer chains send IBC packets via the CCV channels informing the provider when opted in validators should be jailed for downtime. -It is important to notice that _validators are not slashed for downtime on consumer chains_. -The downtime logic is custom to the consumer chain. -For example, Cosmos SDK chains can use the [slashing module](https://docs.cosmos.network/v0.50/build/modules/slashing) to configure the downtime window. +Consumer chains send IBC packets via the CCV channels informing the provider when opted in validators should be jailed for downtime. +It is important to notice that _validators are not slashed for downtime on consumer chains_. +The downtime logic is custom to the consumer chain. +For example, Cosmos SDK chains can use the [slashing module](https://docs.cosmos.network/v0.50/build/modules/slashing) to configure the downtime window.Tools
Markdownlint
123-123: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
124-124: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
125-125: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
126-126: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
132-132
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-In theory yes. +In theory yes.Tools
Markdownlint
132-132: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
148-148
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-## Integrators +## IntegratorsTools
Markdownlint
148-148: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
164-166
: Surround fenced code blocks with blank lines.Fenced code blocks should be surrounded by blank lines for better readability.
Use this diff to fix the issue:
-Validator updates are sent to consumer chains every `BlocksPerEpoch` blocks. -Depending on the status of relayers between the Hub and the consumer chains, -it might take a while for the validator updates to be processed and applied on the consumer chains. +Validator updates are sent to consumer chains every `BlocksPerEpoch` blocks. +Depending on the status of relayers between the Hub and the consumer chains, +it might take a while for the validator updates to be processed and applied on the consumer chains. To query how many blocks are left until the next epoch starts, run the following command: ```bash interchain-security-pd query provider blocks-until-next-epoch<details> <summary>Tools</summary> <details> <summary>Markdownlint</summary><blockquote> 164-164: null Fenced code blocks should be surrounded by blank lines (MD031, blanks-around-fences) </blockquote></details> </details> </blockquote></details> <details> <summary>docs/docs/features/democracy-modules.md (6)</summary><blockquote> `37-37`: **Add a comma before 'and'.** Use a comma before 'and' to separate two independent clauses. Use this diff to fix the issue: ```diff -With these changes, governators can become community advocates that can specialize in chain governance and they get rewarded for their participation the same way the validators do. +With these changes, governators can become community advocates that can specialize in chain governance, and they get rewarded for their participation the same way the validators do.
Tools
LanguageTool
[uncategorized] ~37-~37: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... that can specialize in chain governance and they get rewarded for their participati...(COMMA_COMPOUND_SENTENCE)
225-225
: Add missing article.Add the missing article 'the' before 'chain'.
Use this diff to fix the issue:
-As a result, consumer chains can limit the types of governance proposals that can be executed on chain to avoid inadvertent changes to the ICS protocol that could affect security properties. +As a result, consumer chains can limit the types of governance proposals that can be executed on the chain to avoid inadvertent changes to the ICS protocol that could affect security properties.Tools
LanguageTool
[uncategorized] ~225-~225: Possible missing article found.
Context: ...nance proposals that can be executed on chain to avoid inadvertent changes to the ICS...(AI_HYDRA_LEO_MISSING_THE)
442-442
: Add missing comma.Add a comma after 'chain' for clarity.
Use this diff to fix the issue:
-The `democracy/distribution` module allows the consumer chain to send rewards to the provider chain while retaining the logic of the `x/distribution` module for internal reward distribution to governators and their delegators. +The `democracy/distribution` module allows the consumer chain to send rewards to the provider chain, while retaining the logic of the `x/distribution` module for internal reward distribution to governators and their delegators.Tools
LanguageTool
[uncategorized] ~442-~442: Possible missing comma found.
Context: ...r chain to send rewards to the provider chain while retaining the logic of the `x/dis...(AI_HYDRA_LEO_MISSING_COMMA)
446-446
: Add missing preposition.Add 'it' after 'where' for clarity.
Use this diff to fix the issue:
-First, a percentage of the block rewards is sent to the provider chain, where is distributed to only opted-in validators and their delegators. +First, a percentage of the block rewards is sent to the provider chain, where it is distributed to only opted-in validators and their delegators.Tools
LanguageTool
[uncategorized] ~446-~446: Possible missing preposition found.
Context: ...ds is sent to the provider chain, where is distributed to only opted-in validators...(AI_HYDRA_LEO_MISSING_IT)
Markdownlint
446-446: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
28-28
: Use asterisk for strong style.Replace underscores with asterisks for strong emphasis.
Use this diff to fix the issue:
-Validators registered with the `x/staking` module become __Governators__. +Validators registered with the `x/staking` module become **Governators**.Tools
Markdownlint
28-28: Expected: asterisk; Actual: underscore
Strong style(MD050, strong-style)
28-28: Expected: asterisk; Actual: underscore
Strong style(MD050, strong-style)
446-446
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-First, a percentage of the block rewards is sent to the provider chain, where is distributed to only opted-in validators and their delegators. +First, a percentage of the block rewards is sent to the provider chain, where is distributed to only opted-in validators and their delegators.Tools
LanguageTool
[uncategorized] ~446-~446: Possible missing preposition found.
Context: ...ds is sent to the provider chain, where is distributed to only opted-in validators...(AI_HYDRA_LEO_MISSING_IT)
Markdownlint
446-446: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
docs/docs/features/slashing.md (5)
9-9
: Use 'can' instead of 'able to'.Consider using 'can' as a shorter alternative for 'able to'.
Use this diff to fix the issue:
-To maintain the proof of stake model, the consumer chain is able to send evidence of infractions (double signing and downtime) to the provider chain so the offending validators can be penalized. +To maintain the proof of stake model, the consumer chain can send evidence of infractions (double signing and downtime) to the provider chain so the offending validators can be penalized.Tools
LanguageTool
[style] ~9-~9: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...roof of stake model, the consumer chain is able to send evidence of infractions (double si...(BE_ABLE_TO)
[uncategorized] ~9-~9: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ning and downtime) to the provider chain so the offending validators can be penaliz...(COMMA_COMPOUND_SENTENCE_2)
9-9
: Add a comma before 'so'.Use a comma before 'so' to separate two independent clauses.
Use this diff to fix the issue:
-To maintain the proof of stake model, the consumer chain is able to send evidence of infractions (double signing and downtime) to the provider chain so the offending validators can be penalized. +To maintain the proof of stake model, the consumer chain is able to send evidence of infractions (double signing and downtime) to the provider chain, so the offending validators can be penalized.Tools
LanguageTool
[style] ~9-~9: As a shorter alternative for ‘able to’, consider using “can”.
Context: ...roof of stake model, the consumer chain is able to send evidence of infractions (double si...(BE_ABLE_TO)
[uncategorized] ~9-~9: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ning and downtime) to the provider chain so the offending validators can be penaliz...(COMMA_COMPOUND_SENTENCE_2)
16-16
: Use 'by' instead of 'on'.The preposition 'by' seems more appropriate in this context.
Use this diff to fix the issue:
-Downtime infractions are reported by consumer chains and are acted upon on the provider as soon as they are received. +Downtime infractions are reported by consumer chains and are acted upon by the provider as soon as they are received.Tools
LanguageTool
[uncategorized] ~16-~16: The preposition “by” seems more likely in this position.
Context: ...d by consumer chains and are acted upon on the provider as soon as they are receiv...(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)
Markdownlint
16-16: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
12-12
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-The ICS protocol differentiates between downtime and equivocation infractions. +The ICS protocol differentiates between downtime and equivocation infractions.Tools
Markdownlint
12-12: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
16-16
: Remove trailing spaces.There are trailing spaces at the end of this line.
Use this diff to remove them:
-Downtime infractions are reported by consumer chains and are acted upon on the provider as soon as they are received. +Downtime infractions are reported by consumer chains and are acted upon on the provider as soon as they are received.Tools
LanguageTool
[uncategorized] ~16-~16: The preposition “by” seems more likely in this position.
Context: ...d by consumer chains and are acted upon on the provider as soon as they are receiv...(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)
Markdownlint
16-16: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
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 (10)
docs/docs/introduction/overview.md (3)
13-18
: Fix trailing spaces and ensure consistent hyphenation.Trailing spaces are present in multiple lines, and "opt-in" should be hyphenated.
Apply this diff to fix the issues:
- Chains can choose to inherit the whole validator set from the provider, or they can launch as an opt in chain with a subset of the provider validators. + Chains can choose to inherit the whole validator set from the provider, or they can launch as an opt-in chain with a subset of the provider validators.Tools
Markdownlint
13-13: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
14-14: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
15-15: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
16-16: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
17-17: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
39-40
: Add missing comma for clarity.A comma is needed after "Note" for better readability.
Apply this diff to fix the issue:
- Note the provider only sends updates for opted in validators. + Note, the provider only sends updates for opted-in validators.Tools
LanguageTool
[uncategorized] ~40-~40: Possible missing comma found.
Context: ...r set updates to the consumer over IBC. Note the provider only sends updates for opt...(AI_HYDRA_LEO_MISSING_COMMA)
Markdownlint
39-39: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
40-40: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
45-49
: Fix trailing spaces.Trailing spaces are present in multiple lines.
Apply this diff to fix the issues:
- ICS currently differentiates between two types of infractions -- double signing and downtime. + ICS currently differentiates between two types of infractions -- double signing and downtime.Tools
Markdownlint
45-45: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
46-46: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
47-47: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
48-48: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
49-49: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
docs/docs/features/power-shaping.md (5)
10-12
: Fix trailing spaces.Trailing spaces are present in the introduction of the power shaping configuration.
Apply this diff to fix the issues:
- Currently, ICS supports the following power shaping parameters. + Currently, ICS supports the following power shaping parameters.
14-18
: Fix trailing spaces.Trailing spaces are present in the explanation of capping the validator set size.
Apply this diff to fix the issues:
- This can be used to limit the number of validators in the set, which can be useful for chains that want to have a smaller validator set for faster blocks or lower overhead. + This can be used to limit the number of validators in the set, which can be useful for chains that want to have a smaller validator set for faster blocks or lower overhead.Tools
LanguageTool
[style] ~17-~17: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...et, which can be useful for chains that want to have a smaller validator set for faster...(REP_WANT_TO_VB)
Markdownlint
16-16: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
17-17: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
23-28
: Add missing hyphen and fix trailing spaces.A hyphen is needed in "Opt-In" and trailing spaces are present.
Apply this diff to fix the issues:
- It mitigates the risk of an Opt In chain with only a few validators being dominated by a validator with a large amount of stake. + It mitigates the risk of an Opt-In chain with only a few validators being dominated by a validator with a large amount of stake.Tools
LanguageTool
[grammar] ~27-~27: It appears that a hyphen is missing in this expression.
Context: ...mer chain: It mitigates the risk of an Opt In chain with only a few validators being ...(OPT_IN_HYPHEN)
Markdownlint
26-26: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
36-41
: Correct hyphenation and emphasis style.The term "non-empty" should be hyphenated, and emphasis style should be consistent.
Apply this diff to fix the issues:
- If an allowlist is set, all validators not on the allowlist cannot validate the consumer chain. + If an allowlist is set, all validators not on the allowlist cannot validate the consumer chain. - If a validator is on both lists, **_the denylist takes precedence_**, that is, they cannot validate the consumer chain. + If a validator is on both lists, **the denylist takes precedence**, that is, they cannot validate the consumer chain.Tools
Markdownlint
38-38: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
39-39: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
61-80
: Fix trailing spaces and use consistent emphasis style.Trailing spaces are present, and emphasis style should be consistent.
Apply this diff to fix the issues:
- * **Do not cap the validator set size too low.** + * **Do not cap the validator set size too low.** - Notice that this number is the **maximum* number of validators that will ever validate the consumer chain. + Notice that this number is the **maximum** number of validators that will ever validate the consumer chain.Tools
LanguageTool
[misspelling] ~76-~76: This expression is normally spelled as one or with a hyphen.
Context: ...w validators.** If the allowlist is non empty, then only validators on the allowli...(EN_COMPOUNDS_NON_EMPTY)
[uncategorized] ~78-~78: Possible missing article found.
Context: ...jailed on the provider. * Do not have denylist contain too many validators. If th...(AI_HYDRA_LEO_MISSING_A)
[misspelling] ~79-~79: This expression is normally spelled as one or with a hyphen.
Context: ...ny validators.** If the denylist is non empty, then the validators on the denylist c...(EN_COMPOUNDS_NON_EMPTY)
Markdownlint
68-68: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
69-69: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
70-70: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
71-71: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
72-72: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
75-75: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
78-78: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
80-80: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
69-69: Expected: underscore; Actual: asterisk
Emphasis style(MD049, emphasis-style)
69-69: Expected: underscore; Actual: asterisk
Emphasis style(MD049, emphasis-style)
79-79: Expected: underscore; Actual: asterisk
Emphasis style(MD049, emphasis-style)
79-79: Expected: underscore; Actual: asterisk
Emphasis style(MD049, emphasis-style)
docs/docs/features/proposals.md (2)
15-17
: Fix trailing spaces.Trailing spaces are present in the explanation of
ConsumerAdditionProposal
.Apply this diff to fix the issues:
- `ConsumerAdditionProposal` is used to add new consumer chains. + `ConsumerAdditionProposal` is used to add new consumer chains.Tools
Markdownlint
15-15: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
16-16: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
17-17: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
81-84
: Add missing hyphen and fix trailing spaces.A hyphen is needed in "Opt-In" and trailing spaces are present.
Apply this diff to fix the issues:
- `ConsumerModificationProposal` is used to change the power shaping parameters of a running consumer chain, as well as to change a Top N running consumer chain to an Opt In chain and vice versa. + `ConsumerModificationProposal` is used to change the power shaping parameters of a running consumer chain, as well as to change a Top N running consumer chain to an Opt-In chain and vice versa.
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 (5)
docs/docs/introduction/terminology.md (5)
7-7
: Add a comma for clarity.Consider adding a comma after "ecosystem" to improve readability.
You may have heard of one or multiple buzzwords thrown around in the cosmos and wider crypto ecosystem such shared security, interchain security, replicated security, cross chain validation, and mesh security. + You may have heard of one or multiple buzzwords thrown around in the cosmos and wider crypto ecosystem, such as shared security, interchain security, replicated security, cross chain validation, and mesh security.
11-11
: Remove trailing space.Remove the trailing space at the end of the line to adhere to markdownlint rules.
Shared Security is a family of technologies that include optimistic rollups, zk-rollups, sharding and Interchain Security. - Shared Security is a family of technologies that include optimistic rollups, zk-rollups, sharding and Interchain Security. + Shared Security is a family of technologies that include optimistic rollups, zk-rollups, sharding and Interchain Security.Tools
Markdownlint
11-11: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
20-22
: Remove trailing spaces.Remove the trailing spaces at the end of these lines to adhere to markdownlint rules.
A particular protocol/implementation of Interchain Security that fully replicates the security and decentralization of a validator set across multiple blockchains. - A particular protocol/implementation of Interchain Security that fully replicates the security and decentralization of a validator set across multiple blockchains. + A particular protocol/implementation of Interchain Security that fully replicates the security and decentralization of a validator set across multiple blockchains. Replicated security has also been referred to as "Interchain Security V1", a legacy term for the same protocol. - Replicated security has also been referred to as "Interchain Security V1", a legacy term for the same protocol. + Replicated security has also been referred to as "Interchain Security V1", a legacy term for the same protocol. That is, a "provider chain" such as the Cosmos Hub can share its exact validator set with multiple consumer chains by communicating changes in its validator set over IBC. - That is, a "provider chain" such as the Cosmos Hub can share its exact validator set with multiple consumer chains by communicating changes in its validator set over IBC. + That is, a "provider chain" such as the Cosmos Hub can share its exact validator set with multiple consumer chains by communicating changes in its validator set over IBC.Tools
Markdownlint
20-20: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
21-21: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
22-22: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
27-28
: Remove trailing spaces.Remove the trailing spaces at the end of these lines to adhere to markdownlint rules.
A major feature of Interchain Security (also referred to as "Interchain Security V2") that allows a provider chain to share only a subset of its validator set with a consumer chain. - A major feature of Interchain Security (also referred to as "Interchain Security V2") that allows a provider chain to share only a subset of its validator set with a consumer chain. + A major feature of Interchain Security (also referred to as "Interchain Security V2") that allows a provider chain to share only a subset of its validator set with a consumer chain. This subset can be determined by the top N% validators by voting power, or by validators opting in to validate the consumer chain. - This subset can be determined by the top N% validators by voting power, or by validators opting in to validate the consumer chain. + This subset can be determined by the top N% validators by voting power, or by validators opting in to validate the consumer chain.Tools
Markdownlint
27-27: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
28-28: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
46-47
: Remove trailing spaces.Remove the trailing spaces at the end of these lines to adhere to markdownlint rules.
Chains that were not initially launched as consumers of Interchain Security can still participate in the protocol and leverage the economic security of the provider chain. - Chains that were not initially launched as consumers of Interchain Security can still participate in the protocol and leverage the economic security of the provider chain. + Chains that were not initially launched as consumers of Interchain Security can still participate in the protocol and leverage the economic security of the provider chain. The process where a standalone chain transitions to being a replicated consumer chain is called the **changeover procedure** and is part of the ICS protocol. - The process where a standalone chain transitions to being a replicated consumer chain is called the **changeover procedure** and is part of the ICS protocol. + The process where a standalone chain transitions to being a replicated consumer chain is called the **changeover procedure** and is part of the ICS protocol.Tools
Markdownlint
46-46: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
47-47: Expected: 0 or 2; Actual: 1
Trailing spaces(MD009, no-trailing-spaces)
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.
Hey, a few nits/typos that you can accept if you want, but LGTM
Co-authored-by: Philip Offtermatt <[email protected]>
Co-authored-by: Philip Offtermatt <[email protected]>
Co-authored-by: Philip Offtermatt <[email protected]>
Co-authored-by: Philip Offtermatt <[email protected]>
Description
Closes: #XXXX
The changes include:
Thanks to @LexaMichaelides for the feedback.
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...
docs:
prefix in the PR titleReviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...
docs:
prefix in the PR titlemake build-docs
)Summary by CodeRabbit