Skip to content

feat(foundations): normalized hash#1881

Draft
memearchivarius wants to merge 3 commits intomainfrom
1877-normalized-hash
Draft

feat(foundations): normalized hash#1881
memearchivarius wants to merge 3 commits intomainfrom
1877-normalized-hash

Conversation

@memearchivarius
Copy link
Collaborator

Closes #1877

This PR adds a new page about the normalized hash

@github-actions

This comment has been minimized.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Thanks for the updates—I've left a couple of suggestions in foundations/messages to better align with the style guide; please apply the inline suggestions.


When an incoming external message is sent to the blockchain, validators share them with each other, and might accidentally (or intentionally) deliver it several times. As it's usually preferred to process a unique incoming external message only once, some measures need to be taken to ensure duplicate messages are not accepted. Some of these techniques can be found in [wallet](/standard/wallets/comparison) contracts.

For reliable off-chain transaction tracking, the ecosystem relies on the [normalized message hash](/foundations/messages/normalized-hash) standard.
Copy link
Contributor

Choose a reason for hiding this comment

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

[HIGH] Banned marketing adjective “reliable” in external-in tracking sentence

The phrase “For reliable off-chain transaction tracking” uses the banned vague adjective “reliable” without specifying measurable conditions. According to the marketing language ban in the style guide (https://github.com/ton-org/docs/blob/main/contribute/style-guide-extended.mdx?plain=1#L168-L180), such subjective, promotional wording (including “reliable”) must not appear in technical documentation. This phrasing adds hype instead of explaining what the tracking does or under what constraints it works. Removing “reliable” keeps the sentence factual while preserving its meaning.

Suggested change
For reliable off-chain transaction tracking, the ecosystem relies on the [normalized message hash](/foundations/messages/normalized-hash) standard.
For off-chain transaction tracking, the ecosystem relies on the [normalized message hash](/foundations/messages/normalized-hash) standard.

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!


import { Aside } from "/snippets/aside.jsx";

The normalized message hash is a consistent and reliable identifier for [external-in](/foundations/messages/external-in) messages. It remains constant regardless of variations in the `src`, `import_fee`, and `init` fields, which can change without affecting the validity of the message. This hash is particularly useful for tracking transactions.
Copy link
Contributor

Choose a reason for hiding this comment

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

[HIGH] Banned marketing adjective “reliable” in normalized hash intro

The sentence describes the normalized message hash as “a consistent and reliable identifier,” which uses the banned vague positive adjective “reliable” without measurable criteria. The style guide explicitly prohibits marketing-style language such as “reliable” in technical content (see https://github.com/ton-org/docs/blob/main/contribute/style-guide-extended.mdx?plain=1#L168-L180). Keeping this wording would introduce promotional tone instead of precise, testable behavior. Removing the adjective keeps the focus on the concrete role of the identifier.

Suggested change
The normalized message hash is a consistent and reliable identifier for [external-in](/foundations/messages/external-in) messages. It remains constant regardless of variations in the `src`, `import_fee`, and `init` fields, which can change without affecting the validity of the message. This hash is particularly useful for tracking transactions.
The normalized message hash is a consistent identifier for [external-in](/foundations/messages/external-in) messages. It remains constant regardless of variations in the `src`, `import_fee`, and `init` fields, which can change without affecting the validity of the message. This hash is particularly useful for tracking transactions.

Please leave a reaction 👍/👎 to this suggestion to improve future reviews for everyone!

@novusnota novusnota changed the title feat: Normalized hash feat(foundations): normalized hash Mar 9, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Mar 9, 2026

To fix the formatting issues:

  1. Install necessary dependencises: npm ci
  2. Then, run this command:
    npm run fmt:some -- foundations/messages/normalized-hash.mdx ecosystem/ton-connect/message-lookup.mdx foundations/messages/external-in.mdx

Alternatively, a maintainer can comment /fmt in this PR to auto-apply fixes in a new commit from the bot.

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.

[Messages > Normalized hash] Create a new page below external-in

2 participants