Skip to content

Conversation

Shvandre
Copy link
Collaborator

Closes #107

Copy link

Thanks for the update to the system contracts docs. This PR focuses on ton/system-contracts.mdx; a few content and style fixes are needed before merge.

Findings (8)

High (1)

[HIGH] Incorrect link anchor for ConfigParam 15

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/9795b18268c486db098d263136445ab1f8100376/ton/system-contracts.mdx?plain=1#L103-L103

Description:
The link text says “ConfigParam 15” but the URL points to config#0, which misdirects readers. This breaks deep-link accuracy for a key reference and may cause incorrect lookups.

Suggestion:
Update the anchor to #15.

- The fine is deducted from the validator's `frozen` stake in the relevant `past_elections` record if approved. These funds stay locked for the period defined by [**ConfigParam 15**](https://tonviewer.com/config#0) (`stake_held_for`).
+ The fine is deducted from the validator's `frozen` stake in the relevant `past_elections` record if approved. These funds stay locked for the period defined by [**ConfigParam 15**](https://tonviewer.com/config#15) (`stake_held_for`).

Medium (6)

Click to expand

[MEDIUM] H1 not in sentence case and does not match title

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/9795b18268c486db098d263136445ab1f8100376/ton/system-contracts.mdx?plain=1#L7-L7

Description:
The H1 “System Contracts overview” does not match the frontmatter title (“System contracts”) and uses title case. Headings must be sentence case and the H1 should match the page title.

Suggestion:
Make the H1 sentence case and match the title.

-# System Contracts overview
+# System contracts

[MEDIUM] Misused Caution callout and hedging/future tense

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/9795b18268c486db098d263136445ab1f8100376/ton/system-contracts.mdx?plain=1#L9-L11

Description:
The Caution callout is used for general guidance instead of a safety risk. The text also uses future/hedging (“will probably”, “very”), which the style discourages.

Suggestion:
Use “Important” and present tense without hedging; fix grammar.

-<Aside type="caution">
-    This is a very low-level internals of TON Blockchain. You will probably never need to write and deploy any of this contracts.
-</Aside>
+<Aside type="important">
+    This page covers low‑level TON internals. You typically do not need to write or deploy these contracts.
+</Aside>

[MEDIUM] Unclear/grammatical issues in Aside; passive and conversational tone

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/9795b18268c486db098d263136445ab1f8100376/ton/system-contracts.mdx?plain=1#L14-L16

Description:
The Aside has grammar errors (“same that…”, “surely has”), passive phrasing, and conversational parenthetical. Use clear, direct wording and active voice.

Suggestion:
Rewrite for clarity and professional tone; keep the link.

