Skip to content

Commit

Permalink
make spec less strict on overwriting memberships
Browse files Browse the repository at this point in the history
  • Loading branch information
s-tikhomirov committed Sep 30, 2024
1 parent cc1a917 commit 090c65c
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion standards/core/rln-contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,9 +173,11 @@ Membership registration is additionally subject to the following requirements:
- The new membership MAY overwrite one or multiple _Expired_ memberships.
- If `r > R_{free}`:
- if `r > R_{free} + R_{expired}`, registration MUST fail;
- if `r <= R_{free} + R_{expired}`, the new membership MUST be registered by overwriting some _Expired_ memberships.
- if `r <= R_{free} + R_{expired}`, the new membership SHOULD be registered by overwriting some _Expired_ memberships.
- The sender of the registration transaction MAY specify a list of _Expired_ memberships to be overwritten.
- If any of the memberships in the list are not _Expired_, the registration MUST fail.
- If the list is not provided, the contract MAY use any criteria to select _Expired_ memberships to overwrite (see Implementation Suggestions).
- If the list is not provided, the registration MAY fail even if the membership set contains _Expired_ membership that, if erased, would provide sufficient rate limit.
- If a new membership A overwrites an _Expired_ membership B:
- membership B MUST become _ErasedAwaitsWithdrawal_;
- the current total rate limit MUST be decremented by the rate limit of membership B;
Expand Down

0 comments on commit 090c65c

Please sign in to comment.