Skip to content

Commit

Permalink
doc: emphesizes the exact range of reserved namespaces (#2137)
Browse files Browse the repository at this point in the history
## Overview

Upon reviewing the namespace module, it came to my attention that
namespaces below the [maximum reserved namespace
](https://github.com/celestiaorg/celestia-app/blob/5615205760ac3921506e2c457fc2deb924f8aed5/pkg/namespace/consts.go#L56)are
being treated as reserved (see
[IsReserved](https://github.com/celestiaorg/celestia-app/blob/2b74a9d970618de76f82d385f46f176452c12bb3/pkg/namespace/namespace.go#L133)),
regardless of their current usage. Therefore, this pull request aims to
revise the specifications to accurately reflect this fact. It is
important to note that the list of reserved namespaces extends beyond
what is included in the table and encompasses namespaces below the
maximum reserved namespace.

## Checklist

- [ ] New and updated code has appropriate documentation
- [ ] New and updated code has new and/or updated testing
- [ ] Required CI checks are passing
- [ ] Visual proof for any user facing features like CLI or
documentation updates
- [ ] Linked issues closed with keywords
  • Loading branch information
staheri14 authored Jul 24, 2023
1 parent 17c0f58 commit ffefa9b
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions specs/src/specs/namespace.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ Celestia makes use of the reserved namespaces to properly organize and order tra
Applications MUST NOT use these reserved namespaces for their blob data.

Below is a list of reserved namespaces, along with a brief description of each.
In addition to the items listed in this table, it should be noted that namespaces with values less than `0x00000000000000000000000000000000000000000000000000000000FF` are exclusively reserved for use within the Celestia protocols.
In the table, you will notice that the `PARITY_SHARE_NAMESPACE` and `TAIL_PADDING_NAMESPACE` utilize the namespace version `255`, which differs from the supported user-specified versions.
The reason for employing version `255` for the `PARITY_SHARE_NAMESPACE` is to enable more efficient proof generation within the context of [nmt](https://github.com/celestiaorg/nmt), where it is used in conjunction with the `IgnoreMaxNamespace` feature.
Similarly, the `TAIL_PADDING_NAMESPACE` utilizes the namespace version `255` to ensure that padding shares are always properly ordered and placed at the end of the Celestia data square even if a new namespace version is introduced.
Expand Down

0 comments on commit ffefa9b

Please sign in to comment.