Skip to content

Commit

Permalink
retain remaining grace period time on membership extention
Browse files Browse the repository at this point in the history
  • Loading branch information
s-tikhomirov committed Sep 30, 2024
1 parent 090c65c commit 7c29616
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions standards/core/rln-contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Any existing membership MUST always be in exactly one of the following states:
```mermaid
graph TD;
NonExistent --> |"register"| Active;
Active -.-> |"time T passed"| GracePeriod;
Active -.-> |"time A passed"| GracePeriod;
GracePeriod ==> |"extend"| Active;
GracePeriod -.-> |"time G passed"| Expired;
GracePeriod ==> |"erase"| ErasedAwaitsWithdrawal;
Expand Down Expand Up @@ -191,7 +191,9 @@ Extending a membership is subject to the following conditions:
- The extension MUST fail if the membership is in any state other than _GracePeriod_.
- The membership keeper MUST be able to extend their membership.
- Any user other than the membership keeper MUST NOT be able to extend a membership.
- After a successful extension, the membership MUST become _Active_.
- After an extension, the membership MUST become _Active_.
- After an extension, the membership MUST stay _Active_ for time `g + A`, where `g` is the remaining time of the _GracePeriod_ after the extension, and `A` is this membership's active state duration.
- The extended membership MUST retain its original parameters, including active state duration `A` and grace period duration `G`, even if the global default values of such parameters for new memberships have been changed.

### Withdraw the deposit

Expand Down

0 comments on commit 7c29616

Please sign in to comment.