The SDS timestamp is initialized to the current time in milliseconds, which is a 13 digits value (e.g. 1,759,223,090,052). The maximum value for int32 is 2,147,483,647 (10 digits), which is clearly less than the timestamp. Maximum value for uint32 is 4,294,967,295 (10 digits), which does not help either. uint64 is BigInt in JavaScript, so best to be avoided unless strictly necessary as it creates complexity. max uint64 is 18,446,744,073,709,551,615 (20 digits). Using seconds instead of milliseconds would enable usage of uint32 valid until the year 2106. The lamport timestamp is only initialized to current time for a new channel. The only scenario is when a user comes in a channel, and thinks it's new (did not get previous messages), and then starts sending messages. Meaning that there may be an initial timestamp conflict until the logs are consolidated, which is already handled by the protocol.
Vac Request For Comments(RFC)
NOTE: This repo is WIP. We are currently restructuring the RFC process.
This repository contains specifications from the Waku, Nomos, Codex, and Status projects that are part of the IFT portfolio. Vac is an IFT service that will manage the RFC, Request for Comments, process within this repository.
New RFC Process
This repository replaces the previous rfc.vac.dev resource.
Each project will maintain initial specifications in separate repositories,
which may be considered as a raw specification.
All Vac raw specifications and
discussions will live in the Vac subdirectory.
When projects have reached some level of maturity
for a specification living in their repository,
the process of updating the status to draft may begin in this repository.
Specifications will adhere to
1/COSS before obtaining draft status.
Implementations should follow specifications as described, and all contributions will be discussed before the stable status is obtained. The goal of this RFC process will to engage all interseted parities and reach a rough consensus for techcinal specifications.
Contributing
Please see 1/COSS for general guidelines and specification lifecycle.
Feel free to join the Vac discord.
Here's the project board used by core contributors and maintainers: Projects
IFT Projects' Raw Specifications
The repository for each project raw specifications: