Skip to content
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

Merged
merged 5 commits into from
Aug 30, 2024
Merged

Conversation

rootulp
Copy link
Collaborator

@rootulp rootulp commented Aug 26, 2024

Closes #3751

@rootulp rootulp self-assigned this Aug 26, 2024
@rootulp rootulp changed the title specs: remove root level specification page docs(specs): remove root level specification page Aug 26, 2024
Copy link

github-actions bot commented Aug 26, 2024

PR Preview Action v1.4.7
🚀 Deployed preview to https://celestiaorg.github.io/celestia-app/pr-preview/pr-3822/
on branch gh-pages at 2024-08-28 14:35 UTC

@rootulp
Copy link
Collaborator Author

rootulp commented Aug 26, 2024

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:

  1. Rewrite all links to use absolute paths
  2. Introduce an introduction page that acts as the root page

@rootulp
Copy link
Collaborator Author

rootulp commented Aug 28, 2024

I fixed the links with inspiration from https://cips.celestia.org/ (thanks @jcstein)!

@jcstein
Copy link
Member

jcstein commented Aug 28, 2024

you're welcome. glad to hear it!

noting that I still have a minor related issue open on this tasklist for CIPs:

  • Change page names of README.md's on working groups directory so that they can be linked with page.md instead of index.html, so that it works on github too

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

Copy link
Member

@jcstein jcstein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Screenshot 2024-08-28 at 10 38 23 AM builds as expected for me. links work on sidebar!

@rootulp rootulp marked this pull request as ready for review August 28, 2024 15:03
@rootulp rootulp requested review from rach-id, evan-forbes, liamsi and a team as code owners August 28, 2024 15:03
Copy link
Contributor

coderabbitai bot commented Aug 28, 2024

Walkthrough

Walkthrough

The 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

Files Change Summary
specs/src/SUMMARY.md Simplified links by removing leading directory paths; improved overall organization.
specs/src/ante_handler.md Introduced a new file detailing the AnteHandler's role in transaction processing.
specs/src/ante_handler_v1.md New documentation on transaction validation for AnteHandler v1; concise overview provided.
specs/src/ante_handler_v2.md New documentation on transaction validation for AnteHandler v2; concise overview provided.
specs/src/block_proposer.md Updated documentation on block proposer responsibilities; removed introductory content.
specs/src/block_validity_rules.md Condensed validity rules documentation; removed detailed explanations and context.
specs/src/cat_pool.md Streamlined CAT protocol documentation; reduced content significantly.
specs/src/consensus.md Reorganized consensus rules documentation; replaced detailed sections with a high-level overview.
specs/src/data_square_layout.md Simplified layout rules documentation; removed extensive introductory sections.
specs/src/data_structures.md Restructured and simplified data structures documentation; focused on essential details.
specs/src/fraud_proofs.md Introduced documentation on fraud proofs; outlined key concepts and mechanisms.
specs/src/multisig.md New file documenting Multisig accounts functionality; links to Cosmos SDK provided.
specs/src/namespace.md New documentation for namespace concept; detailed structure and purpose outlined.
specs/src/networking.md Introduced networking protocols documentation; detailed structures and fraud detection mechanisms.
specs/src/parameters.md New file outlining parameters for the application; links to version-specific documentation.
specs/src/parameters_v1.md Documented parameters for application version 1; categorized global and module parameters.
specs/src/parameters_v2.md Documented parameters for application version 2; categorized global and module parameters.
specs/src/public_key_cryptography.md Overview of public-key cryptography; focused on Secp256k1 and Ed25519 usage.
specs/src/resource_pricing.md Introduced resource pricing mechanisms; details on gas consumption and transaction costs.
specs/src/shares.md New documentation on shares within Celestia architecture; defined key terms and processes.

Assessment against linked issues