-<Aside>
-    In TON, system contracts are nearly the same that user contracts, so they surely has their addresses. Those addresses can be checked in [config parameters 1-4](https://tonviewer.com/config). (Yes, config account address is saved in config account). To maintain current address of config you may inspect the proposals, coming to current config.
-</Aside>
+<Aside>
+    System contracts are smart contracts and have on‑chain addresses. See [config parameters 1–4](https://tonviewer.com/config). The Config account stores the Config contract address. To track changes, review proposals to the Config contract.
+</Aside>

[MEDIUM] Fenced code block missing language

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/9795b18268c486db098d263136445ab1f8100376/ton/system-contracts.mdx?plain=1#L61-L63

Description:
The fenced code block lacks a language tag, which reduces syntax highlighting and tooling support.

Suggestion:
Tag the block as text.

-```
+```text
 min(stake[i] * max_factor[j], stake[j])

#### [MEDIUM] Incorrect capitalization of “MasterChain”
Location: https://github.com/tact-lang/mintlify-ton-docs/blob/9795b18268c486db098d263136445ab1f8100376/ton/system-contracts.mdx?plain=1#L46-L46

Description:
The note uses “masterchain” mid‑sentence. The official term is “MasterChain”. Use consistent capitalization for domain terms.

Suggestion:
Capitalize “MasterChain”.
```diff
-_Note:_ Only masterchain addresses can apply.
+_Note:_ Only MasterChain addresses can apply.

[MEDIUM] Non‑ISO dates and ambiguous number abbreviation

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/9795b18268c486db098d263136445ab1f8100376/ton/system-contracts.mdx?plain=1#L134-L140

Description:
Dates use non‑ISO formats (“Nov 22, 2023”, “Apr 2022”, “Mar 2023”), and “25M” is ambiguous. Use ISO‑8601 dates and expand large numbers with thousands separators.

Suggestion:
Convert dates to ISO and expand the number.

- - **Key retired** on Nov 22, 2023 (**block 34312810**), replaced with zeros.
+ - **Key retired** on 2023-11-22 (**block 34312810**), replaced with zeros.
- - **Apr 2022**: Increased gas limits (**blocks 19880281/19880300**) to unblock elections.
+ - 2022-04: Increased gas limits (**blocks 19880281/19880300**) to unblock elections.
- - **Mar 2023**: Raised `special_gas_limit` to 25M (**block 27747086**) for election throughput.
+ - 2023-03: Raised `special_gas_limit` to 25,000,000 (**block 27747086**) for election throughput.

Low (1)

Click to expand

[LOW] Colloquial “10k” abbreviations in example

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/9795b18268c486db098d263136445ab1f8100376/ton/system-contracts.mdx?plain=1#L73-L75

Description:
The example uses “10k” shorthand, which is colloquial and ambiguous. Use numerals with thousands separators for clarity.

Suggestion:
Replace “10k” with explicit values.

- - _Without the 10k candidate_: TES = 900,000.
- - _With the 10k candidate_: TES = 9 \* 27,000 + 10,000 = 253,000.
- - **Result**: 10k candidates are excluded.
+ - _Without the 10,000‑stake candidate_: TES = 900,000.
+ - _With the 10,000‑stake candidate_: TES = 9 \* 27,000 + 10,000 = 253,000.
+ - **Result**: 10,000‑stake candidates are excluded.

@Shvandre
Copy link
Collaborator Author

/review

Copy link

Thanks for the updates to the TON system contracts doc. I reviewed the changes in ton/system-contracts.mdx; a handful of style, clarity, and accuracy fixes are needed to align with the guide and avoid confusion.

Findings (15)

High (2)

[HIGH] Misused caution aside; hedging, future tense, and grammar

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L9-L11

Description:
The opening aside misuses the Caution level (audience scope rather than risk) and contains hedging, future tense, and grammatical issues. This reduces clarity and conflicts with admonition usage and tone guidance.

Suggestion:
Use Important and fix grammar/tense.

-<Aside type="caution">
-    This is a very low-level internals of TON Blockchain. You will probably never need to write and deploy any of this contracts.
-</Aside>
+<Aside type="important">
+    These are low-level TON Blockchain internals. You typically do not need to write or deploy these contracts.
+</Aside>

Alternative wording that also expands TON on first use:

-<Aside type="caution">
-    This is a very low-level internals of TON Blockchain. You will probably never need to write and deploy any of this contracts.
-</Aside>
+<Aside type="important">
+    This page covers low-level system contract internals of The Open Network (TON). You rarely need to write or deploy these contracts.
+</Aside>

Or, if keeping the aside type unchanged, at minimum fix tone and grammar:

-    This is a very low-level internals of TON Blockchain. You will probably never need to write and deploy any of this contracts.
+    This section covers low‑level internals of the TON Blockchain. Most developers won’t need to write or deploy these contracts.

[HIGH] Misleading example result and numeric shorthand

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L73-L75

Description:
The result line implies multiple “10k” candidates when only one such candidate is present. It also uses shorthand (“10k”), which conflicts with numeric style guidance.

Suggestion:
Clarify the singular candidate and use full numerals.

-- _Without the 10k candidate_: TES = 900,000.
-- _With the 10k candidate_: TES = 9 \* 27,000 + 10,000 = 253,000.
-- **Result**: 10k candidates are excluded.
+- _Without the 10,000-stake candidate_: TES = 900,000.
+- _With the 10,000-stake candidate_: TES = 9 \* 27,000 + 10,000 = 253,000.
+- **Result**: The 10,000-stake candidate is excluded.

Medium (10)

Click to expand

[MEDIUM] Overlong sentence, inconsistent dashes, and DNS misclassified

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L19-L19

Description:
Mixed dash styles and multiple clauses reduce readability. Listing DNS alongside Elector/Config as governance is misleading.

Suggestion:
Use em dashes consistently and remove DNS from the governance list.

-In TON, a set of special smart contracts controls consensus parameters for node operation—including TVM, catchain, fees, and chain topology - and how these parameters are stored and updated. Unlike older blockchains that hardcode these parameters, TON enables transparent on-chain governance. The current governance contracts include the **Elector**, **Config**, and **DNS** contracts, with expansion plans (e.g., extra-currency **Minter**).
+In TON, a set of special smart contracts controls consensus parameters for node operation — including TVM, catchain, fees, and chain topology — and how these parameters are stored and updated. Unlike older blockchains that hardcode these parameters, TON enables transparent on‑chain governance. The current governance contracts include the **Elector** and **Config** contracts, with expansion plans (for example, the extra‑currency **Minter**).

[MEDIUM] Unexpanded acronyms (TVM, DNS) at first mention

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L19-L19

Description:
“TVM” and “DNS” are used before being defined, reducing accessibility.

Suggestion:
Spell out acronyms on first use.

-In TON, a set of special smart contracts controls consensus parameters for node operation—including TVM, catchain, fees, and chain topology - and how these parameters are stored and updated. Unlike older blockchains that hardcode these parameters, TON enables transparent on-chain governance. The current governance contracts include the **Elector**, **Config**, and **DNS** contracts, with expansion plans (e.g., extra-currency **Minter**).
+In TON, a set of special smart contracts controls consensus parameters for node operation—including TON Virtual Machine (TVM), catchain, fees, and chain topology - and how these parameters are stored and updated. Unlike older blockchains that hardcode these parameters, TON enables transparent on-chain governance. The current governance contracts include the **Elector**, **Config**, and Domain Name System (DNS) contracts, with expansion plans (e.g., extra-currency **Minter**).

[MEDIUM] ADNL not expanded and MasterChain capitalization

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L44-L46

Description:
“ADNL” is not expanded on first use, and “masterchain” should be capitalized as “MasterChain”.

Suggestion:
Expand ADNL and fix casing.

-1. Send a message to the Elector with their ADNL address, public key, `max_factor`, and stake (TON amount).
+1. Send a message to the Elector with their Abstract Datagram Network Layer (ADNL) address, public key, `max_factor`, and stake (TON amount).
@@
-_Note:_ Only masterchain addresses can apply.
+_Note:_ Only MasterChain addresses can apply.

[MEDIUM] Partial snippet not labeled “Not runnable”

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L61-L63

Description:
The Python block is a formula, not a runnable program. Label partial snippets to set expectations.

Suggestion:
Add the “Not runnable” label.

-```python
+Not runnable
+```python
 min(stake[i] * max_factor[j], stake[j])

#### [MEDIUM] Spell technical quantity as numerals (“two‑thirds”)

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L101-L101

Description:
Spelling out the ratio slows scanning. Use numerals for technical quantities.

Suggestion:
Use “2/3”.

```diff
-Approval requires agreement from over **two-thirds of the total validator weight** (not just a majority of participants).
+Approval requires agreement from over **2/3 of the total validator weight** (not just a majority of participants).

[MEDIUM] Use code font for identifiers (“ConfigParam …”)

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L116-L119

Description:
Identifiers like ConfigParam numbers should use code font for consistency.

Suggestion:
Wrap with backticks.

-2. **Config** stores it in **ConfigParam 36** (_next validators_).
-3. At the scheduled time (`utime_since`), **Config**:
-- Moves the old set to **ConfigParam 32** (_previous validators_).
-- Promotes **ConfigParam 36** to **ConfigParam 34** (_current validators_).
+2. **Config** stores it in `ConfigParam 36` (_next validators_).
+3. At the scheduled time (`utime_since`), **Config**:
+- Moves the old set to `ConfigParam 32` (_previous validators_).
+- Promotes `ConfigParam 36` to `ConfigParam 34` (_current validators_).

[MEDIUM] Normalize dates and numeric formatting

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L134-L140

Description:
Dates use non‑ISO formats; large numbers lack separators; “25M” is shorthand. Use ISO‑8601 dates and add separators/expand numerals.

Suggestion:
Option A (ISO dates, separators, expanded numerals):

-**Key retired** on Nov 22, 2023 (**block 34312810**), replaced with zeros.
+**Key retired** on 2023-11-22 (**block 34,312,810**), replaced with zeros.
@@
-- **Apr 2022**: Increased gas limits (**blocks 19880281/19880300**) to unblock elections.
-- **Mar 2023**: Raised `special_gas_limit` to 25M (**block 27747086**) for election throughput.
+- **2022-04**: Increased gas limits (**blocks 19,880,281 / 19,880,300**) to unblock elections.
+- **2023-03**: Raised `special_gas_limit` to 25,000,000 (**block 27,747,086**) for election throughput.

Option B (ISO date; keep blocks as-is; remove month-name dates in bullets and expand number):

-- **Key retired** on Nov 22, 2023 (**block 34312810**), replaced with zeros.
+- **Key retired** on 2023-11-22 (**block 34312810**), replaced with zeros.
@@
-- **Apr 2022**: Increased gas limits (**blocks 19880281/19880300**) to unblock elections.
-- **Mar 2023**: Raised `special_gas_limit` to 25M (**block 27747086**) for election throughput.
+- Increased gas limits (**blocks 19880281/19880300**) to unblock elections.
+- Raised `special_gas_limit` to 25,000,000 (**block 27747086**) for election throughput.

Option C (ISO dates in bullets; expand number):

-**Key retired** on Nov 22, 2023 (**block 34312810**), replaced with zeros.
+**Key retired** on 2023-11-22 (**block 34312810**), replaced with zeros.
-**Apr 2022**: Increased gas limits (**blocks 19880281/19880300**) to unblock elections.
-**Mar 2023**: Raised `special_gas_limit` to 25M (**block 27747086**) for election throughput.
+2022-04: Increased gas limits (**blocks 19880281/19880300**) to unblock elections.
+2023-03: Raised `special_gas_limit` to 25,000,000 (**block 27747086**) for election throughput.

[MEDIUM] Gerund used in procedural heading

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L91-L91

Description:
Procedure heading uses a gerund; imperative improves scannability.

Suggestion:
Use an action‑oriented imperative.

-### Process of reporting validator misbehavior
+### Report validator misbehavior

[MEDIUM] Voice not in second person (application procedure)

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L42-L46

Description:
Instructions address a third party (“a validator must”) rather than the reader.

Suggestion:
Use second person.

-To apply, a validator must:
+To apply, you must:

[MEDIUM] Voice not in second person (misbehavior reporting)

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L95-L99

Description:
Procedure addresses “a user” rather than the reader.

Suggestion:
Use second person.

-To report misbehavior, a user must:
+To report misbehavior, you must:

Low (3)

Click to expand

[LOW] List fragments end with periods

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L29-L31

Description:
Bullet items are fragments but end with periods.

Suggestion:
Remove trailing periods.

-- Non-withdrawn Toncoin in the `credits` hashmap.
-- New validator applications in the `elect` hashmap.
-- Past election data in the `past_elections` hashmap (including complaints and `frozen` stakes held for `stake_held_for` periods, defined in [**ConfigParam 15**](https://tonviewer.com/config#15)).
+- Non-withdrawn Toncoin in the `credits` hashmap
+- New validator applications in the `elect` hashmap
+- Past election data in the `past_elections` hashmap (including complaints and `frozen` stakes held for `stake_held_for` periods, defined in [**ConfigParam 15**](https://tonviewer.com/config#15))

[LOW] Inconsistent numeric style and missing units in examples

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L73-L80

Description:
Mixes shorthand (“10k”) with full numerals and omits “TON” in some amounts.

Suggestion:
Normalize numerals and include units.

-- _Without the 10k candidate_: TES = 900,000.
-- _With the 10k candidate_: TES = 9 \* 27,000 + 10,000 = 253,000.
+- _Without the 10,000 TON candidate_: TES = 900,000.
+- _With the 10,000 TON candidate_: TES = 9 \* 27,000 + 10,000 = 253,000.
 - **Result**: 10k candidates are excluded.
+ 
+- **Case 2**: 1 candidate stakes 100,000 TON (`max_factor=2.7`), 9 stake 10,000 TON.
+- Effective stake for the 100,000 TON candidate: `10,000 * 2.7 = 27,000`.

[LOW] Inconsistent list punctuation in “Election constraints”

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/4146a898fbdc842a790cf4d0cb0f9ba45b1f4759/ton/system-contracts.mdx?plain=1#L86-L88

Description:
Two items lack terminal periods while adjacent items include them.

Suggestion:
Align list punctuation.

-- `min_stake` ≤ stake ≤ `max_stake`
-- `min_total_stake` ≤ total stake ≤ `max_total_stake`
+- `min_stake` ≤ stake ≤ `max_stake`.
+- `min_total_stake` ≤ total stake ≤ `max_total_stake`.

@Shvandre Shvandre merged commit 8c5e29d into main Sep 26, 2025
3 checks passed
@Shvandre Shvandre deleted the system-contracts branch September 26, 2025 14:49
Copy link

github-actions bot commented Oct 2, 2025

Thanks for the doc updates here. I focused on the changes in ton/system-contracts.mdx and found several style and clarity issues that need fixes.

Findings (11)

High (1)

[HIGH] Partial snippet label and fence format violate rule

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/a00e54298ae477fdc174867eca45aa0421b7a98b/ton/system-contracts.mdx?plain=1#L61-L63

Description:
The code fence includes “not runnable” inside the fence marker instead of labeling the snippet above the block. The style guide requires partial or non-executable snippets to be labeled above the block, and the fence to specify only the language. Keeping the label outside the fence avoids copy/paste errors and keeps tooling consistent.

Suggestion:
Use a label line above the block and a clean language fence.

-```python not runnable
-min(stake[i] * max_factor[j], stake[j])
-```
+Not runnable
+```python
+min(stake[i] * max_factor[j], stake[j])
+```

Medium (8)

Click to expand

[MEDIUM] Incorrect TON term casing (“masterchain”)

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/a00e54298ae477fdc174867eca45aa0421b7a98b/ton/system-contracts.mdx?plain=1#L46-L46

Description:
The term “masterchain” is a TON-specific proper noun that must follow canonical casing: MasterChain. Using a lowercase variant introduces inconsistency with the term bank and harms searchability.

Suggestion:
Correct the casing.

-_Note:_ Only masterchain addresses can apply.
+_Note:_ Only MasterChain addresses can apply.

[MEDIUM] Mid‑sentence capitalization of generic term

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/a00e54298ae477fdc174867eca45aa0421b7a98b/ton/system-contracts.mdx?plain=1#L50-L50

Description:
“Tick and Tock transactions” capitalizes a generic mechanism mid‑sentence. Lowercase and hyphenate the term for consistency.

Suggestion:
Lowercase and hyphenate the term.

-The Elector is a special smart contract triggered by **Tick and Tock transactions** (forced executions at the start and end of each block). It checks whether it’s time to conduct a new election during each block.
+The Elector is a special smart contract triggered by **tick‑tock transactions** (forced executions at the start and end of each block). It checks whether it’s time to conduct a new election during each block.

[MEDIUM] Gerund in H3 heading

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/a00e54298ae477fdc174867eca45aa0421b7a98b/ton/system-contracts.mdx?plain=1#L48-L48

Description:
The H3 heading uses a gerund (“Conducting elections”), which the style guide discourages for task/procedure headings. Imperative or concise noun-phrase headings read cleaner.

Suggestion:
Use a concise noun phrase.

-### Conducting elections
+### Election process

[MEDIUM] Missing canonical links for first mentions of ConfigParams

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/a00e54298ae477fdc174867eca45aa0421b7a98b/ton/system-contracts.mdx?plain=1#L116-L129

Description:
First useful mentions of several configuration parameters (36, 32, 34, 11, 10) lack links to the canonical reference anchors, while other params are linked earlier. Link the first useful mention to the canonical reference.

Suggestion:
Link first useful mentions to tonviewer anchors.

-2. **Config** stores it in `ConfigParam 36` (_next validators_).
+2. **Config** stores it in [**ConfigParam 36**](https://tonviewer.com/config#36) (_next validators_).
@@
-- Moves the old set to `ConfigParam 32` (_previous validators_).
+- Moves the old set to [**ConfigParam 32**](https://tonviewer.com/config#32) (_previous validators_).
@@
-- Promotes `ConfigParam 36` to `ConfigParam 34` (_current validators_).
+- Promotes [**ConfigParam 36**](https://tonviewer.com/config#36) to [**ConfigParam 34**](https://tonviewer.com/config#34) (_current validators_).
@@
-2. **Vote**: Validators (from **ConfigParam 34**) sign approval messages.
+2. **Vote**: Validators (from [**ConfigParam 34**](https://tonviewer.com/config#34)) sign approval messages.
@@
-- **Approved**: After `min_wins` rounds (**ConfigParam 11**) with ≥3/4 weighted votes.
+- **Approved**: After `min_wins` rounds ([**ConfigParam 11**](https://tonviewer.com/config#11)) with ≥3/4 weighted votes.
@@
-- _Critical parameters_ (**ConfigParam 10**) require more rounds.
+- _Critical parameters_ ([**ConfigParam 10**](https://tonviewer.com/config#10)) require more rounds.

[MEDIUM] Use numerals for technical thresholds (“two‑thirds”)

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/a00e54298ae477fdc174867eca45aa0421b7a98b/ton/system-contracts.mdx?plain=1#L101-L101

Description:
Technical thresholds should use numerals/fractions for consistency with other symbolic thresholds on the page.

Suggestion:
Use numerals/fraction.

-Approval requires agreement from over **two-thirds of the total validator weight** (not just a majority of participants).
+Approval requires agreement from over **2/3 of the total validator weight** (not just a majority of participants).

[MEDIUM] Non‑ISO date format for specific date

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/a00e54298ae477fdc174867eca45aa0421b7a98b/ton/system-contracts.mdx?plain=1#L134-L134

Description:
“Nov 22, 2023” uses a non‑ISO date format. Dates must use ISO‑8601 (YYYY‑MM‑DD) to avoid locale ambiguity.

Suggestion:
Use ISO‑8601.

-- **Key retired** on Nov 22, 2023 (**block 34312810**), replaced with zeros.
+- **Key retired** on 2023-11-22 (**block 34312810**), replaced with zeros.

[MEDIUM] Missing TON units and grammar error in Case 1 example

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/a00e54298ae477fdc174867eca45aa0421b7a98b/ton/system-contracts.mdx?plain=1#L71-L75

Description:
Case 1 omits the “TON” unit for the 10,000 amount and TES values, and contains a subject–verb agreement error (“candidate are”). Add units and fix agreement.

Suggestion:
Add “TON” where amounts are shown and fix the verb agreement.

-- **Case 1**: 9 candidates stake 100,000 TON (`max_factor=2.7`), 1 candidate stakes 10,000.
+- **Case 1**: 9 candidates stake 100,000 TON (`max_factor=2.7`), 1 candidate stakes 10,000 TON.
-
-- _Without the 10,000-stake candidate_: TES = 900,000.
-- _With the 10,000-stake candidate_: TES = 9 \* 27,000 + 10,000 = 253,000.
-- **Result**: 10,000-stake candidate are excluded.
+- _Without the 10,000-stake candidate_: TES = 900,000 TON.
+- _With the 10,000-stake candidate_: TES = 9 \* 27,000 TON + 10,000 TON = 253,000 TON.
+- **Result**: The 10,000-stake candidate is excluded.

[MEDIUM] Unclear phrasing and missing TON units in Case 2 example

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/a00e54298ae477fdc174867eca45aa0421b7a98b/ton/system-contracts.mdx?plain=1#L77-L80

Description:
“1 candidate stakes 100,000-stake” is ungrammatical and the example omits TON units for amounts. Clarify the phrasing and add units.

Suggestion:
Clarify the phrasing and add the unit.

-- **Case 2**: 1 candidate stakes 100,000-stake (`max_factor=2.7`), 9 stake 10,000.
- - Effective stake for the 100,000-stake candidate: `10,000 * 2.7 = 27,000`.
- - Excess: `100,000 - 27,000 = 73,000` → sent to `credits`.
+- **Case 2**: 1 candidate stakes 100,000 TON (`max_factor=2.7`); 9 stake 10,000 TON.
+- Effective stake for the 100,000-stake candidate: 27,000 TON.
+- Excess: 73,000 TON → sent to `credits`.

Low (2)

Click to expand

[LOW] Numbered list used for non‑procedural items

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/a00e54298ae477fdc174867eca45aa0421b7a98b/ton/system-contracts.mdx?plain=1#L35-L38

Description:
“Key functions” is an unordered set but uses a numbered list. Numbered lists imply order and are better reserved for procedures.

Suggestion:
Switch to bullets.

-1. **Process validator applications**
-2. **Conduct elections**
-3. **Handle validator misbehavior reports**
-4. **Distribute validation rewards**
+- **Process validator applications**
+- **Conduct elections**
+- **Handle validator misbehavior reports**
+- **Distribute validation rewards**

[LOW] Time‑relative phrasing (“expansion plans”)

Location: https://github.com/tact-lang/mintlify-ton-docs/blob/a00e54298ae477fdc174867eca45aa0421b7a98b/ton/system-contracts.mdx?plain=1#L19-L19

Description:
The clause “with expansion plans (for example, the extra‑currency Minter)” is time‑relative/speculative. The style guide recommends avoiding time‑relative wording to keep documentation timeless.

Suggestion:
Remove the speculative clause.

-In TON, a set of special smart contracts controls consensus parameters for node operation — including TVM, catchain, fees, and chain topology — and how these parameters are stored and updated. Unlike older blockchains that hardcode these parameters, TON enables transparent on‑chain governance. The current governance contracts include the **Elector** and **Config** contracts, with expansion plans (for example, the extra‑currency **Minter**).
+In TON, a set of special smart contracts controls consensus parameters for node operation — including TVM, catchain, fees, and chain topology — and how these parameters are stored and updated. Unlike older blockchains that hardcode these parameters, TON enables transparent on‑chain governance. The current governance contracts include the **Elector** and **Config** contracts.

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.

[System]

1 participant