From 80ba2bd93be0831917b508531dd5880b9629f8f4 Mon Sep 17 00:00:00 2001 From: Sergei Tikhomirov Date: Thu, 3 Oct 2024 10:38:59 +0200 Subject: [PATCH] define period boundaries: start inclusive, end exclusive --- standards/core/rln-contract.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/standards/core/rln-contract.md b/standards/core/rln-contract.md index 3b23e62..4815e9e 100644 --- a/standards/core/rln-contract.md +++ b/standards/core/rln-contract.md @@ -88,6 +88,13 @@ Any existing membership MUST always be in exactly one of the following states: - _ErasedAwaitsWithdrawal_; - _Erased_. +The duration of each state MUST include the start timestamp. +The duration of each state MUST exclude the end timestamp. +For example, if a membership is registered at time `0`, +and the active state duration `A = 5`, +the membership is considered to be _Active_ at timestamps `0`, `1`, `2`, `3`, and `4`. +At timestamp `5`, the membership is considered to be in _GracePeriod_. + ```mermaid graph TD; NonExistent --> |"register"| Active;