feat(foundations): update config for [04.2026] release#2083
Conversation
This comment has been minimized.
This comment has been minimized.
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughExpanded Param 29 with consensus_config_v4 details and added a new Param 30 section documenting TL‑B schemas for simplex_config constructors, TON release gating, optional mc/shard ref semantics, and a 0–14 noncritical_params table with encodings and defaults. ChangesParam 29 and 30 documentation
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (2)
foundations/config.mdx (2)
467-469:⚠️ Potential issue | 🟠 MajorUse the required
Asideprop format consistently.This section mixes
<Aside>(no type) and<Aside caution>. IfAsiderequires atypeprop, both should be normalized totype="note"/type="caution"to avoid inconsistent rendering.Suggested fix
-<Aside> +<Aside type="note"> Introduced with [TON v2026.04](https://github.com/ton-blockchain/ton/releases/tag/v2026.04) update. </Aside> ... -<Aside caution> +<Aside type="caution"> `simplex_config#21` unused, scheduled for removal </Aside>Also applies to: 496-498
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@foundations/config.mdx` around lines 467 - 469, The Asides in this section use mixed syntax ("<Aside>" and "<Aside caution>") which causes inconsistent rendering; update all Aside usages (including the occurrence around lines noted and the other occurrence at 496-498) to the explicit prop form by changing "<Aside>" to "<Aside type=\"note\">" and "<Aside caution>" to "<Aside type=\"caution\">", ensuring every Aside uses a type prop consistently and matches the required component API.
471-471:⚠️ Potential issue | 🟡 MinorAdd the missing space between sentences.
There is no space after the closing parenthesis before
`ConfigParam 30`, which hurts readability.Suggested fix
-This parameter carries per-workchain configuration for the Catchain 2.0 consensus path ([Simplex](https://github.com/ton-blockchain/simplex-docs/blob/main/Simplex.md)).`ConfigParam 30` does not fully replace `ConfigParam 29`. At runtime, the node still copies `max_block_size` and `max_collated_data_size` from `ConfigParam 29` into `ton::NewConsensusConfig`. +This parameter carries per-workchain configuration for the Catchain 2.0 consensus path ([Simplex](https://github.com/ton-blockchain/simplex-docs/blob/main/Simplex.md)). `ConfigParam 30` does not fully replace `ConfigParam 29`. At runtime, the node still copies `max_block_size` and `max_collated_data_size` from `ConfigParam 29` into `ton::NewConsensusConfig`.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@foundations/config.mdx` at line 471, The sentence in the documentation is missing a space after the closing parenthesis before `ConfigParam 30`; update the text around the mention of Catchain 2.0 (Simplex) so there is a space between the closing parenthesis and the inline code token `ConfigParam 30`, ensuring the sentence reads "... Simplex). `ConfigParam 30` ..." and preserving the rest of the sentence that references `ConfigParam 29` and `ton::NewConsensusConfig`.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@foundations/config.mdx`:
- Line 529: Replace the forbidden lowercase term "id"/"Id" with the allowed
uppercase "ID" consistently in the prose and table headers where the schema
mentions parameter identifiers—specifically update the `noncritical_params`
table row (currently "`noncritical_params` | `HashmapE 8 uint32` | Sparse map
from parameter id to raw 32-bit value") and the other occurrences noted (lines
referencing parameter id at 533, 551, 586) so they read "ID" (e.g., "parameter
ID" and table header "ID") while preserving surrounding text and types like
`HashmapE 8 uint32`.
---
Duplicate comments:
In `@foundations/config.mdx`:
- Around line 467-469: The Asides in this section use mixed syntax ("<Aside>"
and "<Aside caution>") which causes inconsistent rendering; update all Aside
usages (including the occurrence around lines noted and the other occurrence at
496-498) to the explicit prop form by changing "<Aside>" to "<Aside
type=\"note\">" and "<Aside caution>" to "<Aside type=\"caution\">", ensuring
every Aside uses a type prop consistently and matches the required component
API.
- Line 471: The sentence in the documentation is missing a space after the
closing parenthesis before `ConfigParam 30`; update the text around the mention
of Catchain 2.0 (Simplex) so there is a space between the closing parenthesis
and the inline code token `ConfigParam 30`, ensuring the sentence reads "...
Simplex). `ConfigParam 30` ..." and preserving the rest of the sentence that
references `ConfigParam 29` and `ton::NewConsensusConfig`.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
🧹 Nitpick comments (2)
foundations/config.mdx (2)
510-518: Consider removing the duplicatedsimplex_config_v2#22TL-B block.The same constructor is already shown in Line 484–Line 488. Keeping only one canonical snippet reduces maintenance drift.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@foundations/config.mdx` around lines 510 - 518, The file contains a duplicated TL-B block for the constructor simplex_config_v2#22 (showing flags:(## 7), use_quic, slots_per_leader_window, noncritical_params:(HashmapE 8 uint32) = NewConsensusConfig); remove the redundant copy so only the canonical simplex_config_v2#22 snippet remains (keep the first/most complete occurrence and delete the later duplicate), and ensure any surrounding references still point to the retained block.
471-471: Prefer a pinned Simplex spec link instead ofmain.For release documentation, linking to
maincan drift over time. Consider linking to a tagged release or commit SHA to keep April 2026 docs stable.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@foundations/config.mdx` at line 471, The docs link to the Simplex spec currently pointing at the repo "main" branch—replace that mutable URL with a pinned release tag or specific commit SHA so the April 2026 docs remain stable; locate the markdown line referencing the Simplex URL (the anchor text "Simplex" in foundations/config.mdx) and update the href to a release-tagged URL or commit permalink, keeping the link text unchanged and optionally adding the tag/commit in parentheses for clarity.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@foundations/config.mdx`:
- Around line 510-518: The file contains a duplicated TL-B block for the
constructor simplex_config_v2#22 (showing flags:(## 7), use_quic,
slots_per_leader_window, noncritical_params:(HashmapE 8 uint32) =
NewConsensusConfig); remove the redundant copy so only the canonical
simplex_config_v2#22 snippet remains (keep the first/most complete occurrence
and delete the later duplicate), and ensure any surrounding references still
point to the retained block.
- Line 471: The docs link to the Simplex spec currently pointing at the repo
"main" branch—replace that mutable URL with a pinned release tag or specific
commit SHA so the April 2026 docs remain stable; locate the markdown line
referencing the Simplex URL (the anchor text "Simplex" in
foundations/config.mdx) and update the href to a release-tagged URL or commit
permalink, keeping the link text unchanged and optionally adding the tag/commit
in parentheses for clarity.
This comment has been minimized.
This comment has been minimized.
|
@delovoyhomie, ready for review. |
| - `slots_per_leader_window`: Number of consecutive slots assigned to one leader. Set to **4** in mainnet. | ||
| - `noncritical_params`: A `HashmapE 8 uint32` map from parameter IDs to raw 32-bit values. | ||
|
|
||
| Inherited from [Param 29](https://tonviewer.com/config#29): |
There was a problem hiding this comment.
this link points at tonviewer's #29 anchor, but in the param 30 intro (line 515) the same reference uses the internal anchor [ConfigParam 29](/foundations/config#param-29-consensus-config)
should we keep them consistent? @reveloper the internal anchor is also what the style guide prefers for cross-page references (see links)
| Inherited from [Param 29](https://tonviewer.com/config#29): | |
| Inherited from [Param 29](/foundations/config#param-29-consensus-config): |
There was a problem hiding this comment.
I think, in this context better to highlight parsed values. In the original text, it was so(they were just printed); that's why I added a direct link to the Tonviewer-parsed values.
For me, consistency here works like this, since the current value will not be visible with one click.
Do you think we should redirect this to an internal anchor?
| `consensus_config_v4#d9` was introduced together with the [Catchain 2.0 / Simplex](https://github.com/ton-blockchain/simplex-docs/blob/main/Simplex.md) migration tracked by [Param 30](#param-30-consensus-extension). The `use_quic` toggle in Param 29 controls the transport for the legacy Catchain path; the `use_quic` toggle in Param 30 controls the transport for the new Simplex path. They are configured independently. | ||
| </Aside> | ||
|
|
||
| [Parameter #29 on mainnet](https://tonviewer.com/config#29) |
There was a problem hiding this comment.
small dup: the same Parameter #29 on mainnet link already shows up at line 467 (For up-to-date values, see [Parameter #29 on mainnet](...)), so this trailing standalone link is redundant after the rewrite. probably it makes sense to drop one of them?
| [Parameter #29 on mainnet](https://tonviewer.com/config#29) |
There was a problem hiding this comment.
That's fair if we consider Parameter #29 inside, but is it fine to break the pattern for the entire config document, where you aligned the link as the last row in every single Parameter chapter?
Probably, during skimming, the user may expect to find this link at the end of the chapter, according to others.
The only thing is that I probably place such links for the entire document at the beginning of every Param chapter.
| simplex_config_v2#22 flags:(## 7) | ||
| use_quic:Bool | ||
| slots_per_leader_window:uint32 | ||
| noncritical_params:(HashmapE 8 uint32) | ||
| = NewConsensusConfig; |
There was a problem hiding this comment.
small but worth double-checking against the upstream block.tlb at v2026.04 line 782: consensus_config_v4#d9 (line 492 here) has flags:(## 6) { flags = 0 }, while both simplex_config#21 and simplex_config_v2#22 have flags:(## 7) with no { flags = 0 } constraint. is that intentional, or did the flags = 0 predicate just get dropped in the copy? if the upstream schema does require flags = 0 for the simplex configs too, we should keep it here for reviewers who use this page as the spec reference
There was a problem hiding this comment.
There are not mistake here, this is correpsponds to block.tlb content.
In the ConfigParam 29:
consensus_config_new#d7 flags:(## 7) { flags = 0 }
In the ConfigParam 30:
simplex_config#21 flags:(## 7) use_quic:Bool
|
Thank you for the review. I'll address the comments during the next week. |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
foundations/config.mdx (1)
465-465: ⚡ Quick winPin this normative reference to a versioned tag.
Line 465 links
catchain-dos.mdonmaster, which can drift over time. Please pin it to the same release tag style used in this section (for examplev2026.04) to keep the documentation reproducible.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@foundations/config.mdx` at line 465, The link to catchain-dos.md currently points at master and must be pinned to the release tag used in this section; update the URL in the `catchain_max_blocks_coeff` line so the GitHub path references the same version tag (e.g. replace the master branch segment with the section's tag like `v2026.04`) to ensure the normative reference is versioned and reproducible.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@foundations/config.mdx`:
- Line 465: The link to catchain-dos.md currently points at master and must be
pinned to the release tag used in this section; update the URL in the
`catchain_max_blocks_coeff` line so the GitHub path references the same version
tag (e.g. replace the master branch segment with the section's tag like
`v2026.04`) to ensure the normative reference is versioned and reproducible.
Co-authored-by: Slava Yakimenko <92427892+delovoyhomie@users.noreply.github.com>
Co-authored-by: Slava Yakimenko <92427892+delovoyhomie@users.noreply.github.com>
Closes #2074.
Summary by CodeRabbit