Objective Addressed Explanation
Fix broken links on the main page (e.g., https://celestiaorg.github.io/celestia-app/) (3751)
Redirect main page links to correct paths (e.g., specs/index.html) (3751) No redirection mechanism implemented in the changes.

Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 13f3098 and 24a1313.

Files ignored due to path filters (28)
  • specs/src/figures/blob_share_commitment.svg is excluded by !**/*.svg
  • specs/src/figures/block_data_structures.dot is excluded by !**/*.dot
  • specs/src/figures/block_data_structures.svg is excluded by !**/*.svg
  • specs/src/figures/data_root.svg is excluded by !**/*.svg
  • specs/src/figures/gas_consumption/100kib_pfb_trace.png is excluded by !**/*.png
  • specs/src/figures/gas_consumption/msg_create_validator_trace.png is excluded by !**/*.png
  • specs/src/figures/gas_consumption/msg_send_trace.png is excluded by !**/*.png
  • specs/src/figures/gas_consumption/pfb_with_two_single_share_blobs_trace.png is excluded by !**/*.png
  • specs/src/figures/gas_consumption/single_share_pfb_trace.png is excluded by !**/*.png
  • specs/src/figures/namespace.dot is excluded by !**/*.dot
  • specs/src/figures/namespace.svg is excluded by !**/*.svg
  • specs/src/figures/rs2d.svg is excluded by !**/*.svg
  • specs/src/figures/rs2d_extend.svg is excluded by !**/*.svg
  • specs/src/figures/rs2d_extending.svg is excluded by !**/*.svg
  • specs/src/figures/rs2d_originaldata_blob.svg is excluded by !**/*.svg
  • specs/src/figures/rs2d_originaldata_reserved.svg is excluded by !**/*.svg
  • specs/src/figures/rs2d_quadrants.svg is excluded by !**/*.svg
  • specs/src/figures/rs2d_row.svg is excluded by !**/*.svg
  • specs/src/figures/share_continuation.dot is excluded by !**/*.dot
  • specs/src/figures/share_continuation.svg is excluded by !**/*.svg
  • specs/src/figures/share_start.dot is excluded by !**/*.dot
  • specs/src/figures/share_start.svg is excluded by !**/*.svg
  • specs/src/figures/square_layout.svg is excluded by !**/*.svg
  • specs/src/figures/subtree_width.svg is excluded by !**/*.svg
  • specs/src/figures/transaction_share_continuation.dot is excluded by !**/*.dot
  • specs/src/figures/transaction_share_continuation.svg is excluded by !**/*.svg
  • specs/src/figures/transaction_share_start.dot is excluded by !**/*.dot
  • specs/src/figures/transaction_share_start.svg is excluded by !**/*.svg
Files selected for processing (47)
  • specs/src/SUMMARY.md (1 hunks)
  • specs/src/ante_handler.md (1 hunks)
  • specs/src/ante_handler_v1.md (1 hunks)
  • specs/src/ante_handler_v2.md (1 hunks)
  • specs/src/block_proposer.md (1 hunks)
  • specs/src/block_validity_rules.md (1 hunks)
  • specs/src/cat_pool.md (1 hunks)
  • specs/src/consensus.md (1 hunks)
  • specs/src/data_square_layout.md (1 hunks)
  • specs/src/data_structures.md (1 hunks)
  • specs/src/fraud_proofs.md (1 hunks)
  • specs/src/multisig.md (1 hunks)
  • specs/src/namespace.md (1 hunks)
  • specs/src/networking.md (1 hunks)
  • specs/src/parameters.md (1 hunks)
  • specs/src/parameters_v1.md (1 hunks)
  • specs/src/parameters_v2.md (1 hunks)
  • specs/src/public_key_cryptography.md (1 hunks)
  • specs/src/resource_pricing.md (1 hunks)
  • specs/src/shares.md (1 hunks)
  • specs/src/specs/ante_handler.md (1 hunks)
  • specs/src/specs/ante_handler_v1.md (1 hunks)
  • specs/src/specs/ante_handler_v2.md (1 hunks)
  • specs/src/specs/block_proposer.md (1 hunks)
  • specs/src/specs/block_validity_rules.md (1 hunks)
  • specs/src/specs/cat_pool.md (1 hunks)
  • specs/src/specs/consensus.md (1 hunks)
  • specs/src/specs/data_square_layout.md (1 hunks)
  • specs/src/specs/data_structures.md (1 hunks)
  • specs/src/specs/fraud_proofs.md (1 hunks)
  • specs/src/specs/multisig.md (1 hunks)
  • specs/src/specs/namespace.md (1 hunks)
  • specs/src/specs/networking.md (1 hunks)
  • specs/src/specs/parameters.md (1 hunks)
  • specs/src/specs/parameters_v1.md (1 hunks)
  • specs/src/specs/parameters_v2.md (1 hunks)
  • specs/src/specs/public_key_cryptography.md (1 hunks)
  • specs/src/specs/resource_pricing.md (1 hunks)
  • specs/src/specs/shares.md (1 hunks)
  • specs/src/specs/state_machine_modules.md (1 hunks)
  • specs/src/specs/state_machine_modules_v1.md (1 hunks)
  • specs/src/specs/state_machine_modules_v2.md (1 hunks)
  • specs/src/state_machine_modules.md (1 hunks)
  • specs/src/state_machine_modules_v1.md (1 hunks)
  • specs/src/state_machine_modules_v2.md (1 hunks)
  • x/blob/README.md (4 hunks)
  • x/blobstream/overview.md (1 hunks)
Files skipped from review due to trivial changes (22)
  • specs/src/parameters.md
  • specs/src/specs/ante_handler.md
  • specs/src/specs/ante_handler_v1.md
  • specs/src/specs/ante_handler_v2.md
  • specs/src/specs/block_validity_rules.md
  • specs/src/specs/cat_pool.md
  • specs/src/specs/fraud_proofs.md
  • specs/src/specs/multisig.md
  • specs/src/specs/parameters.md
  • specs/src/specs/parameters_v1.md
  • specs/src/specs/parameters_v2.md
  • specs/src/specs/public_key_cryptography.md
  • specs/src/specs/resource_pricing.md
  • specs/src/specs/shares.md
  • specs/src/specs/state_machine_modules.md
  • specs/src/specs/state_machine_modules_v1.md
  • specs/src/specs/state_machine_modules_v2.md
  • specs/src/state_machine_modules.md
  • specs/src/state_machine_modules_v1.md
  • specs/src/state_machine_modules_v2.md
  • x/blob/README.md
  • x/blobstream/overview.md
Additional context used
LanguageTool
specs/src/ante_handler.md

[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)


[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/SUMMARY.md

[duplication] ~12-~12: Possible typo: you repeated a word
Context: ...ty Rules](./block_validity_rules.md) - AnteHandler - AnteHandler v1 - [AnteHand...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~24-~24: Possible typo: you repeated a word
Context: ...s v2](./state_machine_modules_v2.md) - Parameters - Parameters v1 - [Parameters...

(ENGLISH_WORD_REPEAT_RULE)

specs/src/multisig.md

[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

[uncategorized] ~13-~13: 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: ...included in Celestia. ### Libraries A highly-optimized library is available in C (<https://git...

(HYPHENATED_LY_ADVERB_ADJECTIVE)


[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

[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)


[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)


[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)


[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)


[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 a MsgPayForBlobs message. 1. Decodable BlobTx transactions must be valid acc...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

specs/src/ante_handler_v1.md

[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)


[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

[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)


[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

[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)


[style] ~69-~69: ‘in conjunction with’ might be wordy. Consider a shorter alternative.
Context: ....com/celestiaorg/nmt), where it is used in conjunction with the IgnoreMaxNamespace feature. The `...

(EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)

specs/src/data_square_layout.md

[style] ~14-~14: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ....46.11/types/tx_msg.go#L14-L26)s, which get executed atomically (if one fails they all fail)...

(GET_USED_ARE_USED)


[typographical] ~45-~45: Consider adding a comma after this introductory phrase.
Context: ...must be included in the same block). In addition all blobs must be accompanied by a PayF...

(IN_GENERAL_COMMA)

specs/src/cat_pool.md

[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)


[typographical] ~13-~13: Consider adding a comma after ‘Typically’ for more clarity.
Context: ...n be transported into a block at once. Typically the mempool serves to receive inbound t...

(RB_LY_COMMA)


[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)


[uncategorized] ~41-~41: Possible missing comma found.
Context: ...he ID: byte(0x31). This enables cross compatibility as discussed in greater detail below. ...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~44-~44: Did you mean the adverb “anymore”?
Context: ...had* a transaction but does not have it any more. Semantically it's more appropriate to ...

(ANY_MORE)


[uncategorized] ~44-~44: Possible missing comma found.
Context: ...nsaction but does not have it any more. Semantically it's more appropriate to use SeenTx t...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~48-~48: This verb may not be in the correct tense. Consider changing the tense to fit the context better.
Context: ...(or specifically through CheckTx), 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 two SeenTx 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 aWantTx` MAY also be se...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~68-~68: Possible missing comma found.
Context: ...viously received the nodes SeenTx 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: ...odes SeenTx 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)


[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)


[typographical] ~100-~100: The word “thus” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...WantTx messages aren't reaching those peers thus it is recommended that the entire netwo...

(THUS_SENTENCE)

specs/src/networking.md

[style] ~34-~34: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ants). 1. proposal.header.version.app must be a supported app version. 1. `proposa...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~35-~35: To form a complete sentence, be sure to include a subject or ‘there’.
Context: ...pp version. 1. proposal.header.height should be previous known height + 1. 1. `propo...

(MISSING_IT_THERE)


[style] ~40-~40: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...sh. 1. proposal.header.consensus_hash must be the hash of [consensus parameters](....

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~41-~41: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: .... 1. proposal.header.state_commitment must be the state root after applying the pr...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~42-~42: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...er.available_data_original_shares_used must be at most [AVAILABLE_DATA_ORIGINAL_SQ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~43-~43: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: .... proposal.header.available_data_root must be the [root](./data_structures.md#avai...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~44-~44: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: .... 1. proposal.header.proposer_address must be the [correct leader](./consensus.md#...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~45-~45: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...der-selection). 1. proposal.da_header must be well-formed. 1. The number of elemen...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

specs/src/resource_pricing.md

[style] ~3-~3: In American English, abbreviations like “etc.” require a period.
Context: ... cosmos-sdk transactions (staking, IBC, etc), Celestia utilizes the [default cosmos...

(ETC_PERIOD)


[uncategorized] ~6-~6: Possible missing comma found.
Context: ... to, or when specific costly operations occur such as signature verification or inclu...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~189-~189: Possible missing comma found.
Context: ... above of how gas > works in the cosmos-sdk this is not always the case. Notably, i...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~221-~221: Possible missing comma found.
Context: ... will not be maintained). ### MsgSend Here we can see the gas consumption trace of...

(AI_HYDRA_LEO_MISSING_COMMA)

specs/src/shares.md

[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)


[uncategorized] ~32-~32: Possible missing comma found.
Context: ...if this share is the first share in a sequence or0` if this share is a continuation ...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~34-~34: A comma may be missing after the conjunctive/linking adverb ‘Typically’.
Context: ...enoted by "blob1" in the figure below). Typically raw data is the blob payload that user'...

(SENT_START_CONJUNCTIVE_LINKING_ADVERB_COMMA)


[grammar] ~34-~34: An apostrophe ‘s’ denotes possession. Did you mean to use the plural form of the noun (no apostrophe)?
Context: ...cally raw data is the blob payload that user's submit in a [BlobTx](../../x/blob/READM...

(NOUN_APOSTROPHE_S_VERB)


[style] ~45-~45: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...itional metadata in their raw blob data prior to inclusion in a Celestia block. For exam...

(EN_WORDINESS_PREMIUM_PRIOR_TO)


[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)


[uncategorized] ~73-~73: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... Padding shares vary based on namespace but they conform to the [share format](#sha...

(COMMA_COMPOUND_SENTENCE)


[style] ~90-~90: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...`](./namespace.md#reserved-namespaces). Primary reserved padding shares are placed afte...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~94-~94: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...`](./namespace.md#reserved-namespaces). Tail padding shares are placed after the las...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~98-~98: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...`](./namespace.md#reserved-namespaces). Parity shares are the output of the erasure co...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[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)

specs/src/parameters_v2.md

[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 the x/paramfilter...

(COMMA_COMPOUND_SENTENCE)


[uncategorized] ~30-~30: Possible missing preposition found.
Context: ...um time added to the time in the header each block. ...

(AI_HYDRA_LEO_MISSING_OF)

specs/src/parameters_v1.md

[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 the x/paramfilter...

(COMMA_COMPOUND_SENTENCE)

specs/src/data_structures.md

[uncategorized] ~175-~175: Possible missing comma found.
Context: ...Leaves are hashed once to get leaf node values and internal node values are the hash o...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~203-~203: Possible missing comma found.
Context: ...e one-byte 0x00 is prepended for leaf nodes while 0x01 is prepended for internal ...

(AI_HYDRA_LEO_MISSING_COMMA)


[style] ~278-~278: Consider a shorter alternative to avoid wordiness.
Context: ...max`, respectively. ## Erasure Coding In order to enable trust-minimized light clients (i...

(IN_ORDER_TO_PREMIUM)


[style] ~416-~416: Consider a shorter alternative to avoid wordiness.
Context: ...AVAILABLE_DATA_ORIGINAL_SQUARE_MAX. | In order to compute the consensusHash` field in th...

(IN_ORDER_TO_PREMIUM)

specs/src/consensus.md

[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)


[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)


[uncategorized] ~120-~120: Possible missing comma found.
Context: ...ns must be ordered lexicographically by namespace since they are committed to in a [Names...

(AI_HYDRA_LEO_MISSING_COMMA)


[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) ``` where x 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)


[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)

Gitleaks
specs/src/multisig.md

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)

Additional comments not posted (67)
specs/src/specs/data_structures.md (1)

1-1: LGTM!

The section header is correctly implemented.

The code changes are approved.

specs/src/specs/block_proposer.md (1)

1-1: LGTM!

The section header is correctly implemented.

The code changes are approved.

specs/src/specs/data_square_layout.md (1)

1-1: LGTM!

The section header is correctly implemented.

The code changes are approved.

specs/src/ante_handler.md (1)

10-13: LGTM!

The section is well-written and provides useful links to additional resources.

The code changes are approved.

specs/src/SUMMARY.md (4)

5-5: LGTM!

The link is correctly updated and improves clarity.

The code changes are approved.


6-6: LGTM!

The link is correctly updated and improves clarity.

The code changes are approved.


7-7: LGTM!

The link is correctly updated and improves clarity.

The code changes are approved.


8-26: LGTM!

The remaining links are correctly updated and improve clarity.

The code changes are approved.

Tools
LanguageTool

[duplication] ~12-~12: Possible typo: you repeated a word
Context: ...ty Rules](./block_validity_rules.md) - AnteHandler - AnteHandler v1 - [AnteHand...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~24-~24: Possible typo: you repeated a word
Context: ...s v2](./state_machine_modules_v2.md) - Parameters - Parameters v1 - [Parameters...

(ENGLISH_WORD_REPEAT_RULE)

specs/src/fraud_proofs.md (2)

3-13: LGTM!

The section is well-written and provides useful links to additional resources.

The code changes are approved.


19-25: LGTM!

The section is well-written and provides useful links to additional resources.

The code changes are approved.

specs/src/multisig.md (2)

7-13: LGTM!

The example command is clear and useful.

The code changes are approved.

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)


15-15: LGTM!

The reference to the Cosmos SDK documentation is clear and useful.

The code changes are approved.

specs/src/block_proposer.md (3)

5-5: LGTM!

The introduction is clear and concise.

The code changes are approved.


7-24: LGTM!

The section is clear and provides detailed steps.

The code changes are approved.


24-24: LGTM!

The note is clear and provides useful information.

The code changes are approved.

specs/src/public_key_cryptography.md (2)

5-5: LGTM!

The introduction is clear and concise.

The code changes are approved.


35-68: LGTM!

The section is clear and provides detailed information.

The code changes are approved.

specs/src/block_validity_rules.md (2)

40-42: LGTM!

The block rules are clearly outlined.

The code changes are approved.


61-66: LGTM!

The data root construction rules are clearly outlined and the images help illustrate the concepts.

The code changes are approved.

specs/src/ante_handler_v1.md (1)

5-18: LGTM!

The criteria for the AnteHandler are clearly outlined.

The code changes are approved.

Tools
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)

specs/src/ante_handler_v2.md (1)

5-20: LGTM!

The criteria for the AnteHandler are clearly outlined.

The code changes are approved.

Tools
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)

specs/src/namespace.md (7)

14-18: LGTM!

The section is well-written and clear.

The code changes are approved.


21-50: LGTM!

The section is clear and informative.

The code changes are approved.


58-85: LGTM!

The section is clear and informative.

The code changes are approved.

Tools
LanguageTool

[style] ~69-~69: ‘in conjunction with’ might be wordy. Consider a shorter alternative.
Context: ....com/celestiaorg/nmt), where it is used in conjunction with the IgnoreMaxNamespace feature. The `...

(EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)


86-93: LGTM!

The section is clear and informative.

The code changes are approved.


95-98: LGTM!

The section is clear and informative.

The code changes are approved.


100-107: LGTM!

The section is clear and informative.

The code changes are approved.


109-115: LGTM!

The section is clear and informative.

The code changes are approved.

specs/src/data_square_layout.md (5)

5-8: LGTM!

The section is clear and informative.

The code changes are approved.


9-27: LGTM!

The section is clear and informative.

The code changes are approved.

Tools
LanguageTool

[style] ~14-~14: The verb “get” can be informal. Consider replacing it with a form of “to be”.
Context: ....46.11/types/tx_msg.go#L14-L26)s, which get executed atomically (if one fails they all fail)...

(GET_USED_ARE_USED)


34-36: LGTM!

The section is clear and informative.

The code changes are approved.


38-59: LGTM!

The section is clear and informative.

The code changes are approved.

Tools
LanguageTool

[typographical] ~45-~45: Consider adding a comma after this introductory phrase.
Context: ...must be included in the same block). In addition all blobs must be accompanied by a PayF...

(IN_GENERAL_COMMA)


60-62: LGTM!

The section is clear and informative.

The code changes are approved.

specs/src/cat_pool.md (2)

6-8: LGTM!

The section is clear and informative.

The code changes are approved.


24-44: LGTM!

The section is clear and informative.

The code changes are approved.

Tools
LanguageTool

[uncategorized] ~41-~41: Possible missing comma found.
Context: ...he ID: byte(0x31). This enables cross compatibility as discussed in greater detail below. ...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~44-~44: Did you mean the adverb “anymore”?
Context: ...had* a transaction but does not have it any more. Semantically it's more appropriate to ...

(ANY_MORE)


[uncategorized] ~44-~44: Possible missing comma found.
Context: ...nsaction but does not have it any more. Semantically it's more appropriate to use SeenTx t...

(AI_HYDRA_LEO_MISSING_COMMA)

specs/src/networking.md (3)

52-64: LGTM!

The section is well-structured and provides clear information about the MsgWirePayForData message type.


66-92: LGTM!

The section is well-structured and provides clear information about handling invalid erasure coding.


94-111: LGTM!

The section is well-structured and provides clear information about handling invalid state updates.

specs/src/resource_pricing.md (3)

169-180: LGTM!

The section is well-structured and provides clear information about the fee market.


182-209: LGTM!

The section is well-structured and provides clear information about estimating PFB costs.

Tools
LanguageTool

[uncategorized] ~189-~189: Possible missing comma found.
Context: ... above of how gas > works in the cosmos-sdk this is not always the case. Notably, i...

(AI_HYDRA_LEO_MISSING_COMMA)


160-163: Add comma after "cosmos-sdk".

Add a comma after "cosmos-sdk" for clarity.

Apply this diff to address the issue:

- > above of how gas > works in the cosmos-sdk this is not always the case. Notably, if we use a vesting account or the `feegrant` modules, then these static costs change.
+ > above of how gas > works in the cosmos-sdk, this is not always the case. Notably, if we use a vesting account or the `feegrant` modules, then these static costs change.

Likely invalid or redundant comment.

specs/src/shares.md (2)

5-8: LGTM!

The section is well-structured and provides clear information about the concept of shares.


9-14: LGTM!

The section is well-structured and provides clear definitions of key terms.

specs/src/parameters_v2.md (4)

9-15: LGTM!

The section is clear and well-structured.

The code changes are approved.


16-68: LGTM!

The section is clear and well-structured.

The code changes are approved.

Tools
LanguageTool

[uncategorized] ~30-~30: Possible missing preposition found.
Context: ...um time added to the time in the header each block. ...

(AI_HYDRA_LEO_MISSING_OF)


69-69: LGTM!

The section is clear and provides necessary context.

The code changes are approved.


71-71: LGTM!

The section is clear and provides necessary context.

The code changes are approved.

specs/src/parameters_v1.md (3)

9-15: LGTM!

The section is clear and well-structured.

The code changes are approved.


16-66: LGTM!

The section is clear and well-structured.

The code changes are approved.


67-67: LGTM!

The section is clear and provides necessary context.

The code changes are approved.

specs/src/data_structures.md (11)

1-2: LGTM!

The section is clear and provides necessary context.

The code changes are approved.


5-7: LGTM!

The section is clear and provides necessary context.

The code changes are approved.


9-22: LGTM!

The section is clear and well-structured.

The code changes are approved.


23-56: LGTM!

The section is clear and well-structured.

The code changes are approved.


58-67: LGTM!

The section is clear and well-structured.

The code changes are approved.


71-80: LGTM!

The section is clear and well-structured.

The code changes are approved.


81-89: LGTM!

The section is clear and well-structured.

The code changes are approved.


90-94: LGTM!

The section is clear and well-structured.

The code changes are approved.


96-100: LGTM!

The section is clear and well-structured.

The code changes are approved.


102-108: LGTM!

The section is clear and well-structured.

The code changes are approved.


110-116: LGTM!

The section is clear and well-structured.

The code changes are approved.

specs/src/consensus.md (6)

1-4: LGTM!

The introduction and table of contents are clear and correctly formatted.

The code changes are approved.


5-39: Verify missing values.

Some constants have missing values. Ensure that all constants have their values defined.

Please verify and define the missing values for the constants.


41-47: LGTM!

The section on rewards and penalties is clear and correctly formatted.

The code changes are approved.


48-50: LGTM!

The section on leader selection is clear and correctly formatted.

The code changes are approved.


52-56: LGTM!

The section on fork choice is clear and correctly formatted.

The code changes are approved.


231-253: LGTM!

The section on SignedTransactionDataTransfer is clear and correctly formatted.

The code changes are approved.


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?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

‼️ IMPORTANT
Auto-reply has been disabled for this repository in the CodeRabbit settings. The CodeRabbit bot will not respond to your replies unless it is explicitly tagged.

  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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 mempool
Tools
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 assumption
Tools
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 validation
Tools
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 rules
Tools
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 rules
Tools
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 a MsgPayForBlobs message. 1. Decodable BlobTx 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. nonce
Tools
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 effects
Tools
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. nonce
Tools
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 effects
Tools
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 client
Tools
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 through CheckTx), 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 two SeenTx 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 aWantTx` MAY also be se...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~68-~68: Possible missing comma found.
Context: ...viously received the nodes SeenTx 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: ...odes SeenTx 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 two SeenTx 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:

  1. Line 92: Add a comma after "roots".
  2. 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 a
Tools
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) ``` where x 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:

  1. Line 713: Remove the hyphen in "newly-bonded" and "previously-bonded".
  2. 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
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

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.

Comment on lines +15 to +17
## Blob Inclusion

TODO
Copy link
Contributor

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?

Comment on lines +5 to +13
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
```
Copy link
Contributor

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)

Comment on lines +105 to +106
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.
Copy link
Contributor

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.

Suggested change
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)

Comment on lines +53 to +54
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:

Copy link
Contributor

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.

Suggested change
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)

Comment on lines +17 to +18
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).

Copy link
Contributor

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.

Suggested change
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)

Comment on lines +6 to +7
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.
Copy link
Contributor

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.

Suggested change
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 the x/paramfilter...

(COMMA_COMPOUND_SENTENCE)

Comment on lines +6 to +7
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.
Copy link
Contributor

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.

Suggested change
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 the x/paramfilter...

(COMMA_COMPOUND_SENTENCE)

@rootulp rootulp requested review from cmwaters, staheri14 and ninabarbakadze and removed request for liamsi August 28, 2024 15:25
@rootulp rootulp merged commit 62b6c57 into main Aug 30, 2024
33 checks passed
@rootulp rootulp deleted the rp/specs-fix-links branch August 30, 2024 14:05
rootulp added a commit that referenced this pull request Sep 12, 2024
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Broken links from https://celestiaorg.github.io/celestia-app/
4 participants