-
Notifications
You must be signed in to change notification settings - Fork 343
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(specs): remove root level specification page #3822
Conversation
|
Even with this approach, images and links are broken from the root page http://localhost:3000/ but not the specific page http://localhost:3000/specs/data_structures.html Two potential solutions:
|
I fixed the links with inspiration from https://cips.celestia.org/ (thanks @jcstein)! |
you're welcome. glad to hear it! noting that I still have a minor related issue open on this tasklist for CIPs:
Currently, the WGs overview page contains links to each working group. these work on the cips.celestia version https://cips.celestia.org/wgs/index.html, but do not on github https://github.com/celestiaorg/CIPs/blob/main/cips/wgs/README.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.
WalkthroughWalkthroughThe changes involve a comprehensive restructuring of the Celestia App Specifications document, specifically simplifying links by removing leading directory paths and enhancing clarity. New documentation files have been introduced, while existing ones have been revised to streamline content. Key areas of focus include transaction processes, consensus rules, and data structures, which have been organized for better accessibility and usability. Changes
Assessment against linked issues
Recent review detailsConfiguration used: .coderabbit.yaml Files ignored due to path filters (28)
Files selected for processing (47)
Files skipped from review due to trivial changes (22)
Additional context usedLanguageTool
Gitleaks
Additional comments not posted (67)
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: 15
Outside diff range, codebase verification and nitpick comments (23)
specs/src/ante_handler.md (2)
3-3
: Simplify the phrase "in order to".Consider replacing "in order to" with "to" for better readability.
- Celestia makes use of a Cosmos SDK [AnteHandler](https://github.com/cosmos/cosmos-sdk/blob/v0.46.15/x/auth/spec/03_antehandlers.md) in order to reject decodable sdk.Txs that do not meet certain criteria. + Celestia makes use of a Cosmos SDK [AnteHandler](https://github.com/cosmos/cosmos-sdk/blob/v0.46.15/x/auth/spec/03_antehandlers.md) to reject decodable sdk.Txs that do not meet certain criteria.Tools
LanguageTool
[style] ~3-~3: Consider a shorter alternative to avoid wordiness.
Context: ...0.46.15/x/auth/spec/03_antehandlers.md) in order to reject decodable sdk.Txs that do not me...(IN_ORDER_TO_PREMIUM)
5-5
: Simplify the phrase "prior to".Consider replacing "prior to" with "before" for better readability.
- 1. `CheckTx` prior to the transaction entering the mempool + 1. `CheckTx` before the transaction entering the mempoolTools
LanguageTool
[style] ~5-~5: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...he transaction lifecycle: 1.CheckTx
prior to the transaction entering the mempool 1....(EN_WORDINESS_PREMIUM_PRIOR_TO)
specs/src/multisig.md (1)
3-3
: Add a comma for clarity.Consider adding a comma after "accounts" for better readability:
-Celestia inherits support for Multisig accounts from the Cosmos SDK. +Celestia inherits support for Multisig accounts, from the Cosmos SDK.Tools
LanguageTool
[uncategorized] ~3-~3: Possible missing comma found.
Context: ...ig accounts behave similarly to regular accounts with the added requirement that a thres...(AI_HYDRA_LEO_MISSING_COMMA)
specs/src/public_key_cryptography.md (1)
33-33
: Add a comma for clarity.Consider adding a comma after "front-ends" for better readability:
-In front-ends addresses are prefixed with the [Bech32](https://en.bitcoin.it/wiki/Bech32) prefix `celestia`. +In front-ends, addresses are prefixed with the [Bech32](https://en.bitcoin.it/wiki/Bech32) prefix `celestia`.Tools
LanguageTool
[uncategorized] ~33-~33: Possible missing comma found.
Context: ... ### Human Readable Encoding In front-ends addresses are prefixed with the [Bech32...(AI_HYDRA_LEO_MISSING_COMMA)
specs/src/block_validity_rules.md (5)
5-12
: Consider a shorter alternative to avoid wordiness.The phrase "in order to avoid making an honest majority assumption" can be shortened to "to avoid making an honest majority assumption."
Apply this diff to shorten the phrase:
- in order to avoid making an honest majority assumption + to avoid making an honest majority assumptionTools
LanguageTool
[style] ~9-~9: Consider a shorter alternative to avoid wordiness.
Context: ...e validity rules have not been followed in order to avoid making an honest majority assumpt...(IN_ORDER_TO_PREMIUM)
24-27
: Use a hyphen in "Celestia specific".When "Celestia-specific" is used as a modifier, it should be spelled with a hyphen.
Apply this diff to use a hyphen:
- Celestia specific validation + Celestia-specific validationTools
LanguageTool
[uncategorized] ~24-~24: When ‘Celestia-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...ey halt. ## Validity Rules Before any Celestia specific validation is performed, all CometBFT [...(SPECIFIC_HYPHEN)
37-38
: Use a hyphen in "Celestia specific".When "Celestia-specific" is used as a modifier, it should be spelled with a hyphen.
Apply this diff to use a hyphen:
- Celestia specific validity rules + Celestia-specific validity rulesTools
LanguageTool
[uncategorized] ~37-~37: When ‘Celestia-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...b.com/celestiaorg/celestia-node) repo. Celestia specific validity rules can be categorized into ...(SPECIFIC_HYPHEN)
48-48
: Use a comma before "so".Use a comma before "so" if it connects two independent clauses.
Apply this diff to use a comma:
- decodable so the following rules + decodable, so the following rulesTools
LanguageTool
[uncategorized] ~48-~48: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...rule that transactions must be decodable so the following rules only apply to trans...(COMMA_COMPOUND_SENTENCE_2)
52-52
: Avoid repetition.Three successive sentences begin with the same word. Consider rewording the sentence or use a synonym.
Apply this diff to avoid repetition:
- Decodable `BlobTx` transactions must be valid according to the [BlobTx validity rules](../../x/blob/README.md#validity-rules). + These transactions must be valid according to the [BlobTx validity rules](../../x/blob/README.md#validity-rules).Tools
LanguageTool
[style] ~52-~52: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... contain aMsgPayForBlobs
message. 1. DecodableBlobTx
transactions must be valid acc...(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
specs/src/ante_handler_v1.md (2)
13-13
: Add a period after "a.k.a".The abbreviation "a.k.a" is missing a period after the last letter.
Apply this diff to add a period:
- a.k.a nonce + a.k.a. nonceTools
LanguageTool
[uncategorized] ~13-~13: The abbreviation/initialism is missing a period after the last letter.
Context: ...e that the signature's sequence number (a.k.a nonce) matches the account sequence num...(ABBREVIATION_PUNCTUATION)
19-19
: Avoid hyphenating "side effects".Open compounds like "side effects" are not hyphenated.
Apply this diff to avoid hyphenation:
- side-effects + side effectsTools
LanguageTool
[misspelling] ~19-~19: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...a, the AnteHandler also has a number of side-effects: - Tx fees are deducted from the tx's ...(AFFECT_EFFECT)
specs/src/ante_handler_v2.md (2)
15-15
: Add a period after "a.k.a".The abbreviation "a.k.a" is missing a period after the last letter.
Apply this diff to add a period:
- a.k.a nonce + a.k.a. nonceTools
LanguageTool
[uncategorized] ~15-~15: The abbreviation/initialism is missing a period after the last letter.
Context: ...e that the signature's sequence number (a.k.a nonce) matches the account sequence num...(ABBREVIATION_PUNCTUATION)
21-21
: Avoid hyphenating "side effects".Open compounds like "side effects" are not hyphenated.
Apply this diff to avoid hyphenation:
- side-effects + side effectsTools
LanguageTool
[misspelling] ~21-~21: Did you mean “side effects” (=adverse effect, unintended consequence)? Open compounds are not hyphenated.
Context: ...a, the AnteHandler also has a number of side-effects: - Tx fees are deducted from the tx's ...(AFFECT_EFFECT)
specs/src/namespace.md (2)
10-10
: Refine for conciseness.Consider replacing "In order to" with "To" for better readability.
- In order to enable efficient retrieval of blobs by namespace, Celestia makes use of a [Namespaced Merkle Tree](https://github.com/celestiaorg/nmt). + To enable efficient retrieval of blobs by namespace, Celestia makes use of a [Namespaced Merkle Tree](https://github.com/celestiaorg/nmt).Tools
LanguageTool
[style] ~10-~10: Consider a shorter alternative to avoid wordiness.
Context: ... user to query for blobs by namespace. In order to enable efficient retrieval of blobs by ...(IN_ORDER_TO_PREMIUM)
52-56
: Indicate endianness of the encoding.Consider indicating the endianness of the encoding for clarity.
- The ID is encoded as a byte slice of length 28. + The ID is encoded as a byte slice of length 28 (consider indicating the endianness of the encoding).specs/src/cat_pool.md (4)
10-12
: Add a comma before "i.e."Consider adding a comma before "i.e." to improve readability.
- The objective of such a protocol is to transport transactions from the author (usually a client) to a proposed block, optimizing both latency and throughput i.e. how quickly can a transaction be proposed (and committed) and how many transactions can be transported into a block at once. + The objective of such a protocol is to transport transactions from the author (usually a client) to a proposed block, optimizing both latency and throughput, i.e. how quickly can a transaction be proposed (and committed) and how many transactions can be transported into a block at once.Tools
LanguageTool
[typographical] ~12-~12: Consider putting a comma before the abbreviation “i.e.”.
Context: ...osed block, optimizing both latency and throughput i.e. how quickly can a transaction be propos...(IE_COMMA)
18-23
: Refine for clarity.Consider rephrasing the sentence for better clarity.
- It is non-deterministic: one node may reject a transaction that another node keeps. + It is non-deterministic, meaning one node may reject a transaction that another node keeps.Tools
LanguageTool
[style] ~20-~20: To form a complete sentence, be sure to include a subject.
Context: ...dermint mempool protocols: -CheckTx
should be seen as a simple gatekeeper to what ...(MISSING_IT_THERE)
46-68
: Correct the tense usage.The phrase "it assumed that it is the only recipient from that client" should be "it is assumed that it is the only recipient from that client" for correct tense usage.
- it assumed that it is the only recipient from that client + it is assumed that it is the only recipient from that clientTools
LanguageTool
[uncategorized] ~48-~48: This verb may not be in the correct tense. Consider changing the tense to fit the context better.
Context: ...(or specifically throughCheckTx
), it assumed that it is the only recipient from that...(AI_EN_LECTOR_REPLACEMENT_VERB_TENSE)
[locale-violation] ~48-~48: In American English, ‘afterward’ is the preferred variant. ‘Afterwards’ is more commonly used in British English and other dialects.
Context: ...ter validation, to all connected peers. Afterwards, only "request/response" is used to dis...(AFTERWARDS_US)
[grammar] ~59-~59: The singular determiner ‘this’ may not agree with the plural noun ‘criteria’. Did you mean “these”?
Context: ...ubject to the size of the cache) Given this criteria, it is feasible, yet unlikely ...(THIS_NNS)
[uncategorized] ~59-~59: Possible missing comma found.
Context: ...iven this criteria, it is feasible, yet unlikely that a node receives twoSeenTx
messa...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~68-~68: A comma might be missing here.
Context: ...xmessage from that peer. There is one exception which is that a
WantTx` MAY also be se...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[uncategorized] ~68-~68: Possible missing comma found.
Context: ...viously received the nodesSeenTx
but which after the lapse in time, did no longer ...(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~68-~68: The preposition ‘of’ seems more likely in this position.
Context: ...odesSeenTx
but which after the lapse in time, did no longer exist in the nodes ...(AI_HYDRA_LEO_REPLACE_IN_OF)
[uncategorized] ~68-~68: It seems likely that a singular genitive (’s) apostrophe is missing.
Context: ...pse in time, did no longer exist in the nodes transaction pool. This provides an opti...(AI_HYDRA_LEO_APOSTROPHE_S_XS)
72-92
: Correct the plural usage.The sentence "Given this criteria, it is feasible, yet unlikely that a node receives two
SeenTx
messages from the same peer for the same transaction." should be "Given these criteria, it is feasible, yet unlikely that a node receives twoSeenTx
messages from the same peer for the same transaction." for correct plural usage.- Given this criteria, it is feasible, yet unlikely that a node receives two `SeenTx` messages from the same peer for the same transaction. + Given these criteria, it is feasible, yet unlikely that a node receives two `SeenTx` messages from the same peer for the same transaction.Tools
LanguageTool
[uncategorized] ~74-~74: A comma might be missing here.
Context: ...saction pools are solely run in-memory; thus when a node stops, all transactions are...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
[style] ~88-~88: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...action, it SHOULD ignore the message. - If the node does not have the transaction ...(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~89-~89: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...adequate resources now to process it. - If the node has not seen the transaction o...(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
specs/src/consensus.md (4)
58-65
: Fix grammatical issue.The phrase "newly-seen block" should be "newly seen block" without a hyphen.
Apply this diff to fix the grammatical issue:
- The validity of a newly-seen block, + The validity of a newly seen block,Tools
LanguageTool
[uncategorized] ~60-~60: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: .... ## Block Validity The validity of a newly-seen block,block
, is determined by two co...(HYPHENATED_LY_ADVERB_ADJECTIVE)
67-94
: Fix grammatical issues.There are minor grammatical issues in this section:
- Line 92: Add a comma after "roots".
- Line 120: Add a comma after "namespace".
Apply this diff to fix the grammatical issues:
- of the tree with the row and column roots of `block.availableDataHeader` + of the tree with the row and column roots, of `block.availableDataHeader` - ordered lexicographically by namespace since they are committed to in a + ordered lexicographically by namespace, since they are committed to in aTools
LanguageTool
[uncategorized] ~92-~92: Possible missing comma found.
Context: ...tructures.md#binary-merkle-tree) of the tree with the row and column roots of `block...(AI_HYDRA_LEO_MISSING_COMMA)
123-229
: Fix typographical issue.The phrase "new state state root" should be "new state root" without repeating the word "state".
Apply this diff to fix the typographical issue:
- After applying a transaction, the new state state root is computed. + After applying a transaction, the new state root is computed.Tools
LanguageTool
[uncategorized] ~154-~154: ‘Amount of’ should usually only be used with uncountable or mass nouns. Consider using “number” if this is not the case.
Context: ...pCost(y, z) ``` wherex
above is the amount of coins sent by the transaction author...(AMOUNTOF_TO_NUMBEROF)
[uncategorized] ~158-~158: Loose punctuation mark.
Context: ...d#validator): 1.findFromQueue(power)
, which returns the address of the last v...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~159-~159: Loose punctuation mark.
Context: ...ing power. 1.parentFromQueue(address)
, which returns the address of the parent...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~160-~160: Loose punctuation mark.
Context: ... of the queue. 1.validatorQueueInsert
, defined as ```py function validatorQue...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~179-~179: Loose punctuation mark.
Context: ...line MD029 --> 4.validatorQueueRemove
, defined as ```py function validatorQue...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~201-~201: Loose punctuation mark.
Context: ...paid): 1.findFromBlobPaidList(start)
, which returns the transaction ID of the...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~202-~202: Loose punctuation mark.
Context: ...nish. 1.
parentFromBlobPaidList(txid)`, which returns the transaction ID of the...(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~203-~203: Loose punctuation mark.
Context: ...ead of the list. 1.blobPaidListInsert
, defined as ```py function blobPaidList...(UNLIKELY_OPENING_PUNCTUATION)
[duplication] ~229-~229: Possible typo: you repeated a word
Context: ... After applying a transaction, the new state state root is computed. #### SignedTransacti...(ENGLISH_WORD_REPEAT_RULE)
255-717
: Fix grammatical issues.There are minor grammatical issues in these sections:
- Line 713: Remove the hyphen in "newly-bonded" and "previously-bonded".
- Line 717: Change "block" to "blocks" for noun/verb agreement.
Apply this diff to fix the grammatical issues:
- For newly-bonded validators, + For newly bonded validators, - For previously-bonded validators + For previously bonded validators - This end block implicit state transition is a single state transition, + This end blocks implicit state transition is a single state transition,Tools
LanguageTool
[uncategorized] ~713-~713: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...zero are or become active (bonded). For newly-bonded validators, the entire validator object...(HYPHENATED_LY_ADVERB_ADJECTIVE)
[uncategorized] ~713-~713: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ... their status is changed to bonded. For previously-bonded validators that are no longer in the to...(HYPHENATED_LY_ADVERB_ADJECTIVE)
[grammar] ~717-~717: There seems to be a noun/verb agreement error. Did you mean “blocks” or “blocked”?
Context: ...es (nonce, balance, and fee). This end block implicit state transition is a single s...(SINGULAR_NOUN_VERB_AGREEMENT)
@@ -1,115 +1 @@ | |||
# Namespace |
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.
Critical Information Removed
The removal of the Namespace
struct and other sections may impact the understanding of namespaces within the Celestia ecosystem. Consider re-adding the critical information or providing references to external documentation.
@@ -1,111 +1 @@ | |||
# Networking |
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.
Critical Information Removed
The removal of descriptions and validation steps for various message types and fraud proofs may impact the understanding of networking protocols within the Celestia ecosystem. Consider re-adding the critical information or providing references to external documentation.
Bonding validators is simply setting their status to `AccountStatus.ValidatorBonded`. The logic for validator unbonding is found [here](#signedtransactiondatabeginunbondingvalidator), minus transaction sender updates (nonce, balance, and fee). | ||
|
||
This end block implicit state transition is a single state transition, and [only has a single intermediate state root](#blockavailabledata) associated with it. | ||
# Consensus |
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.
Critical Information Removed
The removal of detailed sections on system parameters, constants, rewards and penalties, leader selection, fork choice, block validity, and state transitions may impact the understanding of consensus rules within the Celestia ecosystem. Consider re-adding the critical information or providing references to external documentation.
## Blob Inclusion | ||
|
||
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.
Reminder: Complete the section.
The TODO comment indicates that the section is incomplete.
Do you want me to help complete this section or open a GitHub issue to track this task?
The maximum number of signatures allowed for a multisig account is determined by the parameter `auth.TxSigLimit` (see [parameters](./parameters.md)). The threshold and list of signers for a multisig account are set at the time of creation and can be viewed in the `pubkey` field of a key. For example: | ||
|
||
```shell | ||
$ celestia-appd keys show multisig | ||
- address: celestia17rehcgutjfra8zhjl8675t8hhw8wsavzzutv06 | ||
name: multisig | ||
pubkey: '{"@type":"/cosmos.crypto.multisig.LegacyAminoPubKey","threshold":2,"public_keys":[{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AxMTEFDH8oyBPIH+d2MKfCIY1yAsEd0HVekoPaAOiu9c"},{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"Ax0ANkTPWcCDWy9O2TcUXw90Z0DxnX2zqPvhi4VJPUl5"},{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AlUwWCGLzhclCMEKc2YLEap9H8JT5tWq1kB8BagU1TVH"}]}' | ||
type: multi | ||
``` |
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.
Obfuscate or remove the public key in the example.
The public key provided in the example could be mistaken for a real key, leading to potential security risks. Consider obfuscating or removing it.
Apply this diff to obfuscate the public key:
- pubkey: '{"@type":"/cosmos.crypto.multisig.LegacyAminoPubKey","threshold":2,"public_keys":[{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AxMTEFDH8oyBPIH+d2MKfCIY1yAsEd0HVekoPaAOiu9c"},{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"Ax0ANkTPWcCDWy9O2TcUXw90Z0DxnX2zqPvhi4VJPUl5"},{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AlUwWCGLzhclCMEKc2YLEap9H8JT5tWq1kB8BagU1TVH"}]}'
+ pubkey: '{"@type":"/cosmos.crypto.multisig.LegacyAminoPubKey","threshold":2,"public_keys":[{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AxMTEFDH8oyBPIH+d2MKfCIY1yAsEd0HVekoPaAOiu9c"},{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"Ax0ANkTPWcCDWy9O2TcUXw90Z0DxnX2zqPvhi4VJPUl5"},{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"AlUwWCGLzhclCMEKc2YLEap9H8JT5tWq1kB8BagU1TVH"}]}'
Committable suggestion was skipped due to low confidence.
Tools
Gitleaks
11-11: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
11-11: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
1. If there is more data to write, create a new share (a.k.a continuation share) and populate the prefix of the share with the blob's namespace and [share version](#share-version). Set the sequence start indicator to `0`. Write the remaining blob data into the share until the share is full. | ||
1. Repeat the previous step until all blob data has been 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.
Add period after "a.k.a".
Add a period after "a.k.a" for correctness.
Apply this diff to address the issue:
- more data to write, create a new share (a.k.a continuation share) and populate the pr
+ more data to write, create a new share (a.k.a. continuation share) and populate the pr
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.
1. If there is more data to write, create a new share (a.k.a continuation share) and populate the prefix of the share with the blob's namespace and [share version](#share-version). Set the sequence start indicator to `0`. Write the remaining blob data into the share until the share is full. | |
1. Repeat the previous step until all blob data has been written. | |
1. If there is more data to write, create a new share (a.k.a. continuation share) and populate the prefix of the share with the blob's namespace and [share version](#share-version). Set the sequence start indicator to `0`. Write the remaining blob data into the share until the share is full. | |
1. Repeat the previous step until all blob data has been written. |
Tools
LanguageTool
[uncategorized] ~105-~105: The abbreviation/initialism is missing a period after the last letter.
Context: ...more data to write, create a new share (a.k.a continuation share) and populate the pr...(ABBREVIATION_PUNCTUATION)
In order for clients to parse shares in the middle of a sequence without downloading antecedent shares, Celestia encodes additional metadata in the shares associated with reserved namespaces. At the time of writing this only applies to the [`TRANSACTION_NAMESPACE`](./namespace.md#reserved-namespaces) and [`PAY_FOR_BLOB_NAMESPACE`](./namespace.md#reserved-namespaces). This share structure is often referred to as "compact shares" to differentiate from the share structure defined above for all shares. It conforms to the common [share format](#share-format) with one additional field, the "reserved bytes" field, which is described below: | ||
|
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 comma after "writing".
Add a comma after "writing" for clarity.
Apply this diff to address the issue:
- with reserved namespaces. At the time of writing this only applies to the [`TRANSACTION_NAMESPACE`](./namespace.md#reserved-namespaces) and [`PAY_FOR_BLOB_NAMESPACE`](./namespace.md#reserved-namespaces).
+ with reserved namespaces. At the time of writing, this only applies to the [`TRANSACTION_NAMESPACE`](./namespace.md#reserved-namespaces) and [`PAY_FOR_BLOB_NAMESPACE`](./namespace.md#reserved-namespaces).
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.
In order for clients to parse shares in the middle of a sequence without downloading antecedent shares, Celestia encodes additional metadata in the shares associated with reserved namespaces. At the time of writing this only applies to the [`TRANSACTION_NAMESPACE`](./namespace.md#reserved-namespaces) and [`PAY_FOR_BLOB_NAMESPACE`](./namespace.md#reserved-namespaces). This share structure is often referred to as "compact shares" to differentiate from the share structure defined above for all shares. It conforms to the common [share format](#share-format) with one additional field, the "reserved bytes" field, which is described below: | |
In order for clients to parse shares in the middle of a sequence without downloading antecedent shares, Celestia encodes additional metadata in the shares associated with reserved namespaces. At the time of writing, this only applies to the [`TRANSACTION_NAMESPACE`](./namespace.md#reserved-namespaces) and [`PAY_FOR_BLOB_NAMESPACE`](./namespace.md#reserved-namespaces). This share structure is often referred to as "compact shares" to differentiate from the share structure defined above for all shares. It conforms to the common [share format](#share-format) with one additional field, the "reserved bytes" field, which is described below: |
Tools
LanguageTool
[uncategorized] ~53-~53: Possible missing comma found.
Context: ...ith reserved namespaces. At the time of writing this only applies to the [`TRANSACTION_...(AI_HYDRA_LEO_MISSING_COMMA)
User submitted transactions are split into shares (see [share splitting](#share-splitting)) and arranged in a `k * k` matrix (see [arranging available data into shares](./data_structures.md#arranging-available-data-into-shares)) prior to the erasure coding step. Shares in the `k * k` matrix are ordered by namespace and have a common [share format](#share-format). | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replace "prior to" with a shorter alternative.
Consider replacing "prior to" with "before" for conciseness.
Apply this diff to address the issue:
- prior to the erasure coding step.
+ before the erasure coding step.
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.
User submitted transactions are split into shares (see [share splitting](#share-splitting)) and arranged in a `k * k` matrix (see [arranging available data into shares](./data_structures.md#arranging-available-data-into-shares)) prior to the erasure coding step. Shares in the `k * k` matrix are ordered by namespace and have a common [share format](#share-format). | |
User submitted transactions are split into shares (see [share splitting](#share-splitting)) and arranged in a `k * k` matrix (see [arranging available data into shares](./data_structures.md#arranging-available-data-into-shares)) before the erasure coding step. Shares in the `k * k` matrix are ordered by namespace and have a common [share format](#share-format). | |
Tools
LanguageTool
[style] ~17-~17: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...#arranging-available-data-into-shares)) prior to the erasure coding step. Shares in the ...(EN_WORDINESS_PREMIUM_PRIOR_TO)
also includes parameter that require a hardfork to change due to being manually | ||
hardcoded in the application or they are blocked by the `x/paramfilter` module. |
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 grammatical issue.
Use a comma before ‘or’ if it connects two independent clauses.
- manually hardcoded in the application or they are blocked by the `x/paramfilter` module.
+ manually hardcoded in the application, or they are blocked by the `x/paramfilter` module.
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.
also includes parameter that require a hardfork to change due to being manually | |
hardcoded in the application or they are blocked by the `x/paramfilter` module. | |
also includes parameter that require a hardfork to change due to being manually | |
hardcoded in the application, or they are blocked by the `x/paramfilter` module. |
Tools
LanguageTool
[uncategorized] ~7-~7: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ng manually hardcoded in the application or they are blocked by thex/paramfilter
...(COMMA_COMPOUND_SENTENCE)
also includes parameter that require a hardfork to change due to being manually | ||
hardcoded in the application or they are blocked by the `x/paramfilter` module. |
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 grammatical issue.
Use a comma before ‘or’ if it connects two independent clauses.
- manually hardcoded in the application or they are blocked by the `x/paramfilter` module.
+ manually hardcoded in the application, or they are blocked by the `x/paramfilter` module.
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.
also includes parameter that require a hardfork to change due to being manually | |
hardcoded in the application or they are blocked by the `x/paramfilter` module. | |
also includes parameter that require a hardfork to change due to being manually | |
hardcoded in the application, or they are blocked by the `x/paramfilter` module. |
Tools
LanguageTool
[uncategorized] ~7-~7: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ng manually hardcoded in the application or they are blocked by thex/paramfilter
...(COMMA_COMPOUND_SENTENCE)
Follow up to #3822. Not sure how I missed this but there were mostly empty files in the nested `specs/` directory. I think a previous invocation of `mdbook serve` auto-generated them but they're not used.
Closes #3